[操作系统]——调度算法

🏳️‍🌈个人网站:code宝藏 👈,欢迎访问🎉🎉
🙏如果大家觉得博主写的还不错的话,可以点点关注,及时获取我的最新文章
🤝非常感谢大家的支持与点赞👍
📚笔记整理自小林coding的《图解系统》,作者写的很不错,我自己整理一下方便后期复习

进程调度

image-20220215212138716

1、先来先服务调度算法

先来后到,每次从就绪队列选择最先进⼊队列的进程,然后⼀直运⾏,直到进程退出或被阻塞,才会继续从队列中选择第⼀个进程接着运⾏

image-20220215212256551

2、最短作业优先调度算法

优先选择运⾏时间最短的进程来运⾏,这有助于提⾼系统的吞吐量

image-20220215212336987

3、⾼响应⽐优先调度算法

该算法是对先来先服务调度算法和短作业优先调度算法的一种综合平衡,同时考虑每个作业的等待时间和估计的运行时间

每次进⾏进程调度时,先计算「响应⽐优先级」,然后把「响应⽐优先级」最⾼的进程投⼊运⾏

4、时间⽚轮转调度算法

每个进程被分配⼀个时间段,称为时间⽚(Quantum),即允许该进程在该时间段中运⾏

  • 如果时间⽚⽤完,进程还在运⾏,那么将会把此进程从 CPU 释放出来,并把 CPU 分配另外⼀个进 程;
  • 如果该进程在时间⽚结束前阻塞或结束,则 CPU ⽴即进⾏切换

image-20220215212844254

5、最⾼优先级调度算法

从就绪 队列中选择最⾼优先级的进程进⾏运⾏,这称为最⾼优先级(Highest Priority First,HPF)调度算法

6、多级反馈队列调度算法

多级反馈队列(Multilevel Feedback Queue)调度算法是「时间⽚轮转算法」和「最⾼优先级算法」的 综合和发展

  • 「多级」表示有多个队列,每个队列优先级从⾼到低,同时优先级越⾼时间⽚越短。

  • 「反馈」表示如果有新的进程加⼊优先级⾼的队列时,⽴刻停⽌当前正在运⾏的进程,转⽽去运⾏优 先级⾼的队列;

image-20220215213020792

内存页面置换算法

image-20220215213241700

1、最佳页面置换算法(OPT)

置换在「未来」最⻓时间不访问的⻚⾯。该算法实现需要计算内存中每个逻辑⻚⾯的「下⼀次」访问时间,然后⽐较,选择未来最⻓时间不 访问的⻚⾯

2、先进先出置换算法(FIFO)

选择在内存驻留时间很⻓的⻚⾯进⾏置换,这个就是「先进先出置换」算法的思想

3、最近最久未使⽤的置换算法(LRU)

发⽣缺⻚时,选择最⻓时间没有被访问的⻚⾯进⾏置 换,也就是说,该算法假设已经很久没有使⽤的⻚⾯很有可能在未来较⻓的⼀段时间内仍然不会被使⽤。

这种算法近似最优置换算法,最优置换算法是通过「未来」的使⽤情况来推测要淘汰的⻚⾯,⽽ LRU 则是 通过「历史」的使⽤情况来推测要淘汰的⻚⾯。

缺点:

为了完全实现 LRU,需要在内存中维护⼀个所有⻚⾯的 链表,最近最多使⽤的⻚⾯在表头,最近最少使⽤的⻚⾯在表尾。在每次访问内存时都必须要更新「整个链表」。在链表中找到⼀个⻚⾯,删除它,然后把它移 动到表头是⼀个⾮常费时的操作

4、时钟⻚⾯置换算法(LOCK)

把所有的⻚⾯都保存在⼀个类似钟⾯的「环形链表」中,⼀个表针指向最⽼的⻚⾯

image-20220215214006665

5、最不常⽤算法

当发⽣缺⻚中 断时,选择「访问次数」最少的那个⻚⾯,并将其淘汰。

它的实现⽅式是,对每个⻚⾯设置⼀个「访问计数器」,每当⼀个⻚⾯被访问时,该⻚⾯的访问计数器就 累加 1。在发⽣缺⻚中断时,淘汰计数器值最⼩的那个⻚⾯

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一定会去到彩虹海的麦当

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

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

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

打赏作者

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

抵扣说明:

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

余额充值