I/O系统,用于管理诸如打印机和扫描仪等I/O设备,以及用于存储数据,如磁盘驱动器和磁带机等各种存储设备。
I/O系统管理的主要对象是I/O设备和相应的设备控制器
I/O系统的基本功能
- 隐藏物理设备的细节
为了对千差万别的I/O设备进行控制,通常为它们配备相应的设备控制器。这是一种硬件设备,其中包含若干个用于存放控制命令的寄存器和存放参数的寄存器。用户通过这些命令和参数,可以控制外部设备执行所需要的操作。 - 与设备的无关性
用户不仅可以使用抽象的I/O命令,还可以使用抽象的逻辑设备名来使用设备。 - 提高处理机和I/O设备的利用率
许多I/O设备之间是相互独立的,能够并行操作,在处理机与设备之间也能够并行操作。一方面要求,处理机能快速响应用户的I/O请求,使I/O设备尽快运行起来;另一方面也应该尽量减少在每个I/O设备运行时处理机的干预时间。 - 对I/O设备进行控制
对I/O设备进行控制的是驱动程序的功能。目前对I/O设备有四种控制方式:
(1)采用轮训的可编程I/O方式
(2)采用中断的可编程I/O方式
(3)直接存储器访问方式
(4)I/O通道方式
具体采用什么控制方式,与I/O设备的传输速率、传输的数据单位等因素都有关。
如打印机、键盘终端等低速设备,由于其传输的基本单位是字节——采用中断的可编程方式
磁盘、光盘等高速设备,由于其传输数据的基本单位是数据块——采用直接存储器访问方式
I/O通道方式——使对I/O操作的组织和数据的传输,都能独立进行而无需CPU的干预 - 确保对设备的正确共享
从设备的共享属性上,可将设备分为两类
(1)独占设备,进程互斥地访问之类设备,系统一旦把这类设备分享给某进程后,便由该进程独占,直至用完释放。
典型的独占设备有:打印机、磁带机
(2)共享设备,是指在一段时间内允许多个进程同时访问的设备
例如:磁盘
当有多个进程需要对磁盘进行读、写操作时,可以交叉进行,不会影响正确性 - 错误处理
错误分为临时性错误和永久性错误
对于临时性错误,可通过重试操作来纠正
发生持久性错误,需要报告给上层