分类: LINUX
2010-07-09 23:51:34
Linux-
seacey@gmail.com
1 进程调度策略基本常识
1.1时间片轮转
特点:简单,平均。大家轮流运行
缺点:实时性差,并不意味着真正的公平,重要的任务得不到保证
1.2基于优先级调度,分动静态两种
特点:强调任务之间的差异,按照分级别,高优先级得到有效保证,特别是动态优先级情况下较为灵活,
缺点:实时性较时间片轮转好,容易造成优先级反转。
1.3 抢占性
优点:增强了实时性,对于重要的实时任务尤为重要
缺点:频繁的任务切换,不利于系统吞吐量
1.4 FIFO
优点:公平,同等优先级下FIFO是一个很不错的选择
2 Linux
SMP多核条件下的进程调度机制 (绪...)
Linux调度机制对以上特性都做了支持。
Linux 调度是基于优先级的,总共1-140个优先级。 1-100为实时任务,101-140为普通任务,nice(-20 -> 19)为传统unix的一个调度参数,对应101-140的区间。
RT任务,优先级[1--100],调度策略分为 SCHED_FIFO,SCHED_RR量中
3 内核线程的创建可以通过kthread_create接口创建
用该接口创建的进程,默认优先级为0,调度策略为SCHED_NORMAL,软中断进程也是使用该接口创建,没有修改优先级。
注意通过kthread_create创建的时候避免在软中断,硬中断中使用。