| 查看: 1384 | 回复: 0 | |||
[交流]
linux内核的进程迁移机制
|
|
阅读Linux内核有段时间了,想要在内核中加一个关于实时任务的调度算法。 众所周知,2.6版本的Linux内核中关于实时任务只有两种调度算法(FIFO和RR),分别对应两个调度策略:SCHED_FIFO(先到先服务)以及SCHED_RR(时间片轮转)。这两种调度策略都是通过一个函数集合rt_sched_class来定义和实现的。 现在想在内核中加入一个主要针对周期性任务的、根据每个任务的执行时间(任务运行前已确定)来确定其优先级的、基于优先级的调度算法。如果重新写一个调度类,那么必须实现调度类中给出定义的所有函数,其中有很多函数牵涉到了内核中的锁机制,很复杂。但是如果直接修改rt_sched_class,又担心会破坏内核中原有的两种实时调度机制。这是一点,希望大家可以说下自己的见解。 第二点,如果是多核平台,不可避免的,要实现核间的进程迁移机制。而linux中的进程迁移机制是基于plist数据结构来实现的。关于链表,Linux中有两种基本的双向链表组织形式:list和hlist。这两种链表形式比较简单,其中list就是很常见的双向链表形式,而hlist则主要应用在哈希链表中,用于快速定位进程,这里不需要深究。而plist的实现则是基于list形式的双向链表。plist_head及plist_node均定义在内核中的Plist.h头文件中。问题就是,具体这两个数据结构是怎样支持进程迁移机制的,我不太理解。希望大家可以讨论一下。 共同学习哈。 |
» 猜你喜欢
请问有评职称,把科研教学业绩算分排序的高校吗
已经有3人回复
孩子确诊有中度注意力缺陷
已经有12人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复














回复此楼