设备独立性
为了提高操作系统的可适应性和可扩展性,在现代操作中都毫无例外地实现了设备独立性,也称为设备无关性。
其基本含义是: 应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中, 使用逻辑设备名称来请求使用某类设备;而系统在实际执行时, 还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。
在实现了设备独立性的功能后, 可带来以下两方面的好处。
1) 设备分配时的灵活性
2) 易于实现I/O重定向
设备独立性的概念
现代计算机系统常常配置许多类型的外围设备,同类设备又有多台,尤其是多台磁盘机,磁带机的情况很普遍。作业在执行前,应对静态分配的外围设备提出申请要 求,如果申请时指定某一台具体的物理设备,那么分配工作就很简单,但当指定的某台设备有故障时,就不能满足申请,该作业也就不能投稿运行。例如系统拥有A、B两台卡片输入机,现有作业J2申请一台卡片输入机,如果它指定使用A,那么作业J1已经占用A或者设备A坏了,虽然系统还有同类设备B是好的且未被占用,但也不能接受作业J2,显然这样做很不合理。为了解决这一问题,通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,我们称这种特性为“设备独立性”。具有设备独立性的系统中,用户编写程序时使用的设备与实际使用的设备无关,亦即逻辑设备名是用户命名的,可以更改是系统规定的,是不可更改的。设备管理的功能之一就是把逻辑设备名转换成物理设备名。
设备独立性的优点
设备独立性带来的好处是:用户怀物理的外围设备无关,系统增减或变更外围设备时程序不必修改;易于对付输入输出设备的故障,例如,某台行式打印机发生故障 时,可用另一台替换,甚至可用磁带机或磁盘机等不同类型的设备代替,从而提高了系统的可靠性,增加了外围设备分配的灵活性,能更有效地利用外围设备资源, 实现多道程序设计技术。
操作系统提供了设备独立特性后,程序员可利用逻辑设备进行行输入输出,而逻辑设备与物理设备之间的转换通常由操作系统的命令或语言来实现。由于操作系统大 小和功能不同,具体实现逻辑设备到物理设备的转换就有差别,一般使用以下方法:利用作业控制语言实现批处理系统的设备转换;利用操作命令实现设备转换;利 用高级语言的语句实现设备转换。
设备独立性是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以象使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。