免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: nqdgj2007
打印 上一主题 下一主题

什么时候改变父进程的slice的 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-12-29 10:11 |只看该作者
原帖由 smartlinux 于 2008-12-29 10:00 发表



如果频繁调度,当然会消耗很多的cpu资源。
但是线程是在什么时候有用呢? 有可能需要等待外部事件,通过多线程并发提高cpu的利用率。

如果cpu一直都在忙,那多线程就没有必要了。

这不是在说调度的问题,是在说是否共享进程时间片的问题。
如果线程共享父进程时间片,那么当线程多到一定程度时,每个线程的时间片长度会比一个tick还小。也就是说线程运行的时间比一个时钟中断的间隔还小,根本不可能

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
22 [报告]
发表于 2008-12-29 10:22 |只看该作者

回复 #21 zx_wing 的帖子

大致的看了一下代码,弄得还不是特别清楚。
进程或者线程,刚被fork出来的时候,确实是和父进程共享时间片;如果你说的小于1个tick的情况,这样会做另外的处理(利用静态优先级计算它的新的时间片),在进程过期后第二次被调度的时候,新的时间片是通过静态优先级重新计算的。并不是一个进程被创建以后,他以后每次被分配的时间片,都是和父进程共享的。

论坛徽章:
0
23 [报告]
发表于 2008-12-29 10:37 |只看该作者
原帖由 dreamice 于 2008-12-29 10:22 发表
大致的看了一下代码,弄得还不是特别清楚。
进程或者线程,刚被fork出来的时候,确实是和父进程共享时间片;如果你说的小于1个tick的情况,这样会做另外的处理(利用静态优先级计算它的新的时间片),在进程过 ...
Moreover, in order to keep process scheduling fair, the function shares the remaining timeslice of parent between the parent and the child (出自ULK3原版)
这明显说的是子进程在创建后第一次运行的时间数是父进程剩余的时间数。当子进程的时间片耗完后新分得的时间片必然和父进程一样多,而不是什么共享父进程的时间片。


第一次是这样。但千万不要因为有一个share就说Linux是共享时间片的。实际上根本不应该用什么共享时间片这种说法,最多只能说进程创建时第一次时间片和父进程一样多。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
24 [报告]
发表于 2008-12-29 11:31 |只看该作者
原帖由 zx_wing 于 2008-12-29 10:37 发表



第一次是这样。但千万不要因为有一个share就说Linux是共享时间片的。实际上根本不应该用什么共享时间片这种说法,最多只能说进程创建时第一次时间片和父进程一样多。


zx_wing兄,如果说“进程创建时第一次时间片和父进程一样多”可能也不是很确切,应该是第一次创建时,父进程和子进程平分父进程剩余的时间片;如果父进程时间片只剩下1个tick,就会另外计算时间片了(这个新分配的时间片,我还没弄清楚是马上就让它调度执行获得的新的时间片这么多呢,还是调度会有相应限制,如果不加限制,那就有骗取时间片之嫌了)。
呵呵,看来问题需要讨论才能理解得更深刻,我觉得自己很多地方没有理解透彻的时候,可能理解的就是不正确的。

论坛徽章:
0
25 [报告]
发表于 2008-12-29 11:59 |只看该作者
原帖由 dreamice 于 2008-12-29 11:31 发表


zx_wing兄,如果说“进程创建时第一次时间片和父进程一样多”可能也不是很确切,应该是第一次创建时,父进程和子进程平分父进程剩余的时间片;如果父进程时间片只剩下1个tick,就会另外计算时间片了(这个新 ...

好的,第一次分配的策略就麻烦版主看看啦,搞清楚了发出来共享一下。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
26 [报告]
发表于 2008-12-29 12:09 |只看该作者
原帖由 zx_wing 于 2008-12-29 11:59 发表

好的,第一次分配的策略就麻烦版主看看啦,搞清楚了发出来共享一下。


zx_wing兄,我是个滥竽充数的版主
深入的问题,还需靠你们这些隐士高手来指点赐教

论坛徽章:
0
27 [报告]
发表于 2008-12-29 12:46 |只看该作者
原帖由 dreamice 于 2008-12-29 12:09 发表


zx_wing兄,我是个滥竽充数的版主
深入的问题,还需靠你们这些隐士高手来指点赐教

晕,我不是说客套话哈。
我确实没看过调度器的代码,最近也实在没时间学习,好久都没上论坛了。但又想把这个问题搞清楚,所以想偷个懒,有人看了给讲讲

论坛徽章:
0
28 [报告]
发表于 2008-12-29 12:48 |只看该作者
呵呵 我看了2.6.24代码 但是实在找不到

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
29 [报告]
发表于 2008-12-29 12:49 |只看该作者
原帖由 zx_wing 于 2008-12-29 12:46 发表

晕,我不是说客套话哈。
我确实没看过调度器的代码,最近也实在没时间学习,好久都没上论坛了。但又想把这个问题搞清楚,所以想偷个懒,有人看了给讲讲


接令,受命研究。

论坛徽章:
0
30 [报告]
发表于 2008-12-29 13:03 |只看该作者
版主 我支持你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP