操作系统---CPU调度

本文探讨了操作系统中CPU调度的重要任务,分析了先到先服务(FCFS)、最短作业优先(SJF)、优先级调度、轮转调度(RR)等算法。FCFS简单但可能导致长进程等待;SJF提供最短平均等待时间但难以实现;RR适用于分时系统,时间片选择是关键。多级队列调度和多处理器调度,如非对称和对称多处理,引入了处理器亲和性和负载平衡的概念。现代操作系统如Linux、Solaris和Windows XP支持线程调度,采用抢占式优先级算法。评估调度算法通常依赖于分析、模拟和实际系统性能测试。
摘要由CSDN通过智能技术生成

CPU调度的任务是从就绪队列中选择一个等待进程,并为其分配CPU。CPU由调度程序分配给所选中的进程。

 

先到先服务(FCFS)调度利用FIFO队列实现,是最简单的调度算法。会让短进程等待非常长的进程,平均等待时间较长。

 

最短作业优先(SJF)调度可证明是最佳的,它提供了最短平均等待时间。实现SJF调度比较困难,因为预测下一个CPU区间的长度有困难。

SJF算法通常用优先级调度算法(将CPU简单地分配给具有最高优先级的进程)的特例。

优先级和SJF调度会产生饥饿(Starvation)/无穷阻塞(indefiniteblocking)(低优先级进程无穷等待CPU)---解决办法是老化技术(aging):逐渐增加在系统中等待很长时间的进程的优先级。

 

轮转调度算法(RR)对于分时系统更为合适。RR调度让就绪队列的第一个进程使用CPU的q个时间单元,这里q是时间片。在q时间单元之后,如果该进程还没有释放CPU,那么它被抢占并放到就绪队列的尾部。该算法的主要问题是选择时间片。如果时间片太大,那么RR调度就成了FCFS调度;如果时间片太小,那么因为上下文切换而引起的调度开销就过大。

 

FCFS算法是非抢占的,而RR算法是抢占的。SJF和优先级算法可以是抢占的,也可以是非抢占的。

 

多级队列调度算法允许多个不同算法用于各种类型的进程。最为常用的模型包括使用RR调度的前台交互队列,以及使用FCFS调度的后台批处理队列。多级反馈队列调度算法允许进程在队列之间迁移。

 

许多当前的计算机系统支持多处理器,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值