设备管理的主要功能有: 缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性等。由于I/O 设备不仅种类繁多,而且它们的特性和操作方式往往相差甚大,这就使得设备管理成为操作系统中最繁杂且与硬件最紧密相关的部分。
1 I/O 系统
顾名思义,I/O 系统是用于实现数据输入、输出及数据存储的系统。在 I/O 系统中,除了需要直接用于 I/O 和存储信息的设备外,还需要有相应的设备控制器和高速总线。在有的大、中型计算机系统中,还配置了 I/O 通道或 I/O 处理机。
1.1 I/O 设备
分类方式(省略)
设备与控制器之间的接口
通常,设备并不是直接与 CPU 进行通信,而是与设备控制器通信,因此,在 I/O 设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号,各对应一条信号线。
1) 数据信号线
这类信号线用于在设备和设备控制器之间传送数据信号。对输入设备而言,由外界输入的信号经转换器转换后所形成的数据,通常先送入缓冲器中,当数据量达到一定的比特(字符)数后,再从缓冲器通过一组数据信号线传送给设备控制器,如图 5-1 所示。对输出设备而言,则是将从设备控制器经过数据信号线传送来的一批数据先暂存于缓冲器中,经转换器作适当转换后,再逐个字符地输出。
2) 控制信号线
这是作为由设备控制器向 I/O 设备发送控制信号时的通路。该信号规定了设备将要执行的操作,如读操作(指由设备向控制器传送数据)或写操作(从控制器接收数据),或执行磁头移动等操作。
3) 状态信号线
这类信号线用于传送指示设备当前状态的信号。设备的当前状态有正在读(或写);设备已读(写)完成,并准备好新的数据传送。
1.2 设备控制器
设备控制器是计算机中的一个实体,其主要职责是控制一个或多个 I/O 设备,以实现 I/O设备和计算机之间的数据交换。它是 CPU 与 I/O 设备之间的接口,它接收从 CPU 发来的命令,并去控制 I/O 设备工作,以使处理机从繁杂的设备控制事务中解脱出来。
设备控制器的基本功能
1) 接收和识别命令
2) 数据交换
3) 标识和报告设备的状态
4) 地址识别
5) 数据缓冲
6) 差错控制
设备控制器的组成
1) 设备控制器与处理机的接口
2) 设备控制器与设备的接口
3) I/O 逻辑