是指实时线程,Linux分配1-99为实时线程,是1为最高优先级还是99为最高
答案:1 悬赏:10 手机版
解决时间 2021-11-22 20:53
- 提问者网友:蓝莓格格巫
- 2021-11-22 08:06
是指实时线程,Linux分配1-99为实时线程,是1为最高优先级还是99为最高
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-11-22 08:38
1是实时进程优先级最高的,99是实时进程优先级最低的,数字越小,优先级越高
你在做operating system的实验?追问《深入理解Linux内核》(第三版) Daniel P.Bovet也是这么说的.
但另外一种说法是内核采用1000+线程优先级作为调度时的优先级权值--对应1级最低,(百度文章《Linux线程调度》,《Linux内核的三种调度策略》)
实际测试如下:创建两个实时线程90和91,其中90在做while死循环,91级则在while循环中休眠100mS后再运行,91级线程可以抢占90级.为什么.
普通线程的数字越小优先级越低,一个系统不可能采用两种策略吧?追答感觉百度的文章有偏颇的(我的感觉),或者文章上的系统和 Daniel P.Bovet说的实现上有不同吧。
linux内核在2.4之前,没有实时性,他的内核优先级,就是nice(-19-20),有rtlinux将其改进,改进后-1代表非实时进程优先级,0-1000000代表实时进程优先级,且优先级越高,数字越大。
但现在的linux内核2.6左右,增加了实时性,他把1-99给实时进程,100-127给非实时进程(这个和nice值有函数对应关系),从这里很显然,就是数字越小,优先级越高。
感觉不同的细节实现,导致不同的优先级定义方式
不知我的解释你满意吗?
你说的实际测试,是你测的吗?就是你肯定测试确实91可抢占90吗?追问使用的是Linux 2.6.23,平台是Freescale coldfire MCF54452, IDE采用的是Codewarrior10.2
测试我们自己做的,按说线程优先级控制应该是内核的通用部分控制的,不会和CPU的架构有关吧?
正在研究m68k的相关代码.追答啊,那测试应该是准确的。这个和cpu应该没关系,OS在设计时,应该会考虑到支持不同架构。
那关于这个问题,我就没有进一步的想法了,因为以上我说的,像rtlinux代码我都是看过的,应该不会有什么问题,但考虑到与你说的有一定的差异,我也就不清楚了。
建议你再问一问别人吧。爱莫能助~~
对了,问一下,你是学生吧~~还是参加工作了~~
你在做operating system的实验?追问《深入理解Linux内核》(第三版) Daniel P.Bovet也是这么说的.
但另外一种说法是内核采用1000+线程优先级作为调度时的优先级权值--对应1级最低,(百度文章《Linux线程调度》,《Linux内核的三种调度策略》)
实际测试如下:创建两个实时线程90和91,其中90在做while死循环,91级则在while循环中休眠100mS后再运行,91级线程可以抢占90级.为什么.
普通线程的数字越小优先级越低,一个系统不可能采用两种策略吧?追答感觉百度的文章有偏颇的(我的感觉),或者文章上的系统和 Daniel P.Bovet说的实现上有不同吧。
linux内核在2.4之前,没有实时性,他的内核优先级,就是nice(-19-20),有rtlinux将其改进,改进后-1代表非实时进程优先级,0-1000000代表实时进程优先级,且优先级越高,数字越大。
但现在的linux内核2.6左右,增加了实时性,他把1-99给实时进程,100-127给非实时进程(这个和nice值有函数对应关系),从这里很显然,就是数字越小,优先级越高。
感觉不同的细节实现,导致不同的优先级定义方式
不知我的解释你满意吗?
你说的实际测试,是你测的吗?就是你肯定测试确实91可抢占90吗?追问使用的是Linux 2.6.23,平台是Freescale coldfire MCF54452, IDE采用的是Codewarrior10.2
测试我们自己做的,按说线程优先级控制应该是内核的通用部分控制的,不会和CPU的架构有关吧?
正在研究m68k的相关代码.追答啊,那测试应该是准确的。这个和cpu应该没关系,OS在设计时,应该会考虑到支持不同架构。
那关于这个问题,我就没有进一步的想法了,因为以上我说的,像rtlinux代码我都是看过的,应该不会有什么问题,但考虑到与你说的有一定的差异,我也就不清楚了。
建议你再问一问别人吧。爱莫能助~~
对了,问一下,你是学生吧~~还是参加工作了~~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