进程状态和调度算法

进程的状态有五种:

创建态 ===》就绪态 《==》运行态

^          //

||        \/

阻塞态

1)就绪——执行:对就绪状态的进程,当进程调度程序按一种选定的策略从中选中一个就绪进程,为之分配了处理机后,该进程便由就绪状态变为执行状态;

2)执行——阻塞:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如进程提出输入/输出请求而变成等待外部设备传输信息的状态,进程申请资源(主存空间或外部设备)得不到满足时变成等待资源状态,进程运行中出现了故障(程序出错或主存储器读写错等)变成等待干预状态等等;

3)阻塞——就绪:处于阻塞状态的进程,在其等待的事件已经发生,如输入/输出完成,资源得到满足或错误处理完毕时,处于等待状态的进程并不马上转入执行状态,而是先转入就绪状态,然后再由系统进程调度程序在适当的时候将该进程转为执行状态;

4)执行——就绪:正在执行的进程,因时间片用完而被暂停执行,或在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行而被迫让出处理机时,该进程便由执行状态转变为就绪状态。

进程的调度算法:

FCFS: 先来先服务,也可以称为先进先出

轮转: 以一个周期性间隔产生时钟中断,此时当前正在运行的进程被置于就绪队列,基于FCFS选择下一个就绪进程             运行。

SPN:最短进程优先,下一次选择所需处理时间最短的进程

SRT:最短剩余时间优先,总是选择预期剩余时间最短的进程

HRRN:最高响应比优先,R=(w+s)/s,其中R表示响应比,w表示已经等待的时间,s表示期待服务的时间

反馈:进程第一次进入系统是放置于RQ0,第一次被强占并返回就绪态时,放入RQ1,以后每次被强占就下降一级。如果进程处于最低等级,则不再降级,反复返回到该队列,直到结束。

常见面试问题:

1. 进程的有哪几种状态,状态转换图,及导致转换的事件。

2. 进程与线程的区别。

3. 进程同步的几种方式。

4. 线程同步几种方式。

5. 线程的实现方式.。

6. 用户态和核心态的区别。

7. 用户栈和内核栈的区别。

8. 内存池、进程池、线程池。

9. 死锁的概念,导致死锁的原因.

10. 导致死锁的四个必要条件。

11. 处理死锁的四个方式。

12. 预防死锁的方法、避免死锁的方法。

13. 进程调度算法。

14. Windows内存管理的方式(块式、页式、段式、段页式).

15. 内存连续分配方式采用的几种算法及各自优劣。

16. 动态链接及静态链接.

17. 基本分页、请求分页储存管理方式。

18. 基本分段、请求分段储存管理方式。

19. 分段分页方式的比较各自优缺点。

20. 几种页面置换算法,会算所需换页数。

21. 虚拟内存的定义及实现方式。

22. 操作系统的四个特性。

时间: 2024-11-10 21:26:35

进程状态和调度算法的相关文章

操作系统的几种进程调度算法

  进程状态: 1.等待态:等待某个事件的完成: 2.就绪态:等待系统分配处理器以便运行: 3.运行态:占有处理器正在运行. 运行态→等待态 往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的. 等待态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行. 运行态→就绪态 不是由于自身原因,而是由外界原因使运行状态的进程让出处理器,这时候就变成就绪态.例如时间片用完,或有更高优先级的进程来抢占处理器等. 就绪态→运行态 系统按某种策略选中就绪队列中的一个进程占用处理器,此时就变成

Linux 常见的进程调度算法

1.在介绍进程调度之前,先对进程的状态的概念应该有所了解,下面是关于进程状态的一些基本概念:进程的状态分为三种,分别为: 1).运行态:该状态表明进程在实际占用CPU 2).就绪态: 该状态下进程可以运行,但因为其他进程正在运行而暂时停止 3).阻塞态: 该状态下进程不能运行,除非某种外部事件的发送 运行态→等待态 往往是由于等待外设,等待主存等资源分配或等待人工干预而引起的. 等待态→就绪态 则是等待的条件已满足,只需分配到处理器后就能运行. 运行态→就绪态 不是由于自身原因,而是由外界原因使

进程状态转换

————————————————————————————————————————— 进程的状态转换图 ————————————————————————————————————————— 1.就绪–>执行 2.执行–>就绪 3.执行–>等待 4.等待–>就绪 一.进程的三种基本状态 进程在运行中不断地改变其运行状态.通常,一个运行进程必须具有以下三种基本状态. 就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态.

linux 常见进程状态的调度及算法

一.进程的状态: 1.操作系统中: 进程是一个动态的实体,所以他是有生命的.从创建到消亡,是一个进程的整个生命周期.在这个周期中,进程可能会经历各种不同的状态.一般来说,所有进程都要经历以下的3个状态: (1)就绪态.指进程已经获得所有所需的其他资源,正在申请处理处理器资源,准备开始执行.这种情况下,称进程处于就绪态. (2)阻塞态.指进程因为需要等待所需资源而放弃处理器,或者进程本不拥有处理器,且其他资源也没有满足,从而即使得到处理器也不能开始运行.这种情况下,进程处于阻塞态.阻塞状态也称休眠

进程资源和进程状态 TASK_RUNNING TASK_INTERRUPTIBLE TASK_UNINTERRUPTIBLE

摘要:本文主要介绍进程资源和进程状态.进程资源由两部分组成:内核空间进程资源以及用户空间进程资源.进程状态,就绪/运行状态.等待状态(可以被中断打断).等待状态(不可以被中断打断).停止状态和僵死状态. 1.进程资源 进程是Linux系统下资源管理的基本单位,每个进程都有自己的独立的运行空间.为了更好的管理Linux所访问的资源,系统引入了进程控制(PCB)的概念,PCB结构体. 进程资源由两部分组成:内核空间进程资源以及用户空间进程资源. 内核空间进程资源:指的就是PCB相关信息.包括进程控制

操作系统实验二(调度算法模拟-先进先出-时间片轮转法-优先服务调度算法)

实验二 进程调度 一.     实验目的 1.       理解进程运行的并发性. 2.       理解处理器的三级调度. 3.       掌握先来先服务的进程调度算法. 4.       掌握短进程优先的进程调度算法. 5.       掌握时间片轮转的进程调度算法. 二.     实验设备 1.     安装windows或者linux操作系统的PC机 2.     C程序编译环境 三.     实验内容 用c语言编程模拟实现至少一个操作系统的常见进程调度算法.常见的进程调度算法有先来先

调度算法--先来先服务

在OS中调度的实质是一种资源的分配,因而调度算法是指,根据系统的资源分配策略所规定的资源分配算法,对于不同的系统和系统目标,通常采用不同的作业调度.如,在批处理系统中,为了照顾为数众多的短作业,应采用短作业优先的调度算法,又如在分时系统中,为了保证系统合理的响应时间,应采用轮转法进行调度.目前存在的调度算法中,有的算法用于作业调度,有的算法用于进程调度. 先来先服务(FCFS)是一种最简单的调度算法,该算法即可用于作业调度,也可用于进程调度. FCFS算法比较有利于长作业(进程),而不利于短作业

Linux内核(2.6)进程调度算法

1.1      进程状态 在Sched.h(include\linux)中定义了进程的状态. /* *Task state bitmask. NOTE! These bits are also *encoded in fs/proc/array.c: get_task_state(). * * Wehave two separate sets of flags: task->state * isabout runnability, while task->exit_state are *ab

时间片轮转算法和优先级调度算法模拟实现

实验三时间片轮转算法和优先级调度算法模拟实现 一.  实验任务 1. 设计进程控制块PCB的结构,通常应包括如下信息: 进程名.进程优先数(或轮转时间片数).进程已占用的CPU时间.进程到完成还需要的时间.进程的状态.当前队列指针等. 2.编写两种调度算法程序: 优先级调度算法 时间片轮转调度算法 3. 按要求输出结果. 二.实验目的 1. 加深理解有关进程控制块.进程队列等概念. 2. 体会和了解优先级调度算法和时间片轮转算法的具体实施办法. 三.实验环境 1. 一台运行Windows 7操作