1、设备独立性概念:
指应用程序中所使用的设备,不局限于使用某个具体的物理设备,也称为设备无关性。
2、设备独立性软件:
为了实现设备独立性,在设备驱动程序之上设置一层软件,称为与 设备无关的I/O软件 或 设备独立性软件。
设备无关的软件 是I/O系统最高层软件
3、设备独立性好处:
用户编程时所用的设备名(逻辑上的)与实际物理设备无关;
1)设备分配时的灵活性
2)易于实现I/O重定向
4、逻辑设备名到物理设备名的映射
通过 逻辑设备表LUT (存在pcb中)
5、设备分配中的数据结构
- 设备控制表 (DCT)
- 控制器控制表 (COCT)
- 通道控制表 (CHCT)
- 系统设备(总)表(SDT)
IO请求中的
设备名 -》 SDT -》 DCT -》 COCT --》CHCT
用户层的I/O软件:
1、 小部分I/O系统软件放在了用户应用层上。
- 库函数(与应用程序链接)
- 假脱机技术(虚拟设备)
2、系统调用与库函数
OS在用户层中引入了系统调用,应用程序可以通过它,间接调用OS中的I/O过程,对I/O设备进行操作。
3、设备分配中的虚拟技术
—— SPOOLing技术 或 假脱机操作 (联机情况下实现的同时外围操作为SPOOLing 技术)
1) SPOOLing系统的组成:
- 输入井和输出井(外存上)
- 输入缓冲区和输出缓冲区(内存上)
- 输入进程和输出进程
2)SPOOLing系统的特点:
- 提高了I/O的速度
- 将独占设备改造为共享设备。
- 最终,实现了虚拟设备功能