1 / 108

第五章    设备管理

第五章    设备管理. 5.1 I/O 系统概述 5.2 I/O 控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理 5.6 磁盘存储器管理 ( 自学 ). 第五章    设备管理. 5.1 I/O 系统 概述. 5.1.1 设备的分类. I/O 设备的类型 1) 按数据传输速率分 低速设备:如键盘、鼠标 中速设备:如打印机 高速设备:如磁盘机、光盘机. 设备的分类. 2 )按信息交换的单位分类 块设备:如磁盘 字符设备:如交互式终端、打印机 3 )按设备的共享属性分类 独占设备 共享设备 虚拟设备.

neorah
Download Presentation

第五章    设备管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章    设备管理 5.1 I/O系统概述 5.2 I/O控制方式 5.3 缓冲管理 5.4 设备分配 5.5 设备处理5.6 磁盘存储器管理(自学)

  2. 第五章    设备管理 5.1 I/O系统概述

  3. 5.1.1 设备的分类 • I/O设备的类型 • 1) 按数据传输速率分 • 低速设备:如键盘、鼠标 • 中速设备:如打印机 • 高速设备:如磁盘机、光盘机

  4. 设备的分类 2)按信息交换的单位分类 • 块设备:如磁盘 • 字符设备:如交互式终端、打印机 3)按设备的共享属性分类 • 独占设备 • 共享设备 • 虚拟设备

  5. I/O设备 数据信号线 至设备控制器 缓冲 转换器 信号 数据 状态信号线 控制逻辑 控制信号线 图5-1 设备与控制器间的接口 2.设备与控制器之间的接口 通常,设备并不是直接与CPU进行通信,而是与设备控制器通信。

  6. 设备与控制器之间的接口 1)数据信号线 用于在设备和设备控制器之间传送数据信号 2)控制信号线 传输设备控制器向I/O设备发送的控制信号 3)状态信号线 传输指示设备当前状态的信号

  7. 5.1.2 设备控制器 1.设备控制器的基本功能 1)接收和识别CPU命令 控制寄存器:用来存放接收的命令和参数,并对所接收的命令进行译码。 2)数据交换 数据寄存器:实现CPU与控制器之间、控制器与设备之间的数据交换。

  8. 设备控制器的基本功能 3)标识和报告设备的状态 状态寄存器:记录下设备的状态供CPU了解。 4)地址识别 地址译码器:识别它所控制的每个设备的地址。

  9. 设备控制器的基本功能 5)数据缓冲 缓冲器:暂存I/O设备与CPU交换的数据。 6)差错控制 对由I/O设备传送来的数据进行差错检测。

  10. 2.设备控制器的组成 1) 设备控制器与处理机的接口 功能:用于实现CPU与设备控制器之间的通信。 共有三类信号线:数据线、地址线和控制线。

  11. 设备控制器的组成 2)设备控制器与设备的接口 在控制器中便有一个或多个设备接口,一个接口连接一台设备。在每个接口中都存在数据、控制和状态三种类型的信号。 3)I/O逻辑 实现对设备的控制。它通过一组控制线与处理机交互。

  12. CPU与控制器接口 控制器与设备接口 数据线 数据 控制器与设备接口1 数据寄存器 状态 控制 控制/状态 寄存器 ... 地址线 数据 控制器与设备接口i 状态 I/O逻辑 控制线 ... 控制 图5-2 设备控制器的组成 设备控制器的组成

  13. 5.1.3 I/O通道 • 1. I/O通道设备的引入 • 位置:CPU和设备控制器之间 • 目的:使一些原来由CPU处理的I/O任务转由通道来承担,CPU只需向通道发送一条I/O指令。 • 通道与一般的处理机不同点: • 指令类型单一:主要局限于与I/O操作有关的指令; • 通道没有自己的内存,与CPU共享内存。

  14. 设备 A1A2A3…子通道A 控制器A B1B2B3…子通道B 控制器B A1B1C1…A2B2C2… C1C2C3…子通道C 控制器C 控制器D … N1N2N3…子通道N 控制器N 图5-3 字节多路通道的工作原理 2. 通道类型 根据信息交换方式的不同,分为: 1)字节多路通道(Byte Multiplexor Channel)

  15. 字节多路通道 数量:几十到数百个非分配型子通道。 工作方式:按字节交叉方式工作,子通道按时间片轮转方式共享主通道。 缺点:只能连接低速设备。

  16. 通道类型 2)数组选择通道(Block Selector Channel) 数量:一个分配型子通道。 工作方式:一段时间内允许一个通道程序运行,控制一台设备进行数据传送,直到传送结束。 优点:传输率高。 缺点:每次只允许一个设备传输数据,通道的利用率很低。 3)数组多路通道(Block Multiplexor Channel) 将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。

  17. 设备1 控制器1 设备2 通道1 控制器2 设备3 存储器 设备4 控制器3 设备5 通道2 设备6 控制器4 设备7 图5-4 单通路I/O系统 3. “瓶颈”问题 问题描述:通道价格昂贵,数量较少,又使它成了I/O的瓶颈。

  18. I/O设备 通道1 控制器1 I/O设备 存储器 I/O设备 通道2 控制器2 I/O设备 图5-5 多通路I/O系统 “瓶颈”问题 解决方法:增加设备到主机间的通路而不增加通道,就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。

  19. 第五章    设备管理 5.2 I/O控制方式

  20. I/O控制的四种技术 • 程序I/O方式 • 中断驱动I/O控制方式 • 直接存储器访问DMA I/O控制方式 • I/O通道控制方式

  21. 5.2.1 程序I/O方式 又称为忙一等待方式。通过循环检测busy位判断设备输入是否结束。 缺点:耗费大量时间轮询信息,严重地降低了系统性能。

  22. 向I/O控制器发出读命令 I/O CPU 未就绪 读I/O控制器的状态 I/O CPU 检查状态? 出错 就绪 从I/O控制器中读入字 I/O CPU 向存储器中写字 内存 CPU 未完 传送完成? 完成 下条指令 (a)程序I/O方式 程序I/O方式

  23. CPU I/O 向I/O控制器发出读命令 CPU做其它事 中断 读I/O控制器的状态 CPU I/O 检查状态? 出错 就绪 CPU I/O 从I/O控制器中读字 向内存中写字 CPU 内存 未完 传送完成? 完成 下条指令 (b)中断驱动方式 5.2.2 中断驱动I/O控制方式

  24. 中断驱动I/O控制方式 优点:CPU与I/O设备并行工作,提高了整个系统的资源利用率及吞吐量。 缺点:以字节为单位进行I/O,中断次数多。

  25. 5.2.3直接存储器访问DMA I/O控制方式 1. DMA方式的引入 中断方式以字节为单位进行I/O,中断次数多。对于块设备效率低。 特点: 1)DMA方式基本传送单位是数据块; 2)所传送的数据是从设备直接送入内存或相反; 3)DMA方式则是在DMA控制器的控制下完成的,只在传输开始和结束时经过CPU控制。

  26. CPU 内存 主机—控制器接口 控制器与块设备接口 DR I/O控制逻辑 MAR Count … DC CR 命令 系统总线 DMA控制器 图5-8 DMA控制器的组成 2.DMA控制器的组成 • 三类接口: • 主机与DMA控制器的接口 • DMA控制器与块设备的接口 • I/O控制逻辑

  27. DMA控制器的组成 四类寄存器: (1)命令/状态寄存器CR:用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态。 (2)内存地址寄存器MAR:在输入、输出时,内存的地址。 (3)数据寄存器DR:暂存数据。 (4)数据计数器DC:存放本次CPU要读或写的字(节)数。

  28. 设置MAR和DC初值 启动DMA传送命令 挪用存储器周期传送数据字 在继续执行用户程序的同时,准备又一次传送 存储器地址增1 字计数寄存器减1 DC=0 ? 否 是 请求中断 图5-9 DMA方式的工作流程 3.DMA工作过程

  29. 直接存储器访问DMA I/O控制方式 缺点:一条I/O指令只能读(或写)一个连续的数据块。当要一次去读多个数据块且将它们分别传送到不同的内存区域,则须由CPU分别发出多条I/O指令及进行多次中断处理,才能完成。

  30. 5.2.4 I/O通道控制方式 1.引入(优点) • 把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 • 实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。

  31. 2.通道程序 通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。通道程序是由一系列通道指令(或称为通道命令)所构成的。通道指令中包含下列诸信息: (1)操作码。指令所执行的读、写操作。 (2)内存地址。字符存入或取出的内存首址。 (3)计数。读(或写)数据的字节数。 (4)通道程序结束位P。 (5)记录结束标志R。

  32. 第五章    设备管理 5.3 缓冲管理

  33. 5.3.1 缓冲的引入 主要原因: 1.在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率。 • 缓冲区:有一定容量、暂存信息的存贮装置,在内存中。 • 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。

  34. 9.6Kb/s (a) 1位缓冲 8位缓冲寄存器 9.6Kb/s (b) 送内存 8位缓冲寄存器 9.6Kb/s (c) 送内存 图5-10 利用缓冲寄存器实现缓冲 缓冲的引入 2. 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。

  35. 缓冲的引入 3. 提高CPU和I/O设备之间的并行性。 例如,在CPU和打印机之间设置了缓冲区之后,可以使二者并行工作,提高系统的吞吐量和设备的利用率。

  36. 缓冲区设置 • 硬缓冲: 在设备中设置缓冲区,由硬件实现 • 软缓冲: 在内存中开辟一个空间,用作缓冲区

  37. 5.3.2 单缓冲和双缓冲 1.单缓冲 每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区,输入过程T和处理过程C可以同时进行。

  38. 用户进程 处理(C) (a) 传送(M) 输入(T) 缓冲区 I/O设备 工作区 T2 T3 T1 T4 M2 M1 M3 (b) C1 C2 C3 t 图5-11 单缓冲工作示意图 单缓冲

  39. 2.双缓冲 也称为缓冲对换。在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系统可以从第一缓冲区中移出数据,并送入用户进程。接着由CPU对数据进行计算。

  40. 用户进程(C) 缓冲区1 T (a) I/O设备 工作区 缓冲区2 M T1(缓冲1) T2(缓冲2) T3(缓冲3) T4(缓冲4) M2 M3 M4 M1 (b) C1 C2 C3 C4 图5-12 双缓冲工作示意图 双缓冲

  41. A机 B机 A机 B机 发送缓冲区 接收缓冲区 发送缓冲区 接收缓冲区 缓冲区 缓冲区 (b)双缓冲 (a)单缓冲 图5-13 双机通信时缓冲区的设置 双机通信时缓冲区的设置

  42. 双缓冲 优点:当输入与输出或生产者与消费者的速度基本相匹配时,采用双缓冲能获得较好的效果,可使生产者和消费者基本上能并行操作。 缺点:若两者的速度相差甚远,双缓冲的效果则不够理想,不过可以随着缓冲区数量的增加,使情况有所改善。因此,又引入了多缓冲机制。

  43. 5.3.3 循环缓冲 • 1.循环缓冲的组成 • (1)多个缓冲区。在循环缓冲中包括多个缓冲区,其每个缓冲区的大小相同。 • 空缓冲区R • 满缓冲区G • 现行工作缓冲区C

  44. 循环缓冲 • (2)多个指针。 • Nextg:指示计算进程下一个可用的缓冲区G • Nexti:指示输入进程下次可用的空缓冲区R • Current:指示计算进程正在使用的缓冲区C

  45. Nexti Nexti R R 1 1 G 6 2 R G 6 2 R G 5 3 G G 5 3 C 4 Nextg 4 Current G G Nextg 图5-14 循环缓冲 循环缓冲

  46. 2.循环缓冲区的使用 • 计算进程和输入进程可利用下述两个过程来使用循环缓冲区。 • (1)Getbuf过程。 • 申请一个满缓冲区。 • 申请一个空缓冲区。

  47. 循环缓冲区的使用 • (2)Releasebuf过程。 • 释放一个满缓冲区。 • 释放一个空缓冲区。

  48. Nexti Nexti R R 1 1 G 6 2 R G 6 2 R G 5 3 G G 5 3 C 4 Nextg 4 Current G G Nextg 图5-14 循环缓冲 3.进程同步 (1) Nexti指针追赶上Nextg指针:系统受计算限制 (2) Nextg指针追赶上Nexti指针:系统受I/O限制

  49. 5.3.4 缓冲池 1.缓冲池的组成 1)三种类型的缓冲区: ①空(闲)缓冲区 ②装满输入数据的缓冲区 ③装满输出数据的缓冲区

More Related