5.6. 光盘

光盘驱动器使用光学读取的塑料涂层光盘。信息被记录在光盘表面上的小“孔”中,这些“孔”沿着从中心到边缘的螺旋线排列。驱动器 направляет 激光束沿着螺旋线读取光盘。当激光束照射到孔时,激光以一种方式反射;当它照射到光滑表面时,它以另一种方式反射。这使得编码比特,从而编码信息变得容易。其余的都很简单,只是机械原理。

与硬盘相比,光盘驱动器速度较慢。典型的硬盘驱动器的平均寻道时间小于 15 毫秒,而快速的光盘驱动器可能需要十分之几秒来进行寻道。实际数据传输速率相当高,达到每秒数百千字节。速度慢意味着光盘驱动器不如硬盘驱动器那样使用起来令人愉快(一些 Linux 发行版在光盘上提供“live”文件系统,使得无需将文件复制到硬盘,从而使安装更容易并节省大量硬盘空间),尽管这仍然是可能的。对于安装新软件,光盘非常好,因为安装期间最大速度不是必需的。

在光盘上排列数据有几种方法。最流行的一种是由国际标准 ISO 9660 规定的。该标准规定了一个非常基本的文件系统,甚至比 MS-DOS 使用的文件系统还要简陋。另一方面,它又非常基本,以至于每个操作系统都应该能够将其映射到其原生系统。

对于正常的 UNIX 使用,ISO 9660 文件系统不可用,因此开发了该标准的扩展,称为 Rock Ridge 扩展。Rock Ridge 允许更长的文件名、符号链接和许多其他优点,使光盘看起来或多或少像任何现代 UNIX 文件系统。更妙的是,Rock Ridge 文件系统仍然是有效的 ISO 9660 文件系统,使其也可以被非 UNIX 系统使用。Linux 同时支持 ISO 9660 和 Rock Ridge 扩展;扩展会被自动识别和使用。

然而,文件系统只是战斗的一半。大多数光盘包含需要特殊程序才能访问的数据,而这些程序大多数都不能在 Linux 下运行(除非可能在 dosemu(Linux MS-DOS 模拟器)或 wine(Windows 模拟器)下运行)。

具有讽刺意味的是,wine 实际上代表“Wine Is Not an Emulator”(Wine 不是模拟器)。更严格地说,Wine 是一个 API(应用程序编程接口)替换。请参阅 wine 文档,网址为 http://www.winehq.com 以获取更多信息。

还有 VMWare,这是一款商业产品,它在软件中模拟整个 x86 机器。请参阅 VMWare 网站 http://www.vmware.com 以获取更多信息。

光盘驱动器通过相应的设备文件访问。有几种方法可以将光盘驱动器连接到计算机:通过 SCSI、通过声卡或通过 EIDE。完成此操作所需的硬件修改超出了本书的范围,但连接类型决定了设备文件。