操作系统之进程管理:5、处理机调度
5、处理机调度
处理机调度
思维导图
什么是调度?
当有一堆任务要进行处理时,由于资源有限,这些任务没法同事处理,这就需要确定某种规则来决定处理这些任务的顺序,这就是调度所要研究的问题。
什么是作业?
作业:一个具体的任务
用户向系统提交一个作业 = 用户让操作系统启动一个程序
作业执行后才会创建进程
调度的方式:
高级调度(作业调度)
中级调度(内存调度)
低级调度
七状态模型
1、当创建进程后,由于内存不足无法到达就绪态,此时创建的进程就会进入就绪挂起状态
2、处于阻塞态的进程,由于其他优先级高的进程需要使用内存而此时内存不走,就会将此时在等待的进程调出内存,进入阻塞挂起
3、处于阻塞挂起的进程,在等待事件出现后,可以直接进入就绪挂起态
4、处于运行态的进程,当时间片到时且内存不足,直接进入就绪挂起态
对比
进程调度(低级调度)
思维导图
什么时候需要进程调度?
什么时候不能进程调度?
解释:操作系统内核程序临界区
例如:
当一个处于临界区的进程要访问普通资源(打印机、I/o设备)时,会将这些资源上锁,而进程又会等待资源响应完成,但是我们知道,无论是I/O设备还是打印机都是慢速设备,在进程等待资源响应完成这段时间内,CPU将处于等待状态,CPU的利用率很低,所以,此时可以进行进程调度,让其他的进程先使用CPU,这样CPU的利用率就会很高。
当一个处于内核临界区的进程要访问内核资源时(例如要访问就绪队列时),就需要将内核资源上锁,进程未退出内核程序临界区,其他的进程就无法访问该内核资源,若不尽快释放的话就有可能影响系统内核的其他管理(例如进程切换),所以,进程在操作系统内核程序临界区不能进行调度和切换