5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理 第五章设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理 I/O系统中,包括用于实现输入、输出和存储功能的设备和相应的设备控制器。在大中型机中,还有I/O通道或I/O处理机。 设备管理的基本任务是完成用户提出的I/O请求,提高I/O速率、改善I/O设备的利用率。 设备管理的主要功能有,缓冲区管理、设备分配,设备处理,虚 拟设备以及实现设备独立性。
5.1 I/O系统 I/O 设备 设备控制器 I/O通道 I/O总线 I/O系统是用于实现数据的输入、输出及数据存储的 还需要相应的设备控制器和高速总线。 I/O 设备 设备控制器 I/O通道 I/O总线
1 I/O设备 设备的类型 1)按数据传输率分 高速设备 速率在每秒数百千个字节至数十兆字节。例如光盘机、磁带 机、磁盘机等。 中速设备 速率在每秒数千个字节至数万个字节。如打印机等。 低速设备 速率在每秒几个字节至数百个字节之间。如键盘、鼠标等。
在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等) 2) 按信息交换的单位分 块设备 以数据块为单位存储、传输信息。典型的块设备是磁盘,每 个盘块的大小为512B-4KB。磁盘设备的基本特征是传输速 率较高。另一特征是可寻址,即对它可随机地读写任一块。 字符设备 以字符为单位存储、传输信息。字符设备的基本特征是速率 慢,不可寻址。 3) 按设备的共享属性分 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等)
共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交 叉的方式来使用设备,其资源利用率高。(如硬盘) 虚设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设 备,用高速设备模拟低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共享的设备,提 高设备的利用率。
设备与控制器之间的接口 通常,设备并不直接与Cpu进行通信,而是与设备控制器通 信。因此,在设备与设备控制器之间应有一接口,在该接口中 有三种类型的信号,各对应一根信号线。 A 数据信号线 这类信号线用于在设备和设备控制器之间传输数据信号。 B 控制信号线 这是设备控制器向I/O设备发送控制信号时的通路。 C 状态信号线 该信号线用于传送指示设备当前状态的信号。
2 设备控制器 设备控制器是计算机中的一个实体,其主要职责是控制一个 或多个I/O设备,以实现I/O设备与计算机之间的数据交换。 设备控制器是Cpu与I/O设备之间的接口,它接受从Cpu发来 的命令,并去控制I/O 设备工作,以便使处理器从繁重的设 备控制事务中解脱出来。 设备控制器是一个可编址的设备,当它仅控制一个设备时, 它只有一个唯一的设备地址。若控制器可连多个设备时,则 应含有多个设备地址,使每个设备地址对应一个设备。 设备控制器可分为两类,一是用于控制字符设备的控制器, 另一个是控制块设备的控制器。
1 设备控制器的基本功能 1)接收和识别命令 Cpu可向控制器发送多种不同命令,设备控制器应能接收和 识别这些命令。 2)数据交换 1 设备控制器的基本功能 1)接收和识别命令 Cpu可向控制器发送多种不同命令,设备控制器应能接收和 识别这些命令。 2)数据交换 它能实现Cpu与控制器之间、控制器与设备之间的数据交 换。 3)识别和报告设备的状态 控制器记下设备的状态供Cpu了解。 4)地址识别 5)数据缓冲 控制器必须设置一些缓冲器。 6)差错控制 设备控制器还对传来的数据进行差错检测。
2 设备控制器的组成 设备控制器由三部分组成。 1)设备控制器与处理机的接口 该接口用于实现Cpu与设备控制器之间的通信。 2)设备控制器与设备之间的接口 3)I/O逻辑 用于实现对设备的控制。
3 I/O通道 1 通道的引入 虽然在Cpu与外设之间有设备控制器,但当外设很 多时,Cpu的负担仍然很重。为此,在Cpu与设备 控制器之间又增设了通道。使用通道的目的是为了 建立独立的I/O操作,不仅使数据的传输独立于Cpu, 而且尽可能地对I/O操作的组织、管理、及其结束也 独立,使Cpu从繁杂的I/O任务中解脱出来。 I/O通道是一种特殊的处理机,它具有执行I/O指令 的能力,并能通过执行通道程序来控制I/O操作。 I/O通道不同于一般的处理机,主要表现在2个方面:
通道类型 A 字节多路通道 指令类型简单 通道没有自己的内存 这是一种按字节交叉方式工作的通道。它有多个子 通道,每个子通道连接一台I/O设备,并控制该设备 的I/O操作。这些子通道轮流方式共享主通道。当一 个通道程序控制某台设备传送一个字节后,通道硬 件就控制转去执行另一个通道程序,控制另一台设 备传送信息。 主要连接以字节为单位的低速I/O设备。如打印机等。 以字节为单位交叉传输,当一台传送一个字节后, 立即转去为另一台传送字节
B 数组选择通道 选择通道 以成组方式进行数据传输,即每次传输一批数据。其传送速 率较高,主要用于连接高速I/O设备。由于数据选择通道在一 段时间内只能执行一个通道程序,控制一台设备,因此通道 的利用率很低。当这台设备数据传输完成后,再选择与通道 连接的另一台设备,执行它的相应的通道程序。 主要连接 磁盘,磁带等高速I/O设备。 选择通道
数组多路通道是将数组选择通道传输率高和字节多 路通道能使各个子通道分时并行操作的优点结合起 来而形成的一种新通道。它既具有很高的数据传输 C 数组多路通道 数组多路通道是将数组选择通道传输率高和字节多 路通道能使各个子通道分时并行操作的优点结合起 来而形成的一种新通道。它既具有很高的数据传输 率,又能获得令人满意的通道利用率。该通道广泛 用于连接多台高速、中速的外设。 硬件连接结构
主要目的是启动外设时: 通道:执行通道程序,向控制器发出命令,并具有向CPU发中 断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于 个设备,形成树形交叉连接 主要目的是启动外设时: a 提高了控制器效率 b 提高可靠性 c 提高并行度
3 “瓶颈问题” 由于通道少而外设多,造成整个系统吞吐量下降,形成瓶颈 问题。解决的办法是把外设连接到多个控制器上,而一个控 3 “瓶颈问题” 由于通道少而外设多,造成整个系统吞吐量下降,形成瓶颈 问题。解决的办法是把外设连接到多个控制器上,而一个控 制器又连接到多个通道上。这样,不仅解决了瓶颈问题,而 且提高了系统的可靠性。
4 系统总线 总线是用来连接各种设备的。总线的性能是用总线 的时钟频率、带宽和相应的总线传输率等指标来衡 量的。 A ISA总线和EISA总线 ISA这是1984年推出的286型微机而设计的总线结构, 带宽8位,最高传输率2MB/s。 EISA 带宽32位,传输率32MB/s ,可同时连接12台 外设。 B 局部总线
多媒体技术的兴起,要求总线具有更高的传输率。 EISA已难于满足要求,局部总线应运而生。 所谓局部总线,是指将多媒体卡、高速Lan网卡、 图形卡等从ISA上卸下来,再通过局部总线控制器直 接连到Cpu总线上,而打印机、CD-ROM等仍挂在 ISA总线上。 VESA 总线 总线带宽32位,最高传输率132MB/s,广泛用于 486微机中。 PCI 总线 这种总线支持64位系统。广泛用于奔腾系列计算机。
5.2 I/O控制方式 随着计算机的发展,I/O控制方式经历了四种形式,分别是程 序I/O方式,中断驱动I/O方式,DMA方式和通道方式。 启动输入设备输入数据时,把状态寄存器的忙/闲标准busy置 为1,然后不断地循环测试busy。当busy=1时,表示设备还 没输入完,处理机应继续对busy进行测试,直至busy=0,表 明输入机已将数据送入控制器的数据寄存器中。于是cpu将 数据寄存器的数据读出,送入内存指定单元中。接着处理机 继续启动控制器,读下一个数据。
向I/O控制器发读命令 由于cpu高速而I/O设备低速,造成cpu极大浪费。 读I/O控制器状态 未就绪 检查状态 从I/O控制器读入字 向存储器写字 流程完成?
2 中断驱动I/O方式 当某进程要启动I/O设备工作时,便由cpu向设备控制器发出 一条I/O指令,然后cpu继续执行原来的任务。设备控制器按 照命令的要求控制设备。此时,cpu与设备并行工作。当设 备工作完成时,才需要cpu花费极短的时间去做些中断出理。 在中断方式中,cpu和I/O设备都处于忙碌状态,从而提高整 个系统的资源利用率。 在I/O中断方式下,数据的输入(或输出)步骤如下: 设备驱动程序工作: 1、要求输入数据的进程把一个启动命令和允许中断位“1”写入相应设备的控制状态寄存器中,从而启动了该设备; 2、该进程因等待输入的完成进入睡眠状态。 3、当输入完成后,输入设备向CPU发出完成中断请求信号;
设备中断处理程序工作: 4、处理机响应中断,处理该中断,并唤醒等待输入完成的进程; 5、在以后的某个时期,该程序被调度到后,继续运行。 这种方式的优点是大大地提高了CPU的利用效率,缺点是每次I/O都要CPU的干预,如果系统中配备了多台(套)设备时,CPU的利用率也会降低。解决的方法是采用通道技术
3 DMA控制方式(direct memory access) 中断处理是以字为为单位进行I/O的,每当完成一个字节的 I/O时,便向cpu请求一次中断。而DMA方式与此不同。 DMA方式与中断的主要区别 中断方式传输的单位是字或字节,在数据完成后,发中断请求,CPU进行中断处理 DMA方式的传输单位是数据块,在所要求传送的数据块全部传送结束时要求CPU进行中断处理 中断方式要求了CPU进行中断处理的次数多,而DMA所 传送的数据是从设备直接到内存,或者相反。Cpu处理次数少 3 中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的
DMA控制器的组成 DMA控制器由3部分组成。一是主机与DMA控制器的接口, 二是DMA与块设备的接口,三是I/O控制逻辑。 须设置如下四类寄存器。 1 命令/状态寄存器 CR 2 内存地址寄存器 MAR 3 数据寄存器DR 4 数据计数器 DC
DMA工作过程 DMA工作示例 (以硬盘为例) CPU提供 被读取块磁盘地址 目标存储地址 待读取字节数 整块数据读进缓冲区 核准校验 控制器按照指定存储器地址,把第一个字节送入主存 然后,按指定字节数进行数据传送 每当传送一个字节后,字节计数器值减1,直到字节计数器等于0 此时,控制器引发中断,通知操作系统,操作完成
DMA实现流程 CPU向控制器发出启动DMA通知和有关参数 控制器向内存发出询问请求 访问内存(读、写) 计数器减1 结束否 发中断
4 I/O通道控制方式 I/O通道方式是DMA方式的发展,它可进一步减少cpu的干预 把对一个数据块的读写为单位的干预,减少到对一组数据块 为单位的干预。同时,又可实现cpu,通道和I/O设备三者的 并行操作,从而有效地提高整个系统的利用率。 通道的工作原理: 工作原理 CPU:执行用户程序,当遇到I/O 请求时,可根据该请求生成通道程 序放入内存(也可事先编好放入内 存),并将该通道程序的首地址放 入CAW中;之后执行“启动I/O”指 令,启动通道工作 通道:接收到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作
5.3 缓冲管理 为了缓和CPU与I/O设备速度不匹配的矛盾,提高CPU与I/O 设备的并行性,几乎所有的系统引入了缓冲区。缓冲管理的 5.3 缓冲管理 为了缓和CPU与I/O设备速度不匹配的矛盾,提高CPU与I/O 设备的并行性,几乎所有的系统引入了缓冲区。缓冲管理的 主要职责是组织好这些缓冲区,并提供获得和释放缓冲区的 手段。 1 缓冲区的引入 1)缓和CPU与I/O设备间速度不匹配的矛盾 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 2)减少对CPU的中断频率,放宽对CPU中断响应的时间限制 3)提高CPU与I/O设备之间的并行性 缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过 程的常用手段。
2 单缓冲和双缓冲 单缓冲,顾名思义就是一个缓冲区。在单缓冲情况下,每当 用户进程发出一个I/O请求时,操作系统便在主存中为之分配 一片缓冲区。 在块设备输入时,假定从磁盘把一块数据输入缓冲区的时间 记为T,将缓冲区的数据送到用户区的时间是M,而CPU对 数据的处理时间为C。由于T和C是可以并行的,所以系统对 每一块数据的处理时间表示为Max(C,T)+M 在字符设备输入时,缓冲区用于暂存用户输入的一行数据, 在输入期间,用户进程被挂起以等待数据输入完毕;在输出 时,用户进程将一行数据输入到缓冲区后,继续执行其它操 作。
双缓冲 系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓 冲区。这种缓冲技术是最简单的,用于低频度活动的I/O。 双缓冲可以实现两台计算机之间双向传输。
循环缓冲 在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样 若干个缓冲区就形成了一个环,故称环形缓冲区。
环形缓冲技术使用 设置一个输入指针in、一个输出指针out、开始指针strat。系 统初始时,strat=in=out。 输入时,要判断in是否与out相等,若相等,则要等待。否则 将信息送入in指向的缓冲区,填满后,将缓冲区中的指向下 一个缓冲区的指针next置in,如此类推。 输出时,首先判断out=in,若相等,则等待(意味着系统中 没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中 的next置out;
缓冲池 系统较大时,将会有许多循环缓冲,这不仅要消耗大量的内 存空间,而且其利用率不高。为了提高缓冲区的利用率,目 前广泛采用缓冲池。 1)组成 空缓冲队列 由空缓冲区所链成的队列。 输入队列 由装满输入数据的缓冲区所链成的队列。 输出队列 由装满输出数据的缓冲区所链成的队列。 除了上述三个队列外,还应有四个工作缓冲区,1)用于收 容输入数据的工作缓冲区 2)用于提取输入数据的工作缓冲 区 3)用于收容输出数据的工作缓冲区 4)用于提取输出数 据的工作缓冲区。
缓冲区的工作方式 缓冲区可以工作在收容输入、提取输入,收容输出、提取输 出四种工作方式下。 收容输入:在输入进程需要输入数据时,从空缓冲队列的队 首摘下一空缓冲区,作为收容输入工作缓冲区。把数据输入 其中,装满后把该队列挂在输入队列上。 提取输入:当计算进程需要数据时,从输入队列取得一缓冲 区,作为提取输入工作缓冲区。计算进程从中提取数据,计 算完毕后,将该缓冲区挂到空闲缓冲队列上。 收容输出:当计算进程需要输出时,从空缓冲队列队首取得 一空缓冲,作为收容输出工作缓冲区。当其中装满输出数据 时,将该缓冲区挂在输出队列末尾。
提取输出:由输出进程调用,从输出队列的队首取得一装满 输出数据的缓冲区,作为提取输出缓冲区。在数据提取完毕 后将该缓冲区挂在空缓冲队列末尾。
5.4 设备分配 系统设备不允许用户自行使用,必须由系统统一分配。每当 进程向系统提出I/O请求时,只要是可能和安全的,设备分配 5.4 设备分配 系统设备不允许用户自行使用,必须由系统统一分配。每当 进程向系统提出I/O请求时,只要是可能和安全的,设备分配 程序便按照一定的策略,把设备分配给用户进程。 数据结构 在进行设备分配时,所需要的数据结构有:设备控制表,控 制器控制表,通道控制表和系统设备表。 设备控制表DCT 系统为每个设备配置了一张设备控制表,用于记录本设备的 情况。 主要内容:设备类型、设备标识符、设备状态、与 此设备相连的COCT、重复执行的次数或时间、等待 队列的队首和队尾指针、I/O程序地址等。
控制器控制表和通道控制表、系统设备表 控制器控制表COCT:系统为每个控制器都设置了一张用于记 录本控制器情况的控制器控制表。包括控制器标识符,状态, 与控制器相连的通道表指针等。 通道控制表CHCT:系统为每个通道都设置了一张用于记录本 通道情况的通道控制表。包括通道标识符,状态,与通道相 连的控制器表首址,通道队列的对首指针等。 系统设备表SDT:记录了系统中全部设备的情况。每个设备 占用一个表目,其中包括设备类型,设备标识符、设备控制 表及设备驱动程序的入口等项。
2 设备分配时应考虑的因素 分配设备时,应考虑下列几个属性:1)设备的固有属性 2)设备分配算法 3)设备分配时的安全性 4)设备独立性 2 设备分配时应考虑的因素 分配设备时,应考虑下列几个属性:1)设备的固有属性 2)设备分配算法 3)设备分配时的安全性 4)设备独立性 设备的固有属性:设备的固有属性有三种情况,分别为独占 性、共享性和虚拟性。 独占性设备:这种设备一段时间内,只允许一个进程独占。 对于独占设备,应采用独享分配策略。这种分配策略的缺点 是设备得不到充分利用,而且有可能引起死锁。 共享性设备:这种设备允许多个进程共享。所以可同时分配 给多个进程。 虚拟设备:指设备本身是独占设备,经过技术处理,可把它 改造成共享设备,可将它同时分配给多个进程。
设备分配算法 1、先来先服务算法 2、优先级高者优先 设备分配中的安全问题 1)安全分配方式 在这种分配方式中,每当进程发出I/O请求时,便进入阻塞 状态,直至其I/O完成。这种分配方式摒弃了“请求和保持条 件”,从而使设备分配是安全的。 2)不安全分配方式 在这种分配方式中,进程发出I/O请求后仍继续运行,需要 时又发出第二个I/O请求,第三个I/O请求。仅当进程所请求 的设备已被别的进程占用时,才进入阻塞状态。 优点:一个进程可以同时操纵多个设备。缺点是分配不安全。
3 设备独立性 为了提高OS的可适应性和可扩展性,引入了设备独立性。 设备独立性也称为设备无关性,基本含义是应用程序独立于 3 设备独立性 为了提高OS的可适应性和可扩展性,引入了设备独立性。 设备独立性也称为设备无关性,基本含义是应用程序独立于 具体使用的物理设备。为了实现设备独立性,引入了逻辑设 备和物理设备这两个概念。用户在编制程序时,使用逻辑设 备名,由系统实现从逻辑设备到物理设备(实际设备)的转 换。用户能独立于具体物理设备而方便的使用设备。 设备独立性的优点: 1)设备分配的灵活性 2)易于实现I/O重定向 所谓的I/O重定向指用于I/O操作的设备可以更换,而不必改 变应用程序。 设备独立性软件 驱动程序是一个与硬件紧密相关的软件。为了实现设备独立
性,必须在驱动程序之上设置一层软件,称为设备独立性软 件。其主要功能有下面两点: 执行所有设备的公有操作 公有操作包括:对独立设备的 分配和回收;将逻辑设备名映 射为物理设备名;对设备进行保护;缓冲管理;差错控制; 2)向用户层软件提供统一接口 无论何种设备,它们向用户所提供的接口应该是相同;
逻辑设备名到物理设备名映射的实现 逻辑设备名 /dev/try 3 1024 /dev/printer 5 2046 … 1)逻辑设备表 为了实现设备的独立性,系统必须设置一张逻辑设备表LUT, 用于将应用程序中所使用的逻辑设备名映射为物理设备名。 在该表的每个表目中包含三项:逻辑设备名,物理设备名和 设备驱动程序的入口地址。 逻辑设备名 物理设备名 驱动程序入口地址 /dev/try 3 1024 /dev/printer 5 2046 …
2) LUT的设置问题 4 独占设备的分配程序 LUT的设置采用两种方式:第一种方式是在整个系统中只设 这就要求所有的用户都不使用相同的逻辑设备名。因而这种 方式主要用于单用户系统中。 第二种方式是为每个用户设置一张LUT。每当用户登录时, 便为该用户建立一个进程,同时也为之建立一张LUT,并将 该表放进进程的PCB中。这种方式通常用于多用户系统中。 4 独占设备的分配程序 系统的设备分配程序可按下述步骤进行设备分配: 1)分配设备
首先根据I/O请求中的物理设备名,查找系统设备表SDT,从 中找出该设备的DCT,再根据DCT中的设备状态字段,可知 该设备是否忙。若忙,便请求I/O进程的PCB,挂在设备队列 上。否则,便按照一定的算法来计算本次设备分配的安全性。 如果安全,便可以分配。 2)分配控制器 在系统把设备分配给请求I/O的进程后,再到其DCT中找到与 该设备连接的控制器的COCT,从COCT的状态字段中可知 该控制器是否忙。若忙,便将请求I/O进程的PCB挂在该控制 器的等待队列上;否则,将控制器分配给该进程。 3)分配通道 在该COCT中,又可找到与该控制器连接的通道的CHCT,再 根据CHCT的状态信息,可知该通道是否忙碌;若忙,将请 求I/O的进程挂在该通道的等待队列上;否则,将通道分配给
该进程。只有在设备、控制器和通道三者都分配成功时,这 次分配才算成功。然后,便可启动该I/O设备进行数据传输。 分配程序的改进 上述分配方式有以下问题:一是进程以物理设备名提出I/O请 求的。二是采用单通路的I/O系统结构,容易产生瓶颈。 应采取下列改进: 1)增加设备的独立性 进程应以逻辑设备名请求I/O。 2)考虑多通路的情况 对控制器和通道的分配,要经过多次反复。
5 SPOOLing技术 SPOOLing技术为解决独立设备数量少,速度慢,不能满足众 多进程的要求,而且在进程独占设备期间,设备利用率比较 低而提出的一种设备管理技术。 1)什么是SPOOLing 为了缓和CPU的高速性与I/O设备低速性的矛盾而引入了脱机 输入、脱机输出技术。该技术是利用专门的外围控制机,将 低速I/O设备上的数据传送到高速磁盘上;或者相反。在多 道程序技术环境下,可以利用程序来模拟脱机输入输出时, 外围控制机的功能。这种在主机直接控制下,实现脱机输出 输入操作。此时外围操作与CPU对数据的处理同时进行。把 这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为假脱机技术。
2)SPOOLing 系统的组成 SPOOLing系统主要有以下三部分组成: A 输入井和输出井 这是在磁盘上开辟两个大存储区;输入井是模拟脱机输入时 的磁盘设备,用于暂存I/O设备输入的数据。输出井是模拟脱 机输出时的磁盘,用于暂存用户程序的输出数据。 B 输入缓冲区和输出缓冲区 为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中开辟 两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据, 以后再传送到输入井。输出缓冲区用于暂存由输出设备送来 的数据,以后再传送到输出井。 C 输入进程P1和输出进程P2 利用这两个进程模拟脱机I/O时的外围控制机。
进程P1模拟脱机输入时的外围控制机,将用户要求的数据从输入设备通过输入缓冲区送到输入井。当CPU需要输入数据时,直接从输入井读到内存。进程P2模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井的数据经过缓冲区送到输出设备。 3) 共享打印机 打印机属于独占设备,利用SPOOLing技术可将其改造为一台可供多个用户共享的设备,从而提高设备的利用率。 当用户进程请求打印输出时,SPOOLing系统并不把打印机分配给它,而只做两件事: A 由输出进程为用户申请一个空闲磁盘块区,并将要打印的数据送入其中。 B 输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中。再将该表挂到请求打印队列上。
4) SPOOLing系统的特点 如果打印机空闲,输出进程将从请求打印队列的队首取出一 张打印表,根据表中的要求,从输出井传送到内存缓冲区, 再由打印机打印。 4) SPOOLing系统的特点 1)提高了I/O的速度。 对低速I/O设备的操作演变成对输入井或输出井中数据的存取。 缓和了CPU与低速设备之间速度的不匹配问题。 2)将独占设备改造成共享设备 3)实现虚拟设备功能