免费注册 查看新帖 |

Chinaunix

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

[内核入门] [结贴]RR算法,是否隐含了如果进程任务完成或者阻塞,则交出剩余时间片? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-01-19 21:49 |只看该作者 |倒序浏览
本帖最后由 centos_71 于 2015-01-20 22:33 编辑

例如,一个进程拿到了一个100ms的时间片,但是其运行了1ms就退出了。剩下的99ms,对于RR算法来说,就是空等,对吗?

linux的进程之间轮流使用cpu时间片,这个时间片的大小是多少呢?
i)如果进程都能分到cpu时间片,那么进程的优先级如何体现出来呢?
ii)当cpu不是很忙的时候,是不是多个进程,无论优先级高低,能否轮流的得到相同数量的cpu时间片?
iii)RR中Round是轮转的意思,那Robin是什么意思?

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
2 [报告]
发表于 2015-01-19 22:20 |只看该作者
回复 1# centos_71

总体来于,有一事情我想给你澄清一下,RR和FIFO都是实时进程,优先级并不是NICE值!他们有自己的优先级。不要和普通进程的搞混了。


例如,一个进程拿到了一个100ms的时间片,但是其运行了1ms就退出了。剩下的99ms,对于RR算法来说,就是空等,对吗?
对于RR来于说,剩下的99ms,如果有相同优先级的任务,则执行它(这是他相对说FIFO来说的差异)。如果没有相同优先级的,则看更低优先级的任务,否则执行普通任务。

linux的进程之间轮流使用cpu时间片,这个时间片的大小是多少呢?
还是以RR来说,刚才翻了一下我2.6.34的代码是由DEF_TIMESLICE写死的。
  1. /*
  2. * These are the 'tuning knobs' of the scheduler:
  3. *
  4. * default timeslice is 100 msecs (used only for SCHED_RR tasks).
  5. * Timeslices get refilled after they expire.
  6. */
  7. #define DEF_TIMESLICE                (100 * HZ / 1000)
复制代码
i)如果进程都能分到cpu时间片,那么进程的优先级如何体现出来呢?
RR有独立的优先级,高优先级的任务就绪,低优先级的就不能运行。时间片只在相同优先级的任务间使用。

ii)当cpu不是很忙的时候,是不是多个进程,无论优先级高低,能否轮流的得到相同数量的cpu时间片?
同上。

iii)RR中Round是轮转的意思,那Robin是什么意思?
http://fanyi.baidu.com/#en/zh/round%20robin
应该是专有词汇,不要拆开来翻译。

   

论坛徽章:
0
3 [报告]
发表于 2015-01-20 20:47 |只看该作者
Tinnal 发表于 2015-01-19 22:20
回复 1# centos_71

总体来于,有一事情我想给你澄清一下,RR和FIFO都是实时进程,优先级并不是NICE值! ...

谢谢,还想知道一下,例如我在一个bash里面运行我自己编写的一个a.out,在另外一个bash里面运行top命令。
那么这两个bash,一个a.out,一个top命令, 有哪些是实时进程,哪些是普通进程呢?

top命令需要不断更新,这就是实时进程吗?
(1) 我在shell下,能否知道一个linux进程是实时进程,还是普通进程?
(2) Nice是对于普通进程才有意义的的对吗?
(3) 我自己写一个shell脚本或者c程序,能通过什么养的方式来让我自己运行的时候是一个实时的进程?

以上疑惑还请大侠解释一下!

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
4 [报告]
发表于 2015-01-20 21:23 |只看该作者
回复 3# centos_71

默认所有都是普通进程。你对Linux完全不了解呀。建议你自己先把问题百度一吧吧。
   

论坛徽章:
0
5 [报告]
发表于 2015-01-20 22:32 |只看该作者
Tinnal 发表于 2015-01-20 21:23
回复 3# centos_71

默认所有都是普通进程。你对Linux完全不了解呀。建议你自己先把问题百度一吧吧。


我倒是用过很长时间,做过一点应用开发。但是深入的知识并不知道。我还真的是头回知道有普通进程和实时进程的区别。多谢了。

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
6 [报告]
发表于 2015-01-21 08:56 |只看该作者
回复 5# centos_71

给你一些CUer的blog看看。
http://blog.chinaunix.net/uid-23896168-id-2653836.html
http://blog.chinaunix.net/uid-24774106-id-3379478.html

建议你买一本《unix 环境高级编程》看一下。CSDN上也有电子版的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP