输入输出设备

在任何计算机系统的更"外部"的一层是输入输出设备,包括像键盘、鼠标、声卡、显卡等显而易见的东西,还包括像游戏操纵杆以及辅助设备等不那么常见的东西。在2.6的开发周期里,许多Linux的用户端子系统得到了扩展,但大部分常见设备都已经非常成熟了。Linux 2.6中对这些设备的改进多半衍生于内核对外部总线支持的改进,比如蓝牙无线键盘以及其它类似设备。尽管如此,Linux 在好几个领域都有更大的改进。

人机接口设备

Linux 2.6中一个主要的内部改动是人机接口层的大量重写。人机接口层是一个Linux系统中用户体验的中心,包括视频输出、鼠标、键盘等。内核的新版本中,这一层的重写以及模块化工作超出了以前的任何一个版本。使用新内核构建一个不包含对显示器等的支持的完全"headless"的Linux系统是可能的。嵌入式系统开发人员或许会是这一模块化工作的主要受益者,可以制造出只能通过网络或串行线管理的设备;另一方面,对普通用户也是有好处的,因为许多关于设备及体系结构的内在假设被模块化了。比方说,之前总是假定如果你拥有一台PC,那么你一定需要对标准AT(i8042)键盘控制器的支持。在 Linux 的新版本中移除了这一要求,因而可以在不那么遵照传统的系统中抛开不必要的代码。

Linux对显示器输出处理的支持也有不少改进,但大部分只在配置使用内核内部的帧缓冲控制台子系统时才有用。( 多数基于Intel体系的Linux机器并不采用这种方式配置,但其他大部分体系结构却采用。)在我看来,最大的亮点在于启动图标(如果你从来没有见过,那我告诉你那是一只可爱的企鹅)现在支持24 bpp的分辨率。这是一个方面,其它的面向控制台的新特性包括可以重设大小、旋转等(对PDA及其它类似设备),还有为更多的硬件提供了硬件加速支持。最后,Linux现在对VESA监视器的显示能力信息的查询提供了内核支持,虽然XFree86 和大部分发布版本的安装系统都在用户空间提供了这种支持。

除这些比较大的改进之外,Linux 2.6 在人机交互方面还有一系列小的改进。比方说,现在支持触摸屏了。另外,鼠标及键盘驱动程序也得到了更新和标准化,现在不管底层的硬件或协议是什么,系统都只导出一个单一的设备节点(比如 /dev/input/mouse)。一些怪异的鼠标(比如有多个滚轮的)现在也得到了支持。PC键盘的键值映射得到了更新,以遵循Windows 的"标准"来支持扩展键。对游戏控制杆的支持也得到了提升,这不仅仅得益于许多新的驱动程序(包括 X Box 游戏控制盘的驱动),还归功于引入了一些新的特性,如力量反馈(force-feedback)。最后(但绝不是最不重要的),新版本内核提供了对 Tieman Voyager 的盲人用 TTY设备的支持,以使盲人用户更好地使用Linux。(这个特性是如此的重要,以至于被向后移植到了Linux 2.4。)

顺便提一下,Linux 修改了"系统请求"接口以更好地支持那些没有本地键盘的系统。系统请求接口("sysrq")是系统管理员在本地控制台做一些高级工作的方法,比如获取调试信息、强制系统重启、重新挂载文件系统为只读等等。因为 Linux 2.6 现在支持一个完全"headless"的系统,所以现在也可以通过/proc 文件系统触发这些事件。(当然,如果你的系统已经挂起而你又要强制它做一些事情,这一特性也帮不上你什么忙。)

音频

对于桌面用户而言,Linux 2.6 中最为期望的新特性之一是以ALSA(Advanced Linux Sound Architecture)取代过时的声音系统。旧式的声音系统OSS(Open Sound System)很早的时候起便为Linux提供音频支持,但是它有许多体系结构上的缺陷。新系统首要的改进在于它从设计之初开始便是完全线程安全的,且能很好的工作于 SMP 系统。这修正了过去的许多驱动程序在"桌面即意味着单CPU"这一教条的例外情况下不能正常工作的问题。更为重要的是,此驱动程序从一开始便采用模块化设计(Linux旧版本的用户应该还记得,在Linux 2.2时代,模块被解构以适应声音系统),这使得系统能更好地支持多块声卡,包括不同类型的声卡。无论系统内部是多么完美,如果没有一些令人惊讶的新特性,系统对于用户来说仍没有任何改进。事实上,新的声音系统有许多这样的新特性。其中最为重要的是提供了对许多新硬件(包括USB音频及MIDI设备)的支持,支持全杜比录音及回放、无缝混音、支持声音合成设备等等。无论你是一个音响发烧友或只是喜欢播放 MP3 的人,Linux提升的声音支持都将是大受欢迎的一个进步。

多媒体

现今单纯的音频支持似乎远远不够,用户想要的是对真正新奇的硬件的支持,比如网络摄像机,广播及电视适配器,数字视频录制器等。Linux在2.6版本中对以上三者的支持都有所提升。

Linux对广播卡的支持(通常是通过用户空间实现历经了好几个开发周期,而对电视调谐器和视频摄像机的支持只是在最近的1、2个主要版本中才有。此系统通常称为V4L(Vedio4Linux 译者注: "4" for "for"),在新版本的内核开发中得到了重大更新,包括API的清理工作以及对设备更多功能的支持。新的API与旧版本不兼容,支持它的应用程序需要随内核的升级而升级。

作为一个全新的领域,Linux 2.6首次包含对DVB(Digital Video Broadcasting,数字视频广播)硬件的支持。这种硬件常见于机顶盒,它可以使得Linux服务器通过适当的软件变为一台tivo(类似机顶盒的设备)。


相关内容