操作系统之进程管理:5、处理机调度

处理机调度

思维导图

操作系统之进程管理:5、处理机调度

什么是调度?

当有一堆任务要进行处理时,由于资源有限,这些任务没法同事处理,这就需要确定某种规则决定处理这些任务的顺序,这就是调度所要研究的问题。

什么是作业?

作业:一个具体的任务
用户向系统提交一个作业 = 用户让操作系统启动一个程序
作业执行后才会创建进程

调度的方式:

高级调度(作业调度)

操作系统之进程管理:5、处理机调度

中级调度(内存调度)

操作系统之进程管理:5、处理机调度

低级调度

操作系统之进程管理:5、处理机调度

七状态模型

操作系统之进程管理:5、处理机调度

1、当创建进程后,由于内存不足无法到达就绪态,此时创建的进程就会进入就绪挂起状态
2、处于阻塞态的进程,由于其他优先级高的进程需要使用内存而此时内存不走,就会将此时在等待的进程调出内存,进入阻塞挂起
3、处于阻塞挂起的进程,在等待事件出现后,可以直接进入就绪挂起
4、处于运行态的进程,当时间片到时且内存不足,直接进入就绪挂起态

对比

操作系统之进程管理:5、处理机调度

进程调度(低级调度)

思维导图

操作系统之进程管理:5、处理机调度

什么时候需要进程调度?

操作系统之进程管理:5、处理机调度

什么时候不能进程调度?

操作系统之进程管理:5、处理机调度

解释:操作系统内核程序临界区
操作系统之进程管理:5、处理机调度
例如:
当一个处于临界区的进程要访问普通资源(打印机、I/o设备)时,会将这些资源上锁,而进程又会等待资源响应完成,但是我们知道,无论是I/O设备还是打印机都是慢速设备,在进程等待资源响应完成这段时间内,CPU将处于等待状态,CPU的利用率很低,所以,此时可以进行进程调度,让其他的进程先使用CPU,这样CPU的利用率就会很高。
当一个处于内核临界区的进程要访问内核资源时(例如要访问就绪队列时),就需要将内核资源上锁进程未退出内核程序临界区,其他的进程就无法访问该内核资源,若不尽快释放的话就有可能影响系统内核的其他管理(例如进程切换),所以,进程在操作系统内核程序临界区不能进行调度和切换

什么系统可以主动放弃,什么系统可以被动放弃?

操作系统之进程管理:5、处理机调度

进程切换做了什么事?

操作系统之进程管理:5、处理机调度

调度算法的评价指标

思维导图

操作系统之进程管理:5、处理机调度

CPU利用率

操作系统之进程管理:5、处理机调度

系统吞吐量

操作系统之进程管理:5、处理机调度

周转时间

操作系统之进程管理:5、处理机调度
操作系统之进程管理:5、处理机调度

等待时间

操作系统之进程管理:5、处理机调度

响应时间

操作系统之进程管理:5、处理机调度