设备独立性:
意义
- 现代计算机系统常常配置许多类型的外围设备,同类设备又有多台,如果应用程序是通过物理设备名来申请设备,那么当指定的某台设备有故障时,就不能满足申请,该作业也就不能投入运行。例如系统拥有A、B两台打印机,现有作业J1申请一台打印机,如果它指定使用A,那么当打印机A出现故障时,虽然系统还有同类设备B是好的且未被占用,也不能接受作业J1,显然这样做很不合理。
- 为了解决这一问题,通常应用程序不使用物理设备名申请设备,而使用逻辑设备名,使得用户作业和物理设备独立开来。操作系统会建立逻辑设备和物理设备之间的对应关系,我们称这种特性为“设备独立性”。
相关概念和实现方法
基本含义
- 为了提高操作系统的可适应性和可扩展性,在现代操作中都毫无例外地实现了设备独立性,也称为设备无关性。 其基本含义是: 应用程序独立于具体使用的物理设备。
- 为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中,使用逻辑设备名称来申请使用某个设备;而操作系统在实际执行时,还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。
- 实现设备独立性后,操作系统将把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。
优点
在实现了设备独立性的功能后, 可带来以下两方面的好处。
- 设备分配时的灵活性
- 易于实现I/O重定向。
实现
- 操作系统提供了设备独立特性后,程序员可利用逻辑设备进行行输入输出,而逻辑设备与物理设备之间的转换通常由操作系统的命令或语言来实现。
- 不同操作系统设备转换方法不尽相同,大体上一般使用以下方法实现设备转换:
- 利用作业控制语言实现;
- 利用操作命令实现;
- 利用高级语言的语句实现。
参考
王道操作系统