操作系统的进程调度

时间:2024-10-15 03:34:58

1、进程调度的时机2、进程调度的切换与过程3、进程调度的方式

进程调度的时机

1、进程调度(低级调度)就是按照某种算法从就绪队列中选择一个进程为其分配处理机。

2、需要进行进程调度与切换的情况:1、当前运行的进程主动放弃处理机(例如进程正常终止、进程运行过程中发生异常而终止、进程主动请求阻塞)。2、当前运行的进程被动放弃处理机(例如分给进程的时间片用完、有更紧急的事需要处理、有更高优先级的进程进入就绪队列)。

3、不能进行进程调度与切换的情况:1、在处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换。2、进程在操作系统内核程又挨喁钒序临界区中。3、在原子操作过程中(原语)。原子操作不可中断,要一气呵成(例如修改进程PCB中的信息,并把PCB放到相应的队列这个过程不能中断,否则有可能导致信息出错)。

4、临界资源:一个时间段内置允许一个进程使用的资源。各进程需要互斥的访问临界资源。临界区:访问临界资源的那段代码。

5、进程在操作系统内核程序临黢茕茚痔界区中不能进行调度与切换:1、内核程序临界区一般是用来访问某种内核数据结构,比如今年初的就绪队列(由各个就绪进程的PCB组成)。2、如果一个进程访问了就绪队列,那么就绪队列就会上锁,不会被其他进程访问。当它还没有退出临界区(就绪队列还没解锁)就进行进程调度,并且进程调度相关的程序也需要访问就绪队列的话就无法顺利进行进程调度,因为此时的就绪队列被锁住了,无法访问。3、由此可见,内核程序临界区访问的临界资源如果不尽快释放的话,极有可能影响到操作系统内核的其他管理工作。因此在访问内核程序临界区期间不能进行进程的调度与切换。

6、进程在普通临界区中可以进行调度与切换:1、如果进程在访问打印机,在打印机打印完成之前,进程一直处于临界区内,临界资源不会解锁。但打印机又是慢速设备,此时如果一直不允许进程调度的话就会导致潮贾篡绐CPU一直空闲。2、由此可见,普通临界区访问的临界资源不会直接影响操作系统内核的管理工作,因此为了增加内核的并发度和CPU的使用率,在访问普通临界区时可以进行调度与切换。

进程调度的方式

1、进程调度的方式分为非剥夺调度方式(非抢占方式)和剥夺调度方式(抢占式方式)。

2、非剥夺调度方式只允许进程主动放弃处理机。在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。这种方式实现简单,系统开销小,但是无法及时处理紧急任务,适合于早期的批处理系统。

3、剥夺调度方式,当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更紧迫的那个进程。这种方式可以优先处理更紧急的进程,也可实现让各进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统,实时操作系统。

进程的切换与过程

1、“狭义的进程调度”与“进程切换”的区别:1、狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程,也可能是另一个进程,后一种情况就需要进程切换)2、进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。3、广义的进程调度包含了选择一个进程和进程切换两个步骤。

2、进程切换的过程主要完成了:1、对原来运行进程各种数据的保存。2、对新的进程各种数据的恢复(如程序计数器、程序状态字、各种数据寄存器等处理机现场信息,这些信息一般保存在进程控制块)。

© 手抄报圈