处理机调度概念进程调度的时机调度方式及其切换与过程以及调度算法评价指标
Posted bfhonor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理机调度概念进程调度的时机调度方式及其切换与过程以及调度算法评价指标相关的知识,希望对你有一定的参考价值。
一、处理机调度
(一)基本概念
- 当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题。
(二)调度的三个层次
1. 高级调度
- 高级调度(作业调度)【简化理解:好几个程序需要启动,到底先启动哪个】。按一定的原则从外存的作业后备队列中挑选一个作业调入内存,并创建进程。每个作业只调入一次,调出一次。作业调入时会建立PCB,调出时才撤销PCB。
2. 低级调度
- 低级调度(进程调度/处理机调度)—— 按照某种策略从就绪队列中选取一个进程,将处理机分配给它。
- 进程调度是操作系统中 最基本的一种调度 ,在一般的操作系统中都必须配置进程调度。
- 进程调度的 频率很高 ,一般几十毫秒一次。
3. 中级调度
- 内存不够时,可将某些进程的数据调出外存。等内存空闲或者进程需要运行时再重新调入内存。
- 暂时调到外存等待的进程状态为 挂起状态 。被挂起的进程PCB会被组织成 挂起队列
- 中级调度(内存调度) ——按照某种策略决定将哪个处于挂起状态的进程重新调入内存。
- 一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度更高。
(三)进程的挂起态与七状态模型
- 暂时调到外存等待的进程状态为挂起状态(挂起态,suspend)
- 挂起态又可以进一步细分为 就绪挂起、阻塞挂起 两种状态
- 五状态模型 →七状态模型
(四)三层调度的联系、对比
二、进程调度的时机
- 进程调度 (低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。
- 临界资源:一个时间段内只允许一个进程使用的资源。各进程需要 互斥地 访问临界资源。
- 临界区:访问临界资源的那段代码。
- 内核程序临界区一般是用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的PCB组成)
- 有的系统中,只允许进程主动放弃处理机器。
- 有的系统中,进程可以主动放弃处理机,当有更紧急的任务需要处理时,也会强行剥夺处理机(被动放弃)
三、进程调度的调度方式
- 非剥夺调度方式 ,又称 非抢占方式 。即,只允许进程主动放弃处理机。在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或主动要求进入阻塞态。
【实现简单,系统开销小但是无法及时处理紧急任务,适合于早期的批处理系统】 - 剥夺调度方式 ,又称 抢占方式 。当一个进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给更重要紧迫的那个进程。
【可以优先处理更紧急的进程,也可实现让各进程按时间片轮流执行的功能(通过时钟中断)。适合于分时操作系统、实时操作系统】
四、进程调度的切换与过程
- “狭义的进程调度”与“进程切换”的区别:
①、狭义的进程调度 指的是从就绪队列中 选中一个要运行的进程 。(这个进程可以是刚刚被暂停执行的进程,也可能是 另一个进程 ,后一种情况就需要 进程切换 )
②、进程切换是指一个进程让出处理机,由另一个进程占用处理机的过程。 - 广义的进程调度 包含了选择一个进程和进程切换两个步骤。
- 进程切换的过程主要完成了:
①、对原来运行进程各种数据的保存
②、对新的进程各种数据的恢复(如:程序计数器、程序状态字、各种数据寄存器等处理机现场信息,这些信息一般保存在进程控制块) - 注意:进程切换是有代价的 ,因此如果 过于频繁的 进行进程 调度、切换 ,必然会使整个 系统的效率降低 ,使系统大部分时间都花在了进程切换上,而真正用于执行进程的时间减少。
五、调度算法的评价指标
(一)CPU利用率
- 由于早期的CPU造价极其昂贵,因此人们会希望让CPU尽可能多地工作
- CPU利用率:指CPU “忙碌”的时间占总时间的比例。
(二)系统吞吐量
- 对于计算机来说,希望能用尽可能少的时间处理完尽可能多的作业
(三)周转时间
- 对于计算机的用户来说,他很关心自己的作业从提交到完成花了多少时间。
- 周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
- 它包括四个部分:作业在外存后备队列上等待作业调度(高级调度)的时间、进程在就绪队列上等待进程调度(低级调度)的时间、进程在CPU上执行的时间、进程等待I/O操作完成的时间。
- 后三项在一个作业的整个处理过程中,可能发生多次。
(四)等待时间
- 计算机的用户希望自己的作业尽可能少的等待处理机
- 等待时间 ,指进程/作业 处于等待处理机状态时间之和 ,等待时间越长,用户满意度越低。
- 对于进程来说,等待时间就是指进程建立后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
- 对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在外存后备队列中等待的时间。
- 一个作业总共需要被CPU服务多久,被I/O设备服务多久一般是确定不变的,因此调度算法其实只会影响作业/进程的等待时间。当然,与前面指标类似,也有“平均等待时间”来评价整体性能。
(五)响应时间
- 对于计算机用户来说,会希望自己的提交的请求(比如通过键盘输入了一个调试命令)尽早地开始被系统服务、回应。
- 响应时间,指从用户提交请求到首次产生响应所用的时间。
以上是关于处理机调度概念进程调度的时机调度方式及其切换与过程以及调度算法评价指标的主要内容,如果未能解决你的问题,请参考以下文章
进程管理-第二节23:进程调度的时机切换与过程方式调度器和闲逛进程
操作系统 王道考研2019 第二章:进程管理 -- 进程调度的时机(临界资源临界区)切换与过程调度方式调度算法的评价指标(CPU利用率,系统吞吐量周转时间等待时间响应时间)