正! 即插即用(Plug and play)" ?3 n( K/ e* Z' C3 ^- l- n' H
早期的 PC 为特定设备分配固定的端口号和 IRQ,比如键盘或者并行打印端口。这导致难以添加新设备或者使用两个相同类型的设备,比如两个调制解调器或者两个打印机。第一个串行端口通常称为 COM1,第二个称为 COM2。Linux 系统通常将它们称为 ttyS0 和 ttyS1。例如,某些可配置的卡通常具有硬件跳线,允许一个调制解调器既可以在 COM1 上使用也可以在 COM2 上使用。随着设备越来越多,原来分配的 IO 端口地址空间和 IRQ 不再能满足要求,从而提出了 即插即用(Plug and Play,PnP)。其思想是,允许设备告诉系统它需要多少资源及所需资源的种类,然后由 BIOS 告诉设备它应该使用的具体资源。IBM PS/2 开始使用这种半自动的配置,它使用了一种称为 微通道(microchannel) 的总线体系结构。后来,那个思想以及即插即用这一名称得到了 ISA 卡的使用,尤其是调制解调器和声卡,当时它们是流行的附加设备卡。PCI 总线进一步发展了那个思想,所有 PCI 设备都本质上是即插即用的。) o- G- G1 T! K& i* F8 d
如果使用的系统恰巧安装了 ISA PnP 设备,那么要意识到您必须避免设备间端口和 IRQ 的冲突。两个设备不能共享端口;每个设备 必须 拥有它自己的端口。这同样适用于 DMA 通道。除了一些例外情形,ISA 设备也不能共享 IRQ。如果有 非-PnP 设备,那么必须手工配置每个设备,以使得它不与其他设备相冲突。PnP 能够做的事情是自动执行配置。不过,如果有某些 ISA 设备不参与 PnP,那么这可能不会总是完全成功。为了让系统可用,可能能够使用 isapnptools(接下来会讨论)来解决冲突,或者可能不得不重新分配 非-PnP 设备上的某些端口和 IRQ。* g5 l" M4 \/ }9 e, A
在 2.4 内核之前,有一个名为 isapnptools 的软件包可以支持用户配置 PnP 设备。 isapnp 命令会解释配置文件(通常是 /etc/isapnp.conf)来配置 PnP 设备。这通常是在 Linux 引导过程中完成的。pnpdump 命令会扫描 PnP 设备,并转储 PnP 卡所需要的或者将要使用的资源列表。其格式可以由 isapnp 命令使用,只需要去掉实际希望使用的命令的注释。必须确保避免资源冲突。请参考 isapnp 和 pnpdump 的手册页以获得关于使用这些命令的更多资料。
: G" Z9 ]+ [1 R1 o/ D5 J8 S 从 2.4 内核起,Linux 内核就已经集成了 PnP 支持,isapnptools 软件包成为过时工具。例如,在 2002 年 5 月发布的 Red Hat 7.3 中已经将它删除了。这种支持类似于前面讨论的 PCI 支持。可以使用 lspnp 命令(kernel-pcmcia-cs 软件包的一部分)来显示关于 PnP 设备的信息。如果 BIOS 在初始化过程中找到了 PnP 设备,那么可以在 /proc 文件系统中找到其信息。文件 /proc/bus/pnp 将包含此信息。在只有 PCI 的系统中,这个文件不会出现。
# B2 }' e, B* S9 F IDE 硬盘驱动器
/ U+ u7 w" T7 @5 D2 S* I 在现代 PC 系统中,Integrated Drive Electronics(IDE)硬盘驱动器最为常见。与最初的 IBM PC-AT 相一致,这些也称为 AT Attachment(ATA)。另一类使用 Small Computer System Interface(SCSI)接口的驱动器也很流行,尤其是在服务器机器上。IDE 驱动器的优势在于价格低廉,而 SCSI 接口支持连接大量驱动器,并且在同一总线上对不同驱动器进行重叠操作的能力更强,因此具有更高的潜在性能。( j& s" z @" I2 V( I4 Z4 b5 m
一种名为 Serial ATA(SATA)的新类型驱动器最近进入了市场。SATA 规范试图突破 ATA 规范的某些限制,同时保持与 ATA 的有效兼容。) P, P8 B- u5 p8 H7 R7 } m8 |% L) A
BIOS 和 IDE 驱动器大小
5 U2 B! q' z- ^ f! P. S- J, f IDE 驱动器格式化为 扇区(sectors),即 512 字节的数据单元。一个驱动器可能包括多个旋转的盘面,所以扇区被排列中同心圆中,每个圆称为一个 柱面(cylinder)。通过 磁头(head) 来读写特定盘面的数据。要找到特定扇区的数据,磁盘会移动分配给那个柱面的磁头,选择适当的磁头并等待正确的扇区移动到磁头下面。这就引出了 CHS(表示 Cylinder、Head 和 Sector)寻址的概念。您可能也听说这叫做 磁盘几何学(disk geometry)。 |