当前位置:Linux教程 - Linux - 解密Linux内核2.4

解密Linux内核2.4



        
    作 者: 方汉


      随着Linux 2.4内核测试版的不断推出,2.4内核的架构、主要功能、改进都已大致敲定。支持所有64位处理器、面向企业、全方位整合系统资源、需要更少内存的Linux 2.4内核完整版,将为人类打开一个美丽的新世界。

      Linux目前最新稳定内核的版本是2.2.16,而最新的测试版本是2.4-test3。Linus这次吸取了在2.1系列开发中测试版本拖得太长的教训。它提前将2.3系列直接从2.3.49跳到2.3.99,又升至2.4-test4。本文将以2.4-test4为基础,对2.4系列的内核进行一次前瞻性的介绍。

      相对于2.2系列比2.0系列的改进,2.4系列的进步更大,但这也意味着2.4将很难同2.2系列兼容。2.4系列的改进主要体现在系统、网络、驱动程序等方面。

      系统

      在内核的体系结构方面,2.2.16中已经支持的硬件平台有:Alpha、Arm、i386、M68k、Mips、Ppc、S390、Sparc、Sparc64。S390是IBM的MainFrame机器,它的加入是近期的事情。2.4主要的变动是对IA64支持。IA64作为Intel下一代的主力服务器端产品,现在已经越来越多地引起更多软件厂商的注意。Linux作为最早支持IA64的操作系统,这个事实本身就证明了Linux强大的生命力,而且这也是Linux进入企业级市场的一个好机会。其它新的硬件平台主要是Super-H和Mips64,另外它在i386下面增加了对Athlon/K7、Crusoe、Winchip的支持。Crusoe就是Linus本人供职的Transmeta公司推出的移动式CPU。Linux继续保持着支持硬件平台最多的领先地位。

      2.4加入了完全资源管理器的支持。现在在Linux内核中对PCI等资源的分配将更加智能化,这使得即插即用在Linux上将得到更好的支持。另外,Linux也改变了原先的磁盘缓冲机制,由比较复杂的双缓冲系统改进到简单实用的单缓冲系统。Linux 在多处理器上的可伸缩的特性得到了加强,提供可配置的进程管理机制。进程调度机制也被完全重写了,提高了内核的调度效率,使支持的并发进程数也大大增加了。Linux内核支持的用户数目也达到了2的32次方之多,支持的最大文件数也免去了2G的限制,支持的CPU是32个、内存为64G。它还支持同时使用16块以太网卡、22个IDE设备、加入多重IO-APIC(高级可编程中断控制器)。它对Share Memory的支持也发生了变化,改成加载一个特殊的文件系统到/var/shmem,这使得其兼容性更强。另外一个影响深远的改动是加入了DEVFS。所谓DEVFS就是将现在的/dev目录变为一个文件系统。用户将不再需要手工去为一个新设备增加设备文件,内核将自动地在这个文件系统中增加该设备文件。目录结构也改变了,例如/dev/hda将移到/dev/ide0/disk0/……这使得在Linux中添加USB、IEEE1394等设备将变得更为容易。但是与此同时,大批的应用程序需要修改才能采用这一新特性。

      在文件系统方面的重大改进是加入了LVM(Logic Volume Manager)的支持。LVM运行文件系统跨越磁盘,可以在运行时动态伸缩文件系统大小,增加文件系统。这已经成为HP-UX和Compaq True64 UNIX的企业级标准。其实LVM的很多特性在Linux的MD(Multi Disk)中已经支持,但是这将是商业用户采用Linux的一个重要依据。对RAID(冗余磁盘阵列)的支持也已经被加强,优化了RAID子系统的执行效率,实现了RAID0、1、4/5。多处理器下的多线程得到了加强,已经可以直接使用RAID设备作为启动根分区。此外对RAW IO的支持也已经被加入,这是许多商业软件急需的特性,如Oracle数据库。Linux支持的分区系统增加了对UDF(DVD使用的文件系统)的支持,这使得Linux将可以支持DVD系统。令人失望的是,现有的两个日志文件系统(ext3/reiserfs)仍然没有被合并入Kernel 2.4,这使得很多开发者抱怨连连。

      网络

      在网络方面,Linux针对前一时期同WinNT的评测结果,做出了大量改进。比较重要的有支持“wake one”的技术,这使得WWW服务器的效率大大提高。支持KHTTPD,使得Linux可以在内核级提供静态网页的访问。这对于那些访问量巨大的服务器是一个很好的替代,例如专门提供图像服务的服务器.

      Linux的IP防火墙和IP伪装技术又重新修改了一次(这已经是Linux内核第三次重新设计这一部分),现在的名字叫IP Table。它同2.0的ipfwadm和2.2的ipchains仍然兼容,而且现在已经能够实现很多路由器才能实现的功能。对于企业级用户来说,DECNET、ARCNET、NetBui、SMB等都已经支持,尤其是SMB部分的重写将大大加强对Windows9x/NT/2000的网络性能。

      硬件

      目前2.4中支持的USB设备包括: 鼠标、键盘、数字化仪、扫描仪、打印机、蓝牙设备、MP3播放器、手写板、网卡、 USB互联线、游戏杆、USB并/串口、 数码相机、摄像头、声卡、Modem、硬盘、USB HUB、软驱、光驱等等。2.4对于I2O、Fimwire(IEEE1394)的支持也已经实现。在一个开发者贡献了5万行代码之后,ACPI在2.4-test4版本中已经大大改善。而其它如网卡、SCSI卡、RAID卡、IDE RAID等的支持也进步不小。目前内核中已经提供对UDMA66、ATA100、IDE RAID的支持。现在已经有很多开发者不得不将2.4系列的驱动向2.2系列上移植。Kernel最终将PCMCIA 的支持合并入正式版本中,这对于笔记本用户来说意义重大。值得批评的是,声卡在2.4中并没有得到很大的改善,相信只有等ALSA计划(www.alsa-project.org)的合并才能得到很大的改进了。

      此外在2.4版本中没有合并进去的计划有:

      Kernel Lever Encrypt Support (www.kerneli.org)

      Reiser日志文件系统(www.devlinux.com)

      ext3日志文件系统

      Linux Virtual Server (www.linuxvirtualserver.org)

      Linux 安全监测系统 (www.lids.org)

      Linux Virtual Server和Linux 安全监测系统都是由中国的年轻黑客领导的GNU计划。他们是章文嵩和谢华钢。希望他们早日成为把名字标记在内核中的第一批中国的Linux开发者。

      Linux 2.4 的发行日期目前还没有确定,相信是在今年的第三季度末。那时也将是Linux全面进入企业级市场和桌面市场吹响号角的时候。但是对于用户来说,并不一定能够立刻享受到2.4系列的内核。这还取决于各大Linux发行版厂商的速度了。毕竟每一次迁移对于Linux发行版厂商都是一个痛苦的过程。但最迟应该是今年年底就可以看到使用2.4系列内核的Linux发行版,让我们拭目以待吧!

    (赛迪网 文:方汉)


    发布人:netbull 来自:蓝森林