cpu的虚拟化(下)———— 调度

铁佛  金牌会员 | 2025-3-17 13:28:00 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 976|帖子 976|积分 2928

媒介

前两篇先容了进程与上下文,而这篇先容的对象是调度器,由于我也不懂调度器的缘故起因,所以,这篇笔记只谈调度器的工作过程,不涉及调度器的具体实现。笔记中若有错漏,望不吝指正。
调度器的一天

在一个清冷的午后,job饭馆(CPU)来了一群气魄汹汹的饿汉(进程),店小二(调度器)立马为这些不速之客安排饭桌,可难为人的是这家店只有一张桌子,这下店小二不知怎样是好了,店长这时出来给小二出了个主意,让这些饿汉按先来后到的次序进餐(调度方式),这样以来每个人都可以吃到饭。小二觉得这是一个好主意,便胆战心惊去与他们商量,一聊后发现这些人固然看起来凶凶的,但极好互换。一问后得知,原来他们只是被繁忙的工作折腾坏了身材,小二心想原来是同道啊! 随后小二便张罗了起来。
可是,渐渐的,小二发现了不对的地方,一个是有的客人吃饭极快(运行时间短的进程),而有的吃饭极慢(运行时间长的进程)。另一个是有的客人吃饭就吃饭,他竟然还用手机继续工作(等待外部资源),小二心中顿时便五味杂陈,何至于斯!心情平复之后,小二发现了一个问题,这些占用餐桌而去用手机的人不是在浪费资源吗?后面另有那么多的客人等着呢。这是聪明的店长再次现身了,他告诉小二,对于这些吃饭的时间工作的人,你就把他拎到一边,让后面的客人用餐。小二茅塞顿开,心想不愧能是做店长的人。在之后,对于那些在吃饭过程中做其他事的人,小二就把他们拎到一边,同时也把他们未吃完的菜生存好(生存上下文),等他们做完其他事之后,再让他们去排队。就这样,在job饭店中出现了两条队伍:一条是用餐的(就绪队列),另一条是中途做其他事的(壅闭队列)。
最后,我要说明的是在以上的例子中只是对调度器的工作过程做了一个大略的类比,有许多复杂的部分被隐藏了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表