第七章 IO设备管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.1 I/O设备管理概述
7.1.2 I/O设备的差异性
7
7.1 I/O设备管理概述
7.1.3 I/O设备管理的任务和功能
I/O 设备管理是操作系统中最具多样性和复杂性的部 分,其主要任务如下:
① 为并发执行的多个进程分配 I/O设备,完成数据传输 任务。 ② 控制I/O设备的数据传输。
③ 为用户提供一个友好的透明接口,把用户和设备硬件 特性分开。
17
2. 中断控制方式
18
3. DMA控制方式
(1)DMA(Direct Memory Access)控制方式的 引入
虽然中断驱动I/O比程序I/O方式更有效,但须注 意,它仍是以字(节)为单位进行I/O的,每当完成 一个字(节)的I/O时,控制器便要向CPU请求一次 中断。如果将这种方式用于块设备的I/O,显然是 极其低效的。
5
7.1.1 I/O设备的分类
4) 按设备的共享属性分类
(1) 独占设备。这是指在一段时间内只允许一个用 户(进程)访问的设备,即临界资源。独占设备的 分配有可能引起进程死锁。
(2) 共享设备。这是指在一段时间内允许多个进程 同时访问的设备。当然,对于每一时刻而言,该 类设备仍然只允许一个进程访问。典型的共享设 备是磁盘。 (3) 虚拟设备。这是指通过虚拟技术将一台独占设 备变换为若干台逻辑设备,供若干个用户(进程) 同时使用。 6
23
4.通道方式
(1)I/O通道控制方式的引入
虽然DMA方式比起中断方式来已经显著地减少了 CPU的干预,但CPU每发出一条I/O指令,也只能 去读(或写)一个连续的数据块。 当一次去读多个数据块且将它们分别送到不同的 内存区域,或者相反时,则须由CPU发出多条I/O 指令才能完成。 I/O通道方式是DMA方式的发展,它可进一步减 少CPU的干预。同时,又可实现CPU、通道和I/O 设备三者的并行操作,从而更有效地提高整个系 统的资源利用率。
11
7.2.1 I/O系统结构
1. 大型机I/O系统结构
12
7.2.1 I/O系统结构
2. 微型机I/O系统结构
13
7.2.2 设备控制器
设备控制器的基本结构
14
7.2.3 I/O控制方式
1. 查询等待控制方式
早期的计算机系统中,由于无中断机构,处理机对I/O 设备的控制采取程序I/O(Programmed I/O)方式,或称 为忙—等待方式,即在处理机向控制器发出一条I/O指 令启动输入设备输入数据时,要同时把状态寄存器中 的忙/闲标志busy置为1,然后便不断地循环测试busy 。 当busy=1时,表示输入机尚未输完一个字(符),处理 机应继续对该标志进行测试,直至busy=0,表明输入 机已将输入数据送入控制器的数据寄存器中。 于是处理机将数据寄存器中的数据取出,送入内存指 定单元中,这样便完成了一个字(符)的I/O。接着再去 启动读下一个数据,并置busy=1。
15
1. 查询等待控制方式
16
2. 中断控制方式
现代计算机系统中,都毫无例外地引入了中断机构,致 使对I/O设备的控制,广泛采用中断驱动(Interrupt Driven)方式,即当某进程要启动某个I/O设备工作时, 便由CPU向相应的设备控制器发出一条I/O命令,然后 立即返回继续执行原来的任务。 设备控制器于是按照该命令的要求去控制指定I/O设备 。此时,CPU与I/O设备并行操作。下图(b)示出了中断 驱动方式的流程。 在I/O设备输入每个数据的过程中,由于无需CPU干预 ,因而可使CPU与I/O设备并行工作。仅当输完一个数 据时,才需CPU花费极短的时间去做些中断处理。提高 了整个系统的资源利用率及吞吐量。
(1) 命令/状态寄存器(CR)。用于接收从CPU发来的I/O 命令,或有关控制信息,或设备的状态。 (2) 内存地址寄存器(MAR)。在输入时,它存放把数据 从设备传送到内存的起始目标地址;在输出时,它存 放由内存到设备的内存源地址。 (3) 数据寄存器(DR)。用于暂存从设备到内存,或从内 存到设备的数据。 (4) 数据计数器(DC)。存放本次CPU要读或写的字(节) 数。
为了进一步减少CPU对I/O的干预而引入了直接存 储器访问方式。该方式的特点是:
数据传输的基本单位是数据块,即在CPU与I/O设备之 间,每次传送至少一个数据块;
19
3. DMA控制方式
所传送的数据是从设备直接 送入内存的,或者相反; 仅在传送一个或多个数据块 的开始和结束时,才需CPU 干预,整块数据的传送是在 控制器的控制下完成的。
29
4.通道方式
数组多路通道
30
7.3 I/O软件
7.3.1 I/O软件的设计目标
I/O软件设计时主要考虑以下几个问题:
(1) 独立性 I/O软件一般分为4层,它们分别是中断处理程序、设备 驱动程序、与设备无关的系统软件和用户级软件。分层 时的细节处理依赖于系统目标,并没有严格的划分。只 要有利于独立性这一目标,操作系统设计者可在结构上 作出不同的安排。
可见,DMA方式较之中断 驱动方式,又是成百倍地 减少了CPU对I/O的干预, 进一步提高了CPU与I/O设 备的并行操作程度。
20
3. DMA控制方式
(2)DMA控制器的组成
21
(2)DMA控制器的组成
为了实现在主机与控制器之间成块数据的直接交换 ,必须在DMA控制器中设置如下四类寄存器:
存储设备,也称外存或后备存储器、辅助存储 器 输入/输出设备
3
7.1.1 I/O设备的分类
2) 按传输速率分类 按传输速度的高低,可将I/O设备分为三类。
第一类是低速设备,这是指其传输速率仅为每秒钟 几个字节至数百个字节的一类设备。属于低速设备 的典型设备有键盘、鼠标器、语音的输入和输出等 设备。 第二类是中速设备,这是指其传输速率在每秒钟数 千个字节至数十万个字节的一类设备。典型的中速 设备有行式打印机、 激光打印机等。 第三类是高速设备,这是指其传输速率在数百个千 字节至千兆字节的一类设备。典型的高速设备有磁 带机、磁盘机、光盘机等。
27

