849 进程调度

进程调度

进程调度的基本概念

概念:
合理的对进程进行处理机分配
调度的层次
作业调度(高级调度):从辅存中选择作业送入内存,每个作业调入一次,调出一次
内存调度(中级调度):提高内存的利用率和系统吞吐量,将暂时不能云修改的进程调出至外存,使其进入挂起态,或者将已经具备运行条件的进程调入内存,修改其状态为就绪态
进程调度(低级调度):按照某种方法或者策略从就绪队列中选取一个进程,将处理机分配给他(调度频率最高)

进程调度的时机、切换与过程

不能切换的情况
1)处理中断过程中
2)进程在操作系统内核程序临界区的时候
3)其他需要完全屏蔽中断的院子操作过程
可以切换的情况
1)发生引起调度条件且当前进程无法继续运行
2)中断处理结束或者自陷处理结束
进程调度方式
剥夺调度方式:如果有更高优先级的进程请求处理机,暂停正在执行的程序将处理机分配给更高级的进程,可以提高系统吞吐率和响应效率
非剥夺调度方式:如果系统想给处理机分配一个更高优先级的进程,必须等待当前占用处理机的进程释放处理机。(实现简单,开销小适合大多数批处理操作系统。不适用于分时系统和大多数实时操作系统)

调度算法评估

调度的基本准则
1.CPU利用率
尽可能保持CPU处于忙碌状态
2.系统吞吐量
单位时间内CPU完成作业的数量,调度算法和方式会对吞吐量造成较大的影响
3.周转时间:
周转时间 = 作业完成时间 - 作业提交时间
平均周转时间 = 总周转时间 / N个作业
带权周转时间 = 作业周转时间 / 作业运行时间
平均带权周转时间 = 总代全周转时间 / N个作业
4.等待时间
作业等待处理机的时间,衡量一个算法优劣,只需要简单的考察等待时间
5.响应时间:从作业提交请求到系统首次产生响应所用的时间

进程调度算法

先来先服务算法 FCFS
*优点:*算法简单,对长作业有利,有利于CPU繁忙行作业(计算型)
缺点:效率低,不利于短作业,不利于IO繁忙型作业
非抢占式算法
短作业优先算法 SJF(SPF 短进程优先)
优点:平均等待时间,平均周转时间最短
缺点:对长作业不理,造成饥饿现象,没有考虑作业的紧迫性,用户可能可以缩短作业的预估时间,是的无法做到短作业优先
一般是非抢占式算法 ,但也有抢占式版本———最短剩余时间优先
饥饿现象:如果进程一直得不到服务,则称为“饿死”
优先级调度算法
分类:
1)剥夺型: 立即停止当前正在运行的进程,将处理机分配给更高优先级的进程
2)非剥夺型:等待当前进程运行结束,然后将处理机分配给更高优先级的进程
优先级分类
1)静态优先级:进程创建后无法对优先级进行修改
2)动态优先级:可以根据进程运行状态,对进城优先级进行动态的调整
优先级设置的原则
1)系统进程>用户进程
2) 交互型进程>非交互型进程
3) I/O进程>计算型进程(CPU繁忙型)
高反应调度算法
响应比 = (等待时间+ 要求服务时间)/要求服务时间 = 1 + 等待时间/要求服务时间
非抢占式算法
时间片轮转算法
不会饥饿
抢占式
多级反馈队列调度算法
实现思想:
设置对个就绪队列,优先级依次递减,每个队列中的时间片各不相同,时间片依次递增,每个队列按照先来先服务原则进行进程排队,若规定时间片内没有完成,就将进程放入下一级队列,只有高级队列为空时,低级队列才能开始调度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值