操作系统 低中高级调度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 调度类型
高级调度——作业调度
批处理系统中使用,周期较长。
低级调度——进程调度
是最基本的一种调度,在三种类型的OS中都必须配置。进程调度可采用非抢占或抢占两种方式。其中抢占方式允许调度程序根据某种原则,例时间片原则、优先权原则、短进程优先原则等去停止某个正在执行的进程,将已分配给该进程的处理机,重新分配给另一进程。进程调度的运行频率最高,故算法不能太复杂。
中级调度——引入中级调度的目的是为了提高内存的利用率和系统吞吐量。中级调度实际上是存储器管理中的对换功能。
2. 调度队列模型
3. 选择调度方式和算法的准则
周转时间(批处理)
面向用户响应时间(分时)
的准则截止时间的保证(实时)
优先权准则
面向系统系统吞吐量高(批处理)
的准则处理机利用率好
各类资源的平衡利用
周转时间——指作业提交系统开始,到作业完成为止的时间间隔。
带权周转时间——作业的周转时间与系统为它提供的实际服务时间之
比。W=T/TS
响应时间——从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间。
截止时间——某任务必须开始执行的最迟时间,或必须完成的最迟时间。
吞吐量——单位时间内所完成的作业数。
4. 调度算法(作业调度、进程调度)
先来先服务调度算法(FCFS)
按进入后备(或就绪)队列的先后选择目标作业(或进程)。
有利于长作业(进程),不利于短作业(进程)。
最短作业优先调度算法SJ(P)F
从后备(或就绪)队列中选择估计运行时间最短的作业(或进程)tn+1=a tn+(1-a) tn tn为实际值,tn为预测值
SJF有效地降低作业的平均等待时间,提高了系统的吞吐量。
对长作业(或进程)不利,可能死等,且未考虑作业的紧迫程度。时间片轮转调度算法(进程调度)
系统将所有的就绪进程按先来先服务原则,排成一个队列,每次调度时把CPU分配给队首进程,令其执行一个时间片。
就绪队列中所有进程,在一个给定的时间内,均能获得一个时间片的处理机执行时间。T=nq
优先权调度算法
适用于作业调度和进程调度。
非抢占式、抢占式优先权调度算法
优先权类型:静态优先权、动态优先权
高响应比优先调度算法(作业调度)
响应比RP= 响应时间/要求服务时间=(等待时间+要求服务时间)/要求服务时间= 1+等待时间/要求服务时间
同时到达的作业(等待时间相同),要求服务时间越短(短作业),响应比越高,有利于短作业。
要求服务时间相同的作业,等待时间越长,响应比越高,相当于先来先服务。
长作业在等待足够长时间后,响应比上升,也可被调度,避免长作业的死等。
每次调度需计算响应比,增加系统的开销。
多级队列调度
根据作业的性质或类型的不同,将就绪进程队列分成若干个子队列,各个作业固定分属于一个队列。每个队列采用各自的调度算法。
多级反馈队列调度算法
UNIX系统中的进程调度算法。
处理方法:
设置多个就绪队列,每个队列赋予不同的优先权(S1>S2……>Sn ),且各队列中进程执行的时间片的大小各不相同(q,2q……nq)。
新进程进入内存,首先放在S1的末尾,按FCFS排队调度,执行q 时间片,若未完成,该进程转入S2,依次类推。
仅当Si空闲,才会调度Si+1中进程。能较好地满足各种类型用户的需要。