1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Linux 内核】进程管理 - 进程优先级 ② ( prio 调度优先级 | static_prio

【Linux 内核】进程管理 - 进程优先级 ② ( prio 调度优先级 | static_prio

时间:2019-09-24 11:13:58

相关推荐

【Linux 内核】进程管理 - 进程优先级 ② ( prio 调度优先级 | static_prio

文章目录

一、进程优先级相关字段1、prio 字段 ( 调度优先级 )2、static_prio 字段 ( 静态优先级 )3、normal_prio 字段 ( 正常优先级 )4、rt_priority 字段 ( 实时优先级 )二、三种进程的四种优先级总结

一、进程优先级相关字段

linux-5.6.18\include\linux\sched.h头文件中task_struct" 进程描述符 " 结构体 中定义了 进程优先级字段如下 :

intprio; // 调度优先级intstatic_prio; // 静态优先级intnormal_prio; // 正常优先级unsigned intrt_priority; // 实时优先级

1、prio 字段 ( 调度优先级 )

prio字段 是 " 调度优先级 " , 数值越小 , 优先级越高 ;

一般情况下prio字段 等于normal_prio字段 ;

特殊情况 :在锁同步机制中 , 如果 A 进程 占有了 实时互斥锁 , B 进程 等待该 实时互斥锁 , 假如 B 进程的优先级 高于 A 进程 的优先级 , 此时就会将 占有 实时互斥锁 的 A 进程的prio优先级 提高到与 B 进程prio优先级相等的地位 ;

2、static_prio 字段 ( 静态优先级 )

static_prio字段 是 " 静态优先级 " ,

对于 " 限期进程 " 来说 , 静态优先级static_prio字段 值总为 000 , 没有意义 ;

对于 " 实时进程 " 来说 , 静态优先级static_prio字段 值总为 000 , 没有意义 ;

对于 " 普通进程 " 来说 , 静态优先级static_prio字段 值为 120+nice\rm 120 + nice120+nice , 其数值越小 , 优先级越高 ;

3、normal_prio 字段 ( 正常优先级 )

normal_prio字段 是 " 正常优先级 " , 数值越小 , 优先级越高 ,

对于 " 限期进程 " 来说 , 正常优先级normal_prio字段 值总为 −1-1−1 ;

对于 " 实时进程 " 来说 , 正常优先级normal_prio字段 值 99−rt_priority99 - \rm rt\_priority99−rt_priority ;

对于 " 普通进程 " 来说 , 正常优先级normal_prio字段 值 与 静态优先级static_prio字段相等 , 为 120+nice\rm 120 + nice120+nice , 其数值越小 , 优先级越高 ;

4、rt_priority 字段 ( 实时优先级 )

rt_priority字段 是 " 实时优先级 " ,

对于 " 限期进程 " 来说 , 实时优先级rt_priority字段 值总为 000 , 没有意义 ;

对于 " 实时进程 " 来说 , 实时优先级rt_priority字段 值为 111 ~ 999999 , 其数值越大 , 优先级越高 ;

对于 " 普通进程 " 来说 , 实时优先级rt_priority字段 值总为 000 , 没有意义 ;

二、三种进程的四种优先级总结

【Linux 内核】进程管理 - 进程优先级 ② ( prio 调度优先级 | static_prio 静态优先级 | normal_prio 正常优先级 | rt_priority 实时优先级 )

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。