需要用于输入、输出和存储信息的设备;
需要相应的设备控制器;
控制器与CPU连接的高速总线;
有的大中型计算机系统,配置I/O通道;
1.隐藏物理设备细节,方便用户
用户使用抽象的I/O命令即可
2.实现设备无关性,方便用户
用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。
3.提高处理机和设备的并行性,提高利用率:缓冲区管理
4.对I/O设备进行控制:控制方式、设备分配、设备处理
5.确保对设备正确共享:虚拟设备及设备独立性等
错误处理
n层次结构:系统中的设备管理模块分为若干个层次
n层间操作:下层为上层提供服务,完成输入输出功能中的某些子功能,并屏蔽功能实现的细节。
①用户层软件
¨实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。
②设备独立软件
¨用于实现用户程序与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间。
③设备驱动程序
¨与硬件直接相关,用于具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。
④中断处理程序
¨用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后,返回到被中断进程。
¨块设备接口
数据的存取和传输都是以数据块为单位的设备。基本特征是传输速率较高、可寻址。磁盘设备的I/O常采用DMA方式
¨流设备接口
¨网络通信接口
Ø按设备的共享属性分类:
①I/O通道设备的引入
建立更独立的I/O操作,解放CPU。
实际上I/O通道是一种特殊的处理机:
指令类型单一,只用于I/O操作;
通道没有内存,它与CPU共享内存
②通道类型
1)字节多路通道
2)数组选择通道
3)数组多路通道
设备驱动程序——最了解设备控制器的人
设备驱动程序是I/O系统的高层与设备控制器之间的通信程序
设备独立性(无关性)
用户编程时所用的设备名(逻辑上的)与实际物理设备无关
设备分配中的虚拟技术
—— SPOOLing技术
虚拟性是OS的四大特征之一。
多道程序技术将一台物理CPU虚拟为多台逻辑CPU,实现多个用户共享一台主机
SPOOLing系统的特点
1.提高了I/O的速度
2.将独占设备改造为共享设备
3.最终,实现了虚拟设备功能