处理机调度:
定义:确定某种规则来决定处理这些任务的顺序。
三层调度的联系和对比:
七状态模型:
进程调度:
进程调度:就是按照某种算法从就绪队列中选择一个进程为其分配处理机
非剥夺调度方式:实现简单,系统开销小但是五法处理紧急任务,只适合早期批处理操作系统。
剥夺调度方式:可以优先处理更紧急的进程,也可以实现让各进程按照时间片轮流执行功能。适合于分时操作系统、分时操作系统。
“狭义的进程调度”与“进程切换”的区别:
狭义的进程调度指的是从就绪队列中选中一个要运行的进程。(这个进程可以是刚刚被暂停执行的进程, 也可能是另一个进程,后一种情况就需要进程切换)
进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。 广义的进程调度包含了选择一个进程和进程切换两个步骤。
进程切换的过程主要完成了:
- 对原来运行进程各种数据的保存
- 对新的进程各种数据的恢复
调度算法的评价标准
重点:调度算法
先来先服务算法:
短作业优先:
高响应比优先:
响应比怎么计算:
响应比=(等待时间+要求服务时间)/要求服务时间
进程同步和互斥
进程同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。
进程互斥:两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误。
进程互斥的 软件实现方法
在进入区设置并检查一些标志 来标明是否有进程在临界区中,若已有进程在临界区,则在进入区通过循环检查进行等待,进程离开临界区后则在退出区修改标志。
入区通过循环检查进行等待,进程离开临界区后则在退出区修改标志。
1.单标志法
2.双标志先检查法
3.双标志后检查法
4.Peterson算法