4.通道方式
② 数组选择通道(Block Selector Channel) 字节多路通道不适于连接高速设备,这推动了按 数组方式进行数据传送的数组选择通道的形成。 这种通道虽然可以连接多台高速设备,但由于它 只含有一个分配型子通道,在一段时间内只能执 行一道通道程序,控制一台设备进行数据传送, 致使当某台设备占用了该通道后,便一直由它独 占,即使是它无数据传送,通道被闲置,也不允 许其它设备使用该通道,直至该设备传送完毕释 放该通道。 可见,这种通道的利用率很低。
(2)统一命名
(3)出错处理 (4)同步(阻塞)—异步(中断驱动)传输 31
7.3 I/O软件
7.3.2 I/O软件层次
32
1.中断处理程序
中断是指计算机在执行期间,系统内发生非正常 或非预期的急需处理事件,使得 CPU 暂时中断正 在执行的进程,而转去执行相应的事件处理程序, 处理完毕后返回中断处继续执行原进程或者调度 新进程执行。
4
7.1.1 I/O设备的分类
3) 按信息交换的单位分类 按信息交换的单位,可将I/O设备分成两类。
块设备(Block Device),这类设备用于存储信息。 由于信息的存取总是以数据块为单位,故而得名 。它属于有结构设备。典型的块设备是磁盘, 字符设备(Character Device),用于数据的输入和 输出。其基本单位是字符,故称为字符设备。它 属于无结构类型。字符设备的种类繁多,如交互 式终端、打印机等。
24
4.通道方式
I/O通道是一种特殊的处理机,它具有执行 I/O指令的能力,并通过执行通道(I/O)程序 来控制I/O操作。但I/O通道又与一般的处理 机不同,主要表现在以下两个方面: 一是其 指令类型单一;二是通道没有自己的内存, 与CPU共享内存。
25
4.通道方式
(1) 通道类型
① 字节多路通道(Byte Multiplexor Channel) 这是一种按字节交叉方式工作的通道。它通常都含有 许多非分配型子通道,每一个子通道连接一台I/O设备 ,并控制该设备的I/O操作。 这些子通道按时间片轮转方式共享主通道。只要字节 多路通道扫描每个子通道的速率足够快,而连接到子 通道上的设备的速率不是太高时,便不致丢失信息。 下图示出了字节多路通道的工作原理。它所含有的多 个子通道A,B,C,D,E,…,N,…分别通过控制 器各与一台设备相连。假定这些设备的速率相近,且 都同时向主机传送数据。设备A所传送的数据流为 A1A2A3…;设备B所传送的数据流为B1B2B3…
26
A 1A 2A 3…子通道A B1B2B3…子通道B A 1B 1C 1…A 2B 2C 2… C1C2C3…子通道C
设备 控制器A 控制器B 控制器C 控制器D

