问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux 进程调度

发布网友 发布时间:2022-11-25 05:49

我来回答

1个回答

热心网友 时间:2023-10-08 21:32

Linux的调度策略区分实时进程和普通进程,实时进程的调度策略是SCHED_FIFO和SCHED_RR,普通的,非实时进程的调度策略是SCHED_NORMAL(SCHED_OTHER)。

实时调度策略被实时调度器管理,普通调度策略被完全公平调度器来管理。实时进程的优先级要高于普通进程(nice越小优先级越高)。

SCHED_FIFO实现了一种简单的先入先出的调度算法,它不使用时间片,但支持抢占,只有优先级更高的SCHED_FIFO或者SCHED_RR进程才能抢占它,否则它会一直执行下去,低优先级的进程不能抢占它,直到它受阻塞或自己主动释放处理器。

SCHED_RR是带有时间片的一种实时轮流调度算法,当SCHED_RR进程耗尽它的时间片时,同一优先级的其它实时进程被轮流调度,时间片只用来重新调用同一优先级的进程,低优先级的进程决不能抢占SCHED_RR任务,即使它的时间片耗尽。SCHED_RR是带时间片的SCHED_FIFO。

Linux的实时调度算法提供了一种软实时工作方式,软实时的含义是尽力调度进程,尽力使进程在它的限定时间到来前运行,但内核不保证总能满足这些进程的要求,相反,硬实时系统保证在一定的条件下,可以满足任何调度的要求。

SCHED_NORMAL使用完全公平调度算法(CFS),之前的算法直接将nice值对应时间片的长度,而在CFS中,nice值只作为进程获取处理器运行比的权重,每个进程都有一个权重,nice优先级越高,权重越大,表示应该运行更长的时间。Linux的实现中,每个进程都有一个vruntime字段,vruntime是经过量化的进程运行时间,也就是实际运行时间除以权重,所以每个量化后的vruntime应该相等,这就体现了公平性。

CFS当然也支持抢占,但与实时调度算法不同,实时调度算法是根据优先级进行抢占,CFS是根据vruntime进行抢占,vruntime小就拥有优先被运行的权利。

为了计算时间片,CFS算法需要为完美多任务中的无限小调度周期设定近似值,这个近似值也称作目标延迟,指每个可运行进程在目标延迟内都会调度一次,如果进程数量太多,则时间粒度太小,所以约定时间片的默认最小粒度是1ms。

进程可以分为I/O消耗型和处理器消耗型,这两种进程的调度策略应该不同,I/O消耗型应该更加实时,给对端的感觉是响应很快,同时它一般又不会消耗太多的处理器,因而I/O消耗型需要调度频繁。相对来说,处理器消耗型不需要特别实时,应该尽量降低它的调度频度,延长其运行时间。

参考: linux内核分析——CFS(完全公平调度算法) - 一路向北你好 - 博客园
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 高一新生:如何正确看待成绩落差 单亲爸爸孩子四岁还未上户口出生证明丢了怎么办怎么补办? 如何把多个图片合并成一个网页? 人参果熟透是什么样的 建设银行手机号收款能 android 中两个activity 始终跳转不成功,我都搞神了,求高人指点~! 前台服务无法点击跳转Activity的问题 在漫游状态下,手机互联网登录的过程 电脑怎么登录网络? 科目二和科目三可以考几次 科目二和科目三能考几次呢 小学语文:谚语,俗语,歇后语大全,孩子考试不用愁啦 小学语文必会基础知识:谚语,俗语,歇后语全在这 小学语文谚语,歇后语复习归类 衣服上有老鼠屎,我把这衣服放洗衣机洗了,请问可以洗干净吗 有大便的裤子 树洞,老公把全是大便的衣服放到洗衣机里洗了,怎么办 新手该如何在波段里把握买卖点和进出场机会,哪个炒股软件的指标最准? 中考压轴满分冲刺—情态动词 公积金账户余额是个人缴纳的部分吗? 公积金余额是什么? 哪个品牌的无缝墙布质量好呢? 经典的献给外婆80大寿祝寿词(20条) 兰州新区疾控中心24小时电话号码 兰州市疾病预防控制中心的服务能力 排骨焯水多长时间 广州银行个人商业用房贷款需要什么资料? 罗茨鼓风机用的机油型号是什么 协议土地出让流程 垂耳执事描写叶晚和赵的情节在哪里 房产经纪人怎样“带看”才最有效 飞虎神鹰507情报员是谁 飞虎神鹰张子健版什么时候播出 盗贼之海海盗百货在哪里 我想问一下盗贼之海古代钱币怎么买 新买的mate8全网通电信卡读不出什么情况 一加ace竞速版生产日期怎么查询 宝马产地哪个国家 大学生在读,cad想做兼职。问一下那些兼职是我可以涉及的。本人是学建筑工程技术和造价的。 兼职造价员是做什么的 乐DHA的原产地是那个国家的啊?是国产的吗?