系统架构设计师-第2章-操作系统-2.4 设备管理

时间:2025-01-18 06:58:49

2.4.1 设备管理概述

1. 设备的分类

现代计算机系统都配有各种各样的设备,如打印机、显示器、绘图仪、扫描仪、键盘和鼠标等。设备可以有各种不同的分类方式。

在计算机系统中,将负责管理设备和输入/输出的机构称为I/O系统。因此,I/O系统由设备、控制器、通道(具有通道的计算机系统)、总线和I/O软件组成。

设备管理的任务是保证在多道程序环境下,当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成I/O设备与主存之间的数据交换。

设备管理的主要功能动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理I/O设备的操作、提供设备使用的用户接口及设备的访问和控制。

2.4.2 I/O软件

设计I/O软件的主要目标是设备独立性和统一命名。I/O软件独立于设备,就可以提高设备管理软件的设计效率。当输入/输出设备更新时,没有必要重新编写全部设备驱动程序

2.4.3 设备管理采用的相关技术

1. 通道技术

CPU只需向通道发出I/O命令,通道收到命令后,从主存中取出本次I/O要执行的通道程序并执行,仅当通道完成I/O任务后才向CPU发出中断信号。目的:使数据传输独立于CPU,将CPU从烦琐的I/O工作中解脱出来。

2. DMA技术

直接内存存取(DMA),是指数据在主存与I/O设备之间直接成块传送,即在主存与设备间传送一个数据块的过程不需要CPU的任何干涉。

3. 缓冲技术

包括硬件缓冲(硬件寄存器)和软件缓冲(操作系统)。是为了提高外设利用率,尽可能使外设处于繁忙状态。引入缓冲技术的原因:①缓和CPU与I/O设备之间速度不匹配的矛盾。②减少对CPU的中断频率,放宽对中断响应时间的限制。③提高CPU和I/O设备之间的并行性。

4. Spooling技术

假脱机技术,用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术。

系统如何利用Spooling技术将打印机模拟为虚拟打印机:当某进程要求打印输出时,操作系统在磁盘上的输出井中为其分配一块区域,该进程的输出数据高速存入输出井的相关区域中,而不直接在打印机上输出。输出井上的区域相当于一台虚拟打印机,各进程的打印输出数据都暂时存放在输出井中,形成一个输出队列。最后,由Spooling的输出程序依次将输出队列中的数据实际打印输出。这样,从用户的角度来看,他似乎独占一台打印机,可以随时根据运行的情况输出各种结果;但从系统的角度来看,同一台打印机又可以分时地为每个用户服务。用户进程实际上获得的是虚拟设备。Spooling技术缓和了CPU与I/O设备之间速度不匹配的矛盾,提高了CPU与I/O设备之间的并行程度。