红联Linux门户
Linux帮助

Linux内核互动性以及响应性

发布时间:2007-08-19 19:52:40来源:红联作者:bliunxrf
  Linux 2.6中一个受关注的焦点就是使得系统对于桌面用户以及其他一些需要对事件进行高度人为控制的应用具有更具响应性(responsitive)。这其中各个不同的目标系统具有很不同的挑 战,但内核中包含了很多改变,使得它们同时受益。

  2.6中一个必须理解的主要内部改变是现在内核自身是可抢占的。在所有之前的Linux版本中,当系统运行内核的相关事务时,它不能被打断(在多处理器系统中,基于各cpu的角度这也是 成立的)。Linux 2.6中,内核现在允许自身在执行任务时被打断,这样用户任务可以继续运行即使内核正在做一些复杂的事情。(为了避免明显这可能带来的竞争情况,内核中含有一些具有锁的代码段,运行于这样的代码段的时候,内核不能被打断。)这个改变的主要好处是系统的可交互性(比如,对于桌面用户)大大提升,系统对于用户输入这样的事件感觉起来快多 了。

  其他使得Linux成为一个更加具有响应性系统的改变是并入对新的"futexes"("Fast User-Space Mutexes")的支持,这项支持发挥作用需要用户程序的支持(使用futex实现互斥)。Futexes是一种序列化(serialize)事件使得它们不会相互冲突的机制。与传统的多数的线程库锁支持的mutex操作不同,这是部分基于内核的(partially kernel based),同时它也支持设置优先级使得高优先级的应用或线程优先获得竞争的资源。通过使用一个程序去指定一个等待的任务比其他的更重要,它带来了可能是一个应用的时序--关键区域更佳的响应性。

  Linux的I/O子系统也经历的很大的修改,使得它在各种工作负荷下都更具响应性。这个变化包括I/O 调度子系统--决定何时、哪一进程去读一个设备的内核代码的完全重写。重写的I/O层现在可以更好地保证没有进程过长时间地停留在I/O等待上,同时不排斥以前的优化工作使得读等请求以最有效的次序操作硬件的优化工作。

  尽管实时操作系统(RTOS)的开发者可以从这些改变中受益,Linux 2.6将不会成为一个实时内核。然而,这些以及其他相关的背景工作使得将Linux转变为RTOS成为可能。为用户或开发 者提供这样的支持的外部patch(尚未合并到官方的内核版本)已经出现了。
文章评论

共有 1 条评论

  1. chl_seu 于 2007-08-24 16:12:01发表:

    :victory: