输入输出系统
I/O硬件系统
I/O系统用于实现数据输入,输出和存储,其管理的主要对象时I/O设备和相应的设备控制器
I/O系统的功能
隐藏物理设备的细节:通过抽象以隐藏物理设备的实现细节,统一向用户提供少量、抽象的读写命令
实现与设备的无关性:允许应用程序通过独立于具体物理设备的逻辑设备名请求某类设备,提高OS可移植性、易适应性。
提高处理机和I/O设备的利用率:减少处理机对I/O的干预,提高二者并行操作的程度
对I/O设备进行控制:通过设备驱动程序启动I/O设备进行数据传输,并能对数据传输进行有效的控制
确保对设备的正确共享,错误处理
I/O的层次结构
I/O设备一般是由执行I/O操作的机械部分(I/O设备)和执行控制I/O(I)的电子部件(设备控制器)组成(某些大型系统有I/O通道)
按信息交换的单位,I/O设备分为块设备和字符设备
块设备是数据的存取和传输都以数据块为单位的设备,例如磁盘。
字符设备(流设备)是数据的存取和传输以字符为单位的设备,大多须采取互斥方式实现共享,例如键盘,打印机。
设备控制器是CPU与I/O设备之间的硬件接口,可编址,每一个设备地址对应一个设备
设备控制器组成
I/O寄存器的访问方式
利用特定的I/O指令形式,缺点:访问内存和访问设备需要两种不同的设备
内存映像I/O形式,为每个寄存器分配一个唯一的内存地址
I/O通道
独立于主机CPU的、专门用来管理I/O的特殊处理器。拥有特定的通道指令。
I/O软件通常被组织成用户层软件,设备独立性软件,设备驱动程序,I/O中断处理程序四个层次。