操作系统 —— 调度算法

本文详细介绍了各种调度算法,如FCFS、SPF、HRRN、RR和多反馈队列,并通过实例计算了不同算法下进程的完成时间、周转时间、等待时间和带权周转时间,展示了它们的优缺点和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       (一)如何学习各种调度算法:

1.算法思想

2.该调度算法适用于作业调度还是进程调度

3.抢占式还是非抢占式

4.优点和缺点

5.是否会导致饥饿(某进程/作业长期得不到服务)

(例题)

 假设一个系统中有5个进程,它们达到时间和服务时间如图所示,忽略I/O及其他开销时间,若分别按先来先服务(FCFS)、非抢占式及抢占式短进程优先(SPF)、高响应比优先(HRRN)、时间片轮转(RR,时间片大小为1)、多反馈队列调度算法(FB,第i及队列的时间片=2i-1)进行CPU调度,请给出各进程的完成时间、周转时间、等待时间、带权周转时间、平均周转时间和平均带权周转时间。

进程

到达时间

服务时间

A

0

3

B

C

4  

4

D

5

E

8

2

FCFS:先到先得; 

各进程的等待时间为: A:0  B:1  C:6  D:8  E:11 

SPF

各进程的等待时间为: A:0    B:1   C:8   D:10    E:2

非抢占:完成一个比对一个,谁小谁来。抢占:一有情况马上对比,谁小谁来。

周转时间-服务时间=等待时间 

各进程的等待时间为: A:0   B:7   C:0   D:9   E:0

HRRN 

响应比

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

 RR

RR:系统将所有就绪进程按到达时间的先后次序排成一个队列,进程调度程序总是选择就绪队列中第一个进程执行,即先来先服务的原则,但仅能运行一个时间片。在使用完一个时间片后,即使进程并未完成其运行,它也必须释放出(被剥夺)处理机给下一个就绪的进程,而被剥夺的进程返回到就绪队列的末尾重新排队,等候再次运行。

FB

原理:多个就绪队列,第一队列优先级最高;赋予各个队列中进程执行时间片的大小不一样,优先级越高的队列中,多个进程的运行时间片越小;新进程进入内存后,按FCFS原则排队等待调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘 关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值