📄 00000003.htm
字号:
统的鼠标键盘一样使用。另外,LINUX现在能够运行在更多的系统上,包括那些有 <BR>缺陷,BIOS不能初始化键盘的机器。而且,对不接键盘的机器也加强了支持。(主 <BR>要是对付那些没有键盘就无法工作的问题机器) <BR> <BR>所有版本的LINUX输出到屏幕都是用字符模式,尽管看起来并非如此。(LINUX通过 <BR>内置的扩展VT100终端接口来控制光标的定位,其实现方法是嵌入一个很小的文本 <BR>模式帧缓冲设备)如果使用的是帧缓冲设备而不是传统的文本模式,那么LINUX2. <BR>2会在帧缓冲设备上再重叠一层终端驱动模块,取得和传统文本模式相当或更好的 <BR>效果。 <BR> <BR>LINUX2.4对这个子系统并没有作太大的调整,但它首次支持了把主控台(CONSOLE <BR>,内核信息显示的主要渠道)重定向到并行口,以便接打印机输出。(早些版本的 <BR>LINUX就允许把主控台重定向到串行口。)这一功能主要为那些需要得到内核信息 <BR>或其他调试信息的硬拷贝的开发人员或者服务器应用而设。 <BR> <BR>当然,LINUX如果不能完美地支持各种端口,那也走不了多远。端口可以说是字符 <BR>设备最纯粹的形式,主要分串行口和并行口两种。 <BR> <BR>LINUX2.4的串行口支持并没有多大改变,2.2遗留下来的大多限制依旧存在。(特 <BR>别是串行口模块的选项,无法在模块调用时用参数改变这些选项,必须用外部的工 <BR>具)。2.2的晚期版本和 2.4允许同一块PCI多用户卡上的串行口共享IRQ,以前只 <BR>支持ISA卡或者主板上的串行口共享IR Q。一些其他的多用户卡也会得到更好的支 <BR>持,而且新驱动模块和旧模块的升级总是源源不断加入LINUX。 <BR> <BR>相比之下,并行口子系统在2.2的基础上经历了一番巨变。现在已经有了一个普遍 <BR>的并行口驱动模块,能同特性未明的并行口设备进行抽象的通信。举例来说,轮询 <BR>并行口设备PNP功能的程序就可以利用它。另外,LINUX2.4支持使用新并行口的所 <BR>有传输模式,包括在硬件支持时利用 DMA写并行口,这样能够加速对打印机和并行 <BR>口硬盘的访问。 <BR> <BR>红外线设备的支持大有进展,包括更好的红外网络支持。 在另一个战线,支持所 <BR>谓“WinMODEM”,或者说软猫的工作做得并不多。这些MODEM的功能大部分由软件 <BR>完成,而且生产厂商一般只提供WINDOWS下的驱动程序,由此得名。尽管到目前为 <BR>止支持这类设备的代码还没有递交给Linus,但在3.0发行之前它们还是有可能见天 <BR>日的。这方面主要的障碍是每种WINMODEM都各不相同,一种WINMODEM驱动程序基本 <BR>不可能驱动另一种WINMODEM,而市场上这类产品又多如牛毛。不过,开放源码软件 <BR>的黑客们经常做不可思议的事情,所以如果哪一天内核代码中加了哪种WINMODEM, <BR>我也不会奇怪。事实上,大部分的基础工作已经完成了。 <BR> <BR>当然,在某些方面LINUX2.4 还有进步的余地。USB上可以连接多套键盘和鼠标 但 <BR>LINUX2.4对此没有内置支持,你无法把一套键盘鼠标设成一个终端,把另一套键盘 <BR>鼠标设成另一个终端。这些功能可以由GGI开发项目支持。GGI为LINUX内核提供专 <BR>门的多头控制和帧缓冲支持,不过GGI还没有同主源码发行版同步,甚至有可能一 <BR>直作为Linux外围的开发项目。如果你需要这样的功能,GGI应该值得一试。(译注 <BR>:在图形界面下,Metro-X商业软件能够支持多头控制,未来版本的Xfree86也能 <BR>支持。) <BR> <BR>可访问性 <BR> <BR>一般不认为LINUX是“用户友好”的操作系统。因此,大家如果听说LINUX2.4和2. <BR>2的一些较晚的版本支持语音合成卡,也许会觉得奇怪。这些语音合成卡允许用户 <BR>用耳朵听LINUX的所有输出,包括系统起动早期的信息。很少有操作系统在内核层 <BR>具备如此完整的支持。如果要完全发挥这些卡的功能,还需要一些其他的补丁和工 <BR>具,但内核本身集成驱动程序,是LINUX向正确方向迈出的一大步。 <BR> <BR>多媒体:声音,电视,无线电广播等 <BR> <BR>复杂的字符设备就比较有趣了。LINUX在向桌面平台的发展过程中,花了大力气支 <BR>持这样的设备,包括声卡、电视卡、无线电广播卡、还有其他的音频和视频输出设 <BR>备。说老实话,LINUX 2.4在这方面还没有什么突破性的进展。但2。4还是支持了 <BR>许多新的声卡和视频卡,特别是提高了对全双工支持的水平。LINUX2.4还有代码能 <BR>够简化某些设备在特定地址范围内获取内存,从而大大简化了一些声卡的配置。 <BR> <BR>网络和网络协议 <BR> <BR>网络互联和网络硬件是LINUX历来的强项之一。这些玩意儿既不是字符设备,也不 <BR>是块设备,它们无须专门的设备节点(或者说设备文件)。LINUX2.4在这一方面会 <BR>有很大的提高,包括新的驱动模块,BUG的补救,还有给现存的驱动模块添加新功 <BR>能。 <BR> <BR>LINUX网络套接字实现的模式是UNIX下的普遍标准。可惜,这标准本身存在着一些 <BR>缺陷。不过还好,弥补这些缺陷用不着全盘把标准推翻。在LINUX2.2和之前的版本 <BR>中,如果有一组进程都在等待网络套接字上的一个事件(比如一组WEB服务器进程 <BR>),一旦事件发生,所有进程都会被唤醒。因此,LINUX每收到一个WEB请求,都会 <BR>唤醒一组进程,其中每个都会试图响应W EB请求。显然,多个服务器进程服务一个 <BR>请求没有意义,所以得到请求的只会是一个,所有其他的进程继续休眠。这在操作 <BR>系统理论中称雷电效应(Thundering Herd Effect / Stampede Effect ,一群羊 <BR>安静地躺着午睡,突然之间晴空霹雳。。。)LINUX早己把休眠-唤醒-休眠的过 <BR>程(Context Switch)尽量优化了,但显然这还是不够高效。LINUX2.4的做法是, <BR>如果事件 发生,只唤醒 一个进程(Wake One)。这可以提高Apache这类应用的效 <BR>率,使LINUX更适合 WEB服务器的角色。 <BR> <BR>同时,LINUX2.4的网络层是完全另起炉灶重写的。首先,新的网络层尽可能地实行 <BR>并行处理,因此其伸缩性比起以前的版本,不可同日而语。其次,它包括了许多的 <BR>优化,以便绕过不少流行操作系统网络实现中的不合理处(例如Windows)。这里 <BR>有必要指出,到目前为止,LINUX 是唯一与IPV4(译注:就是目前因特网使用的 <BR>TCP/IP协议版本)协议标准完全保持兼容的操作系统,而LINUX2.4的IPV4伸缩性又 <BR>大有提高。不过,为保证兼容标准,以前定义IP别名的冒号格式(eth0:0)会在 <BR>2.4中取消,一些高级用户可能得改写他们的SHELL脚本了。 <BR> <BR>下一个重大突破是对DECNet协议的支持,这允许Linux更好地与一些 <BR>Digital/Compaq的小型机,如VMS通信。 <BR> <BR>对于低档桌面系统的用户,PPP是日常生活的一个重要组成部分。Linux2.4对PPP代 <BR>码进行了大范围的重写和模块化工作,现在ISDN上的同步PPP和串行口MODEM上的异 <BR>步PPP已经合而为一了。 <BR> <BR>作为结束语,我个人觉得Linux2.4可能会被称为“桌面LINUX”,因为它的桌面功 <BR>能有如此显著的提高。我也知道,一定会有人不同意这样的说法,因为服务器或嵌 <BR>入式应用,也同样会从 Linux2.4获益良多。不过,只要Linux在不断地迅速发展, <BR>这些说法都无关紧要。 <BR> <BR>如果作者有误,请email <A HREF="mailto:jpranevich@Linuxtoday.com。">jpranevich@Linuxtoday.com。</A> <BR> <BR>如果译者有误,请email <A HREF="mailto:axisx@poboxes.com,请不要用HZ编码。">axisx@poboxes.com,请不要用HZ编码。</A> <BR> <BR> <BR>*版权声明:本文由夏昊先生译自linuxtoday.com,转载/发表请与夏昊直接联系. <BR> <BR> <BR> <BR>------------------------------------------------------------------------ <BR>-------- <BR> <BR> <BR>Copyright 1999,China Linux Forum <BR> <BR> <BR>-- <BR>梦后楼台高锁,酒醒帘幕低垂 <BR>去年春恨却来时,落花人独立,微雨燕双飞 <BR> <BR>记得小苹初见,两重心字罗衣 <BR>琵琶弦上说相思,当时明月在,曾照彩云归 <BR> <BR>※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.16.253] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -