设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

知识回顾:Linux 2.6内核的精彩世界

2007-9-3 14:08| 发布者: joejoe0332| 查看: 11272| 评论: 3

  容量 -- 可扩展性的进展

  除了对NUMA的支持,Linux 2.6在处于食物链顶端的Intel服务器方面,也有一些变动。最重要的就是对Intel的物理地址扩展(PAE)的完全支持,使得较新的32位的x86 系统可以访问高达64GB的内存,但仅仅限于页面映射模式。另外,通过加强对高级可编程中断控制器(APIC)的支持,多处理器系统之上的IRQ均衡 (balancing)大大提升。

  在许多其他方面,内部限制在可能的地方都有所放松。Linux系统上用户和用户组的数目从65000越升到了超过40亿(实际就是16位到 32位的变化)。这使得Linux在之前可能超越限制的大型文件和认证服务器上更加实用。类似的,进程标识号(PID)的数目也从32000升到10亿。 这个改变,与其他PID子系统优化一起,将提高在十分繁忙或是长期工作的系统上的应用程序的启动性能。尽管同时打开的文件最大数目并没有增加,但是 Linux 2.6不会再要求你预先设定限制值;限制值会随着系统的运行自动调整。最后,Linux 2.6包含了改进的64位的块设备支持(当然块设备本身应当支持64位模式),即使是在i386这样的32位平台。这样一来,文件系统的存储上限可达 2TB。

  内核互动性以及响应性

  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(尚未合并到官方的内核版本)已经出现了。

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部