Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94451
  • 博文数量: 19
  • 博客积分: 1471
  • 博客等级: 上尉
  • 技术积分: 272
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 19:48
文章分类

全部博文(19)

文章存档

2011年(2)

2010年(17)

分类: LINUX

2010-07-09 23:51:34

Linux-2.6.36 内核调度机制

                                                                                                                                                                                                                                              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创建的时候避免在软中断,硬中断中使用。

阅读(1348) | 评论(0) | 转发(0) |
0

上一篇:Linux 内存管理

下一篇:Linux 文件系统

给主人留下些什么吧!~~