CD-ROM驱动器使用一个光学可读的塑料涂布的盘片。 信息记录在盘片表面 的从中心的边沿的螺旋型小坑上。 驱动器发出一束激光来读盘。当激光射到小坑上,激光以一种方式反射;当它射到光滑表面上,它以另一种方式反射。 这很容易地编码成bit,组成信息。其他很容易,不过是机械。
CD-ROM驱动器比硬盘慢。典型的硬盘的平均寻道(seek)时间小于15毫秒,而快速的CD-ROM驱动器 要花零点几秒。实际数据传输率则相当快,在数百KB/s。速度慢使CDROM驱动器不能代替硬盘使用 (有些Linux distributions提供"live" CD-ROM文件系统,使之不必拷贝文件到硬盘,使安装简 单并节约了许多硬盘空间),虽然是可能的。要安装新软件,CD-ROM很好,因为在安装时速度并非 最重要的。
有多种方法在CDROM上安排数据。最流行的是国际标准化组织定义的ISO9660。 这个标准定义了一个最小的文件系统,甚至比MSDOS更粗糙。这样,由于它是这么小,所有操作系统 都可以将它映射到自己的系统。
不同UNIX不能使用ISO9660文件系统,因此开发了对这个标准的一个增强,叫Rock Ridge增强。 Rock Ridge允许长文件名、符号连接和许多其他优点,使CD-ROM更象UNIX文件系统。 同时,Rock Ridge文件系统仍然是一个有效的ISO9660文件系统,使非UNIX一样可以使用。 Linux同时支持ISO9660和Rock Ridge增强,增强被自动识别和使用。
文件系统只是一部分,许多CD-ROM包含的数据需要特定的程序存取,而多数程序不能运行在Linux下 (当然,可能运行在Linux的MSDOS仿真器dosemu下)。
CD-ROM驱动器通过相关的设备文件存取。 有多种方法将CDROM连接到计算机:SCSI、声卡或EIDE。 要完成这的硬件hacking工作超出了本书的范围,但连接方法决定了设备文件。 指导见[Anv]