N 1N 2N 3…子通道N
控制器N
图 字节多路通道的工作原理
把这些数据流合成后(通过主通道)送往主机的数 据流为A1B1C1D1 …A2B2C2D2 … A3B3C3D3 …。
④ 提高设备和设备之间、CPU和设备之间的并行执行程 度,以期使系统资源获得最佳使用效率。
8
7.1 I/O设备管理概述
7.1.3 I/O设备管理的任务和功能
为了完成上述主要任务,I/O设备管理程序一般要提 供下述功能。
① 设备分配功能。 ② 设备映射功能。 ③ 提供与进程管理系统的接口,实现设备驱动。
第七章 I/O设备管理
1
本章内容
7.1 I/O设备管理概述 7.2 I/O系统 7.3 I/O软件 7.4 设备分配与回收 7.5 缓冲管理 7.6 磁盘存储管理
2
7.1 I/O设备管理概述
7.1.1 I/O设备的分类 I/O设备的类型繁多,从OS观点看,其重要 的性能指标有: 设备使用特性、数据传输速 率、数据的传输单位、设备共享属性等。 因而可从不同角度对它们进行分类。 1) 按设备的使用特性分类 按设备的使用特性,可将设备分为两类。
狭义上讲,中断指外部中断。外部中断包括I/O设 备发出的I/O中断、其他外部信号中断(例如用户 按下 ESC 键)、各种定时器引起的时钟中断、调 试程序中设置断点引起的调试中断等
33
2.设备驱动程序
设备驱动程序又称设备处理程序,其主要任务是 把用户提交的逻辑 I/O 请求转化为物理 I/O 操作的 启动和执行,如将设备名转化为端口地址、逻辑 记录转化为物理记录、逻辑操作转化为物理操作 等,并将由设备控制器发送来的信号传递给上层 软件。
④实现设备和设备、设备和CPU等之间的并行操作 。百度文库
⑤ 进行I/O缓冲区管理。
9
7.2 I/O系统
7.2.1 I/O系统结构
1. 大型机I/O系统结构
10
“瓶颈”问题
由于通道价格昂贵,致使机器中所设置的 通道数量势必较少,这往往又使它成了I/O 的瓶颈,进而造成整个系统吞吐量的下降 。
解决“瓶颈”问题的最有效的方法,便是 增加设备到主机间的通路而不增加通道。
28
4.通道方式
③ 数组多路通道(Block Multiplexor Channel) 数组选择通道虽有很高的传输速率,但它却每次只 允许一个设备传输数据。 数组多路通道是将数组选择通道传输速率高和字节 多路通道能使各子通道(设备)分时并行操作的优点 相结合而形成的一种新通道。 它含有多个非分配型子通道,因而这种通道既具有 很高的数据传输速率,又能获得令人满意的通道利 用率。 也正因此,才使该通道能被广泛地用于连接多台高 、中速的外围设备,其数据传送是按数组方式进行 的。
22
(3)DMA工作过程
我们以从磁盘读入数据为例,来说明DMA方式的工作 流程。 当CPU要从磁盘读入一数据块时,便向磁盘控制器发送 一条读命令。 该命令被送到其中的命令寄存器(CR)中。 同时,还须发送本次要将数据读入的内存起始目标地址 ,该地址被送入内存地址寄存器(MAR)中;本次要 读数据的字(节)数则送入数据计数器(DC)中,还须将磁 盘中的源地址直接送至DMA控制器的I/O控制逻辑上。 然后,启动DMA控制器进行数据传送,以后,CPU便 可去处理其它任务。 此后,整个数据传送过程便由DMA控制器进行控制。
相关文档
最新文档