问答题 什么是设备无关性(device independence)?
【正确答案】
【答案解析】设备无关性一般是指程序可以通过一组统一的操作过程来操作设备,这种操作接口与具体的设备无关。 [解析] 按照操作系统的设计目标,任何子系统追求的目标应该是“性能”和“方便”。在I/O管理中“方便”一词可以特指为“设备无关性”。
I/O管理的设备无关性是一种透明性问题,任何系统想达到完全的透明性是非常困难的。比如在现代操作系统中为设备操作都提供了“打开”“关闭”“读”“写”等接口,程序员可以使用与文件相同的模式操作设备。这就体现了一种“设备无关性”。
设备无关性的另一种形式是“统一的命名”,在UNIX系统中为所有的设备均在/dev目录下创建了一个设备文件,用户可以向打开一个普通文件一样打开设备。
即使这样,UNIX的设备无关性也不是完全的。为了支持对特殊设备的特殊控制,UNIX提供了ioctl接口,方便程序对设备的控制。比如可以使用ioctl设置串口的波特率、校验位等。
另外在程序设计领域、图形接口设计和文件设计方面也会出现“设备无关性”的术语。文件的设备无关性是指无论文件出现在哪个平台上,这个平台上的软/硬件均可以解释和操作它,比如HTML文件和XML文件等。