当前位置:Linux教程 - Linux - Linux 2.4.0版内核新在哪里

Linux 2.4.0版内核新在哪里



         作者:门宣 
    1月4日,Linux之父 Linus Torvalds宣布,推出正式版的Linux 2.4.0版内核。Linux对大型公司所做的承诺随2.4版内核的发布已变成现实,新内核具有广泛的硬件支持,优秀的可伸缩性、可靠性。
      总体特色
      Linux 2.4.0 是在Linux 2.2之后基础架构进行了重新设计的内核版本,对基本的APIs重新进行了整理、精炼,并进行了大规模的性能改进和扩充。Linux 2.4.0是第一版包含可以对系统资源进行全面管理的资源管理子系统的内核。它改写、强化了2.2版的PCI卡数据库,使所有的资源都有一个相关的设备名,而不是单有一个相关的驱动程序。它修正了虚拟文件系统层的一些问题,把难于同步的依赖于一个双缓冲区的文件缓存系统,改成了简单的单缓冲区系统,减少了缓冲区对内存的使用,提高了系统的速度。

      新版中具有许多“企业级”特性:一、可以处理更多的并发进程,通过提供一个可配置的进程数额度,使得在多处理器系统上性能更优。二、修正了调度器,可更好地管理大量的突发进程。三、可以管理令人惊异的大约42亿的用户和组;可以支持具有强大功能的硬件,支持64G内存、16个以太网卡、10个IDE控制器,更多的IO-APICs等等;文件大小免去了2G的限制。新内核将大大增加Linux的使用范围。

      下面着重从处理器、设备管理、系统总线、文件系统、多媒体等几个方面表述Linux 2.4.0的新改进。

      处理器
      Linux 2.4.0加入了三种新体系的支持:IA64 (Itanium)、S/390 (一种 IBM 主机)和 SuperH (Windows CE 硬件),也包括了对新的64位MIPS处理器的支持。

      对于Intel及其兼容硬件的支持,所有的Intel芯片(从386直到Pentium 4);AMD的K6系列、Athlon/K7、Crosoe、Winchip系列、Cyrix系列,特殊指令MMX、SSE和3DNow!都可得到良好支持。代码做了优化,提高了Linux在高性能处理器上的运行效率。

      另外,Linux 2.4.0包括对使用频率较高的其它硬件芯片,如非-Intel的MTRRs/MCRs和它们的各种变体的支持;对 IO-APIC(高级可编程中断控制器)在多处理器和单元处理器系统上的支持;使Linux在高端硬件上性能更优秀。

      Linux 2.4.0不但加入了对Pentium 4的支持,而且增加了对2GHz以上运行速度处理器的支持。尽管现在还没有这样的处理器,但不久以后,普通消费者就可以使用上这样的处理器。

      设备管理
      DevFS设备文件系统是Linux 2.4.0一个全新的功能。它在底层改写了用户与设备交互的方式和途径,是新内核最激进的改动。它会给用户在两方面带来影响。首先,几乎所有的设备名称都做了该变,例如:“/dev/hda”是用户的硬盘,现在可能被定位于“/dev/ide0/...”。这一修改方案增大了设备可用的名字空间,且容许USB类和类似设备的系统集成。其次,不再需要用户自己创建设备节点。DevFS的 /dev目录最初是空的,里面特定的文件是在系统启动时、或是加载模组后驱动程序载入时建立的。当模组和驱动程序卸载时,文件就消失了。为保持和旧版本的兼容,可以使用一个用户空间守护程序“devfsd”,以使先前的设备名称能继续使用。

      系统总线
      新版内核继续支持(E)ISA、VLB、PCI, 并新增加了对IBM MCA的支持和进一步的扩展。

      直接支持ISA 即插即用设备,将ISAPnP 集成进资源管理器。容许这些设备在启动进程中使用,设备的配置也可以自动进行。Linux 2.4.0增强了这些硬件的使用价值,保护了用户的投资。

      Linux在支持I2O设备方面是相当超前的,I2O支持(智能输入输出)是一个新的更智能的PCI的超集。当年PCI以提供集中管理设备内存地址、注册功能而富于革命性,I2O设备则更进一步,它提供一个设备级的API。底层的操作系统只需读懂“普通”的I2O APIs,就可以访问相关的设备。操作系统不再受约束于特定硬件的驱动程序。目前使用I2O、发挥其优异性能的产品不多,但Linux已为I2O的使用做好了准备。

      虽然Linux 2.4.0对USB支持仍需改进和发展,但大量的普通的硬件,包括键盘,鼠标、音频系统、扫描仪和打印机等等,都已在内核中得到了支持。

      Linux 2.4.0支持(IEE1394)高速线、高带宽设备。尽管目前这种硬件结构的驱动和设备很少,随新设备的逐渐推出,Linux在这方面也会更加完美。

      块设备
      在2.4版内核中,修改了块设备的API。在内核级,从文件API中把块设备的API独立出来。

      在桌面系统,IDE总线硬盘是使用最普遍的。新版内核支持的IDE控制器数目从四个增加到十个。有多个IDE控制器的高端系统将会受益,另外可支持即插即用的IDE控制器、IDE软盘和磁带机、DVD和CD-ROM,支持ATA66。

      LVM(逻辑卷管理Logical Volume Manager)子系统已成为主流。Linux 2.4.0 以符合业界事实标准的形式提供了LVM子系统。LVM容许文件系统跨越磁盘调整大小,管理方式更灵活,系统效率更高,可满足企业级系统的需要。

      改写后的RAID子系统对单处理器系统和对称多处理系统都作了优化。在不使用ramdisk 的情况下,就可以以根磁盘的方式加载。

      文件系统
      Linux 2.4.0包括了所有Linux 2.2已支持的文件系统,如FAT(用于各种DOS版本)、NTFS(WinNT/Win2000)、VFAT和FAT32(Win9x/ME)、HFS(MacOS)、HPFS(OS/2)等,并且它们都已被重写(NTFS除外),以支持新的页面缓存系统。其兼容性也有了很大改善,可以在Linux系统更好地访问使用其它文件系统的设备。

      Linux 2.4.0新增加了DVD驱动器使用的UDF文件系统和早期IRIX版本的EFS文件系统。

      嵌入式设备是目前蓬勃发展的方向之一,Linux 2.4.0加入了对嵌入式设备使用的JFFS(日志闪速文件系统Journaling Flash Filesystem)和RamFS(一个内存中的文件系统,由于很小巧,可以自动快速地调整VFS层的大小)的支持。这两个文件系统都得到了各自用户圈的关注和钟爱。

      在网络文件系统方面,Linux 2.4.0增强了NFS目录树加载的稳定性,第一次包括了对最新的NFS协议版本NFSv3的支持,对于NFSv4的支持也正在开发中。

      Windows 系统使用SMB(服务器信息块,Server Message Block)协议作为网络文件系统。Linux 2.4.0可以更好地识别远程服务器的类型、并自动对错误进行修复,提高了支持各种Windows版本的能力。

      分区表
      Linux 2.4.0包含了对众多的异构系统分区表的支持和改进。在2.2版和更早期的Linux版本中,Macintosh分区表只可以在PPC或m68k平台读取,而Intel的硬件,内核可以识别使用标准的IBM格式、BSD分区表和其它一些扩展。而在2.4版中,分区表操作代码已被重写,不同平台之间的鸿沟已被填平。现在可以在Intel Linux机器上使用一个外接的Macintosh硬盘。Linux现在可以跨平台读取和使用所支持的任何分区表格式。

      字符设备
      字符设备包括串口、并口、键盘、鼠标和终端设备等。

      Linux 2.4.0对键盘和鼠标的支持有了很大的进步,可支持USB口的键盘和鼠标,也支持那些不能被BIOS初始化的键盘和自测有麻烦的系统。新版内核包括一个扩展用以支持数字化转换器类小设备的模拟选项,它可以当作一个普通的鼠标使用。

      使用2.4版内核可以在PCI串行卡上共享IRQs,另外为多端口串行卡添加了许多新的驱动程序。这些变化会让用户在使用串口时更容易。

      并口子系统重写后,用户可访问系统并口的所有增强模式,包括UDMA(快速I/O);可直接发送控制信息到并口设备,如打印机。这样Linux可以把内核调试信息发送到行式打印机,功能可媲美商业UNIX。

      多媒体
      在桌面应用方面,Linux 2.4.0作出了许多努力,加入了许多新型声卡、TV和无线电调谐器的驱动,同时升级了已有的大量驱动,加入声卡全双工支持。Linux 2.4.0 和Linux2.2的后期版本加入了代码,可以使一些音频设备更容易在内存中寻址、配置使用。支持高级特性的音频子系统的重写工作也正在进行中。

      视频卡
      2.4版内核包括许多新的驱动程序和旧驱动的升级。这里特别重要的是对更多的标准VGA卡的支持和配置。现在,XFree86工程提供了比内核更多的视频卡驱动程序,所以通常不必使用内核这一功能支持X Window 系统。

      另一个值得关注的变化,是Linux内核的直接显象管理器DRM(Direct Rendering Manager)。DRM清除那些对图形硬件的访问、排除了许多进程写向视频卡可能立即引起崩溃的情形,可增加系统的稳定性。DRM也可作为DMA访问视频卡的入口点,因而一些电视接收卡将工作得更稳定。

      网络与协议
      Linux的网络套接口模型是以兼容大多数UNIX系统为标准的。如果有多个进程都从同一个网络套接口(例如一个Web服务器)等待一个事件,当检测到事件的活动时,2.4版内核可以做到只“唤醒一个”(Wake One),消除多个进程同时激活的负面影响。这可使Apache一类的应用效率更高,让Linux在Web服务器方面更具竞争力。

      内核防火墙和IP伪装功能是完全重写的。新的子系统被分成两部分,包过滤层和网络地址转换层(NAT)。新的子系统应用范围更加广泛,在普通Linux机器上就可以作大多数复杂的第三层路由。

      企业级网络方面,增加了对DECNet、ARCNet协议和硬件的支持,使得Linux和专用网络可互操作。Linux 2.4.0也包括对高速网络中ATM适配器的支持。

      在桌面应用方面,ISDN的PPP层和串口设备PPP层合并到了一起。ISDN模块支持许多新的卡。内核中也加入了对基于以太网的PPP(PPPoE,一些DSL供应商使用)的支持。

      内核Web守护程序
      2.4版内核最引人注目的另一特色,是内核Web守护程序---- khttpd。Linux 2.4.0支持一内核模块,可以在不和任何用户级的服务程序(例如Apache)通信的情况下处理HTTP请求。这一特性不是设计用以取代Apache或其它的Web服务器,而仅仅被用于服务于“裸”文件(无CGI)。这一特性特别适合于静态内容的快速Web服务,如专用图像服务器。

      其它新特性
      一般人们不会把易用性、用户友好与Linux联系在一起。所以大家一定会吃惊2.4版内核支持语音合成器卡,使用这一驱动程序和相应的硬件,可以让视力弱的Linux用户听到所有的Linux输出,包括启动过程早期的内核信息。

      内核级加密方面也有一些补丁程序,可以使用这些补丁在内核子系统中加入加密功能。

      文档首次使用了和HTML相像的DocBook格式。DocBook是GNOME和GNU工程采纳使用的格式。

      linux内核2.4新增功能简介

    linux 内核功能支持模块 linux 2.4.0主要新增功能
    处理器 加入了三种新体系的支持:ia64 (itanium)、s/390和superh (windows ce 硬件),也支持新的64位mips处理器。
    设备管理 使用devfs设备文件系统
    系统总线 继续支持(e)isa、vlb、pci, 并新增对ibm mca的支持;普通硬件设备的广泛usb支持;超前支持i2o设备、(iee1394)高速线、高带宽设备€
    块设备 从文件api中把块设备的api独立出来;支持的ide控制器数目从四个增加到十个;提供了lvm子系统;raid子系统对单处理器系统和对称多处理系统都作了优化。
    文件系统 重新改写后的文件系统支持新的页面缓存系统;增加了dvd驱动器使用的udf文件系统和早期irix版本的efs文件系统;加入了对嵌入式设备使用的jffs和ramfs文件系统;第一次对最新的nfs协议版本nfsv3支持。€
    分区表 分区表操作代码已被重写,不同平台之间的鸿沟已被填平。linux现在可以跨平台读取使用所支持的任何分区表格式。
    字符设备 对键盘和鼠标的支持有了很大的进步;可在pci串行卡上共享irqs;用户可访问系统并口的所有增强模式。
    多媒体 加入了许多新型声卡、tv和无线电调谐器的驱动,同时升级了已有的大量驱动,加入声卡全双工支持。
    视频卡 对更多标准vga卡支持;加入直接显象管理器drm。
    网络与协议 增加了对decnet、arcnet协议和硬件的支持,使得linux和专用网络可互操作;对高速网络中atm适配器支持。
    内核web守护程序 新加入内核web守护程序---- khttpd。
    其它 支持语音合成器卡;支持在内核子系统中加入加密功能;文档首次使用和html相像的docbook格式。
    发布人:Crystal 来自:赛迪网