2.2调度的基本概念

本文介绍了操作系统的调度算法,包括高级调度、中级调度和低级调度。重点讲解了非抢占式和抢占式调度,如FCFS、SJF、高响应比优先、时间片轮转和优先级调度算法。这些算法在批处理和交互式系统中的应用和优缺点进行了讨论,特别是对于响应时间和公平性的考虑。
摘要由CSDN通过智能技术生成

高级调度:作业调度,从外存里处于后备队列中的作业中选择一个调入内存。

调出只有在作业完成后才会调出,因此,高级调度主要指的就是调入问题。

中级调度:内存调度  就是挂起态相关的调度。决定将哪一个挂起态的进程重新调入内存。发生频率比高级调度高。

低级调度:进程调度。

挂起态:将暂时不能运行的进程调出内存,放在外存中等待,但PCB仍留在内存中。可以提高内存利用率和系统吞吐量。该进程的PCB会被放入挂起队列中。

挂起状态分为就绪挂起和阻塞挂起。因为内存不够用,所以需要挂起。

抢占式调度:

非抢占式调度:只允许进程主动放弃处理机,即便有更高优先级的进程,也不会调度它。

调度算法

以下三种算法,并不关心响应时间,也不区分任务紧急程度,交互性很糟糕,一般使用在批处理系统中。

先来先服务(作业/进程调度皆可)用于作业调度时,考虑哪个作业先到达后备队列,进程调度时,考虑哪个进程先到达就绪队列。非抢占式算法。

对长作业有例,对短作业不利。   但公平、算法实现简单。 

不会导致饥饿。

短作业优先:追求更少的平均等待时间,最少的平均周转时间,最少的平均带权周转时间。题目中未提到,则默认为非抢占式的。

最短剩余时间优先算法的以上指标更短。(也就是抢占式短作业优先算法)

若所有进程几乎同时到达,则采用短作业有限SJF调度算法的平均等待时间、周转时间是最少的。

可能会导致饥饿。对于短作业有利,对于长作业不利。

高响应比优先:又考虑等待时间,又考虑作业运行时间。

在每次调度时,先计算各个作业的响应比,高的优先服务。

响应比=(等待时间+要求服务时间)/要求服务时间 >=1

非抢占式算法。

综合了上面两种,等待时间相同时,作业时间短的优先。作业时间相同,等待时间长的优先。

不会导致饥饿。

适用于交互性系统的调度算法

这里不再计算平均周转时间等,因为更关注用户响应时间。

时间片轮转调度算法(用于进程调度):公平、轮流的为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。

按照进程到达就绪队列的顺序,轮流让各进程执行一个时间片,如果未在一个时间片内执行完毕,则将进程重新放到就绪队列队尾重新排队。

是抢占式算法,由时钟装置发出时钟中断来通知CPU时间片已到。

若时间片大小设置太大,则会退化为先来先服务算法。设置得太小,进程切换太过频繁,系统消耗很大。一般来说,切换进程开销占比不超过百分之一时,时间片大小设置合理。

不会导致饥饿。 

缺点:不会区分任务的紧急程度。系统有一定开销。

优先级调度算法(作业/进程/IO调度皆可):每个作业/进程有一定优先级。

抢占/非抢占版本都有。抢占式,在就绪队列发生变化时,需要检查是否有优先级更高的进程。

多级反馈调度算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值