一、操作系统设备管理的概念
操作系统的第四大功能,即对硬件的管理。主要内容有:外部设备的分类、输入输出设备的分配算法、外部设备和CPU之间的数据传送控制方式(程序直接控制方式、中断控制方式、DMA方式和通道方式)和设备驱动程序等。
1、设备管理的任务
(1) 按用户需求提出的要求接入外部设备;
(2)尽量提高输入输出设备的利用率。
2、设备管理的功能
(1) 分配设备
按设备的不同类型和操作系统选用的算法分配,包括分配相应的通道、设备控制器以及对未分配的任务或作业进行排队等。
(2) 控制和实现真正的输入输出并行操作
包括通道程序控制、启动设备、及时响应及处理中断讯号等。
(3) 对输入输出缓冲区进行管理
如:逻辑名的管理,多个缓冲区的分时及串并行操作,同类多个外部设备的均衡工作。
(4)在一些较大系统中实现虚拟设备技术。
二、设备I/O内外存数据传送方式
1. 询问(query)即程序直接控制方式:
实时系统中必须采用,在一般系统中也广泛使用,但系统开销较大,每次进行输入输出工作都需要由主机CPU干预。
2. 中断(interrupt)
有硬中断和软中断之分,中断按级别分类排队工作。中断工作主要由中断请求、中断响应和中断服务处理组成。
3. 通道(channel)
有硬通道和软通道之分,硬通道如典型的DMA工作方式;软通道是软件设计中使用的各种“标识”和传送机构等。
4.直接内存存取方式(DMA,direct memory access)
DMA 方式有以下几个特点。
(1) 外设和主存之间开辟直接的数据传送通路。
(2)使用一个专门的DMA控制器(DMAC)。DMAC内有控制状态寄存器、传送字数计数器和内存地址寄存器以及可能有的数据缓冲器。
(3)在通常情况下,所有工作周期均用于CPU的程序。
当设备要输入/输出数据时,窃取一个工作周期,在DMAC的控制下,完成外设和内存直接交换数据。这个周期过后,CPU仍继续执行。DMA控制实质上取代了CPU对I/O的控制。
(4) 在输入/输出时,CPU只需向DMA控制器提供必须的控制信息,DMA控制器类式处理器能自动控制一批信息的传输,传输结束后再向CPU发出中断,较好地解决了外设与主机的成批信息交换。
三、四种设备I/O方式的比较
程序直接控制方式和中断控制方式只适用于简单的、外设很少的计算机系统,因为程序直接控制方式耗费大量的CPU时间和无法检测发现设备或其它硬件产生的错误,而且设备和CPU、设备和设备之间只能串行工作。
中断控制方式虽然在一定程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花大量的时间来处理中断,而且中断次数的增多也限制了并行工作的外设的台数,及导致数据丢失等问题。
DMA和通道技术比较好地解决了上述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。
DMA和通道方式的区别是,DMA方式要求CPU执行设备驱动程序启动设备,给出存放数据的内存始址以及操作方式和传送字节长度等;而通道控制方式则是在CPU发出I/O启动命令之后,由通道指令来完成这些工作。