3.进程调度的时机、切换与过程、方式
(1)进程调度(低级调度)的时机:
什么时候需要进程调度?
主动放弃:
进程正常终止。
运行过程中发生异常而终止。
主动阻塞(如等待I/O)。
被动放弃:
分给进程的时间片用完。
有更紧急的事情需要处理(如I/O中断)。
有更高优先级的进程进入就绪队列)。
什么时候不能进行进程调度?
在处理中断的过程中。
进程在操作系统内核程序临界区中。
临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。
临界区:访问临界资源的那段代码。
内核程序临界区:用来访问某种内核数据结构的,比如进程的就绪队列。(由各就绪进程的PCB组成)
进程处于临界区时不能进行处理机调度。这种说法是错误的。
原子操作过程中(原语)。
(2)切换与过程:
狭义的进程调度和切换的区别:
侠义的进程调度:从就绪队列中选中一个要运行的进程。