操作系统-进程的调度算法-解析

1、批处理系统:没有太多用户操作,目标是保证吞吐量和周转时间

  • 先到先服务:FCFS是非抢占式的调度算法,在就绪队列中选择最先进入队列的进程,为之分配资源,直到它执行结束/因阻塞而放弃占用CPU时,才再次重新调度。有利于长作业,但后边有短作业时只有等前边的长作业结束了才能执行。

  • 短作业优先:SJF是非抢占式的调度算法,根据运行时间最短优先的顺序调度。缺点是长作业可能会饿死,如果短作业一直有加入将会一直在等待短作业结束。

  • 最短剩余时间优先:短作业优先的抢占式版本,按照剩余运行时间进行排序,新作业的运行时间小于正在运行进程的剩余时间时将挂起原进程,运行新的进程。

2、交互式系统:**有大量用户操作,目标是快速进行响应

  • 时间片轮转:所有的就绪进程按照FCFS原则排队,每次调度时把CPU时间分配给队首,当前进程的时间片用完之后由计时器发出时钟中断,调度程序停止该进程的执行并将之送到就绪队列尾,之后再次分配CPU时间。

    该算法的效率和时间片的大小有很大关系,太小就会进程切换频繁在切换过程中浪费时间,太长就失去响应实时性。

  • 多级反馈队列:克服以上几种算法的缺点,既能让优先级高的作业得到响应又能让短作业快速完成。如果一个进程需要100个时间片的话使用时间片轮转需要交换100次,多级队列设置了很多个队列,每个队列的时间片大小不同(如1、2、4、8)进程在第一个队列的一个时间片还没执行完就进入下一个队列,大大减少了交换次数。

  • 优先级调度:为每个进程分配优先级,有相同优先级的进程以FCFS方式执行。

3、实时调度: 实时任务的处理要求最高优先级,通常预先规定开始/完成的截止期限。

​ 参考🔗:https://blog.csdn.net/weixin_39793360/article/details/80731737

  • 硬实时任务:必须在最后期限内开始或完成

  • 软实时任务:时间限制较弱

  • 非周期实时任务:不定期发生

  • 周期实时任务:在每T时间单位内发生一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值