免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4541 | 回复: 18
打印 上一主题 下一主题

[进程管理] O1调度与cfs调度的比较 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-08-05 09:49 |只看该作者 |倒序浏览
RT,他们两都是基于优先级的,至于cfs的公平相对于O1到底在哪里?求指导。

论坛徽章:
3
双鱼座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亚洲杯之澳大利亚
日期:2015-04-20 00:28:02
2 [报告]
发表于 2013-08-06 00:07 |只看该作者
O1决定调度的进程取决优先级(优先级链表)。(高优先级先运行).
而CFS选择的进程取决于该进程等待运行的时间(rb tree排序). 优先级只决定进程的cpu share(load weight)

论坛徽章:
0
3 [报告]
发表于 2013-08-06 10:33 |只看该作者
我认为两者都是对优先级高的运行时间长,优先级低时间短,只是优先级对应的时间方式不一样,那cfs的公平体现在哪里?o1里面低优先级也是可以运行啊回复 2# kiongf


   

论坛徽章:
0
4 [报告]
发表于 2013-08-06 11:38 |只看该作者
O1无法保证运行时间的公平(按照优先级的比例分配),而CFS理论上可以

论坛徽章:
0
5 [报告]
发表于 2013-08-06 11:40 |只看该作者
CFS基本保证每个粒度(运行时间单位)中各进程运行一个时间片(长短根据各自的优先级占比)

论坛徽章:
0
6 [报告]
发表于 2013-08-06 11:41 |只看该作者
所以CFS是按照运行时间控制的,而时间也是取决于优先级和已运行时间

论坛徽章:
0
7 [报告]
发表于 2013-08-06 14:54 |只看该作者
O1也是每个进程运行一个时间片,根据优先级长度不一样。这在交换expired和active指针的时候,保证了所有进程都运行过 。
另外cfs在高优先级进程运行后,加的虚拟时间vruntime太小了,可能会在后面优先级低的进程之前再次运行吗?回复 5# aweii


   

论坛徽章:
0
8 [报告]
发表于 2013-08-06 19:53 |只看该作者
这样做的目的就是保证时间分配按比例

论坛徽章:
3
双鱼座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亚洲杯之澳大利亚
日期:2015-04-20 00:28:02
9 [报告]
发表于 2013-08-06 23:04 |只看该作者
回复 7# f22jay


    CFS对Normal process已经没有时间片的概念了. 只有realtime process才有.

论坛徽章:
0
10 [报告]
发表于 2013-08-07 13:40 |只看该作者
当检查运行时间多于sched_slice()时,就要发起调度
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP