1.06k likes | 1.2k Views
ç¬¬äº”ç« è®¾å¤‡ç®¡ç†. æ•™å¦ç›®çš„åŠè¦æ±‚. 了解设备的类型 ç†è§£å¹¶æŽŒæ¡ I/O çš„æ•°æ®ä¼ é€æŽ§åˆ¶æ–¹å¼ ç†Ÿæ‚‰ç¼“å†²æŠ€æœ¯å®žçŽ°çš„åŸºæœ¬åŽŸç† æŽŒæ¡ä¸æ–技术的基本概念和处ç†è¿‡ç¨‹ æŽŒæ¡ SPOOLing 技术的组æˆåŠç‰¹ç‚¹ ç†è§£è®¾å¤‡åˆ†é…的原则åŠåº”è€ƒè™‘çš„å› ç´ æŽŒæ¡ç£ç›˜è°ƒåº¦ç®—法. é‡ç‚¹å’Œéš¾ç‚¹. I/O 设备的数æ®ä¼ é€æŽ§åˆ¶æ–¹å¼ ä¸æ–技术的处ç†è¿‡ç¨‹ ç£ç›˜è°ƒåº¦ç®—法. 主è¦å¤–è¯è¯æ±‡. Device controller I/O Systems Interrupts Direct Memory Access ( DMA ) Channel Device driver
E N D
教学目的及要求 • 了解设备的类型 • 理解并掌握I/O的数据传送控制方式 • 熟悉缓冲技术实现的基本原理 • 掌握中断技术的基本概念和处理过程 • 掌握SPOOLing技术的组成及特点 • 理解设备分配的原则及应考虑的因素 • 掌握磁盘调度算法
重点和难点 • I/O设备的数据传送控制方式 • 中断技术的处理过程 • 磁盘调度算法
主要外语词汇 • Device controller • I/O Systems • Interrupts • Direct Memory Access(DMA) • Channel • Device driver • Device allocation • Buffer
第五章设备管理 5.1 I/O系统 5.2 I/O控制方式 5.3 缓冲管理 5.4 I/O软件 5.5 设备分配 5.6 磁盘存储器的管理
5.1 I/O系统 • 5.1.1 设备的类型 • 5.1.2 设备管理的任务 • 5.1.3 设备控制器 • 5.1.4 I/O通道
5.1.1 设备的类型 • 计算机系统的设备分类: • 内部设备:CPU 、内存等。 • 外部设备(I/O设备):输入输出设备、外存设备以及终端设备等。
I/O设备分类 • 按设备的使用特性分类 2) 按传输速率分类 3) 按信息交换的单位分类 4) 按设备的共享属性分类
1)按设备的使用特性分类 • 1)存储设备,也称外存或后备存储器、辅助存储器,是计算机系统用以存储信息的主要设备。 • 2)输入/输出设备,又分为输入设备、输出设备和交互式设备。 • 输入设备:如键盘、鼠标、扫描仪、视频摄像、各类传感器等。 • 输出设备:如打印机、绘图仪、显示器、数字视频显示设备、音响输出设备等。 • 交互式设备集成上述两类设备,利用输入设备接收用户命令信息,并通过输出设备(主要是显示器)同步显示用户命令以及命令执行的结果。
2) 按传输速率分类 • 1)低速设备:传输速率仅为每秒钟几个字节至数百个字节的一类设备。如键盘、鼠标器等设备。 • 2)中速设备:传输速率在每秒钟数千个字节至数十万个字节的一类设备。如行式打印机、 激光打印机等。 • 3)高速设备:传输速率在数百个千字节至千兆字节的一类设备。如磁带机、磁盘机、光盘机等。
3) 按信息交换的单位分类 • 1)块设备(Block Device):用于存储信息。由于信息的存取总是以数据块为单位。属于有结构设备。典型的块设备是磁盘。 • 2)字符设备(Character Device):用于数据的输入和输出。其基本单位是字符,属于无结构类型。如交互式终端、打印机等。
4) 按设备的共享属性分类 • 1) 独占设备:指在一段时间内只允许一个用户(进程)访问的设备,即临界资源。 • 2) 共享设备:指在一段时间内允许多个进程同时访问的设备。 • 3) 虚拟设备:指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用。
5.1.2 设备管理的任务 • 主要任务: • 选择和分配I/O设备进行数据传输操作 • 控制I/O设备和CPU(或内存)之间交换数据 • 为用户提供友好的透明接口(屏蔽I/O设备硬件细节) • 提高设备与设备、设备与CPU之间的并行操作度
5.1.3 设备控制器 • 设备控制器是CPU和I/O设备之间的接口,接收从CPU发来的命令,并去控制I/O设备工作,以使CPU从繁琐的设备控制事务中解脱出来。 • 可控制一个或多个I/O设备。
1.设备控制器的基本功能 • 1) 接收和识别命令 • 2) 数据交换:实现CPU与控制器之间、控制器与设备之间的数据交换。 • 3) 标识和报告设备的状态:控制器应记下设备的状态供CPU了解。 • 4) 地址识别:设备控制器必须能够识别它所控制的每个设备的地址。 • 5) 数据缓冲:控制器中必须设置一缓冲器。 • 6) 差错控制:设备控制器还兼管对由I/O设备传送来的数据进行差错检测。
CPU与控制器接口 控制器与设备接口 控制器与设备接口1 数据 • 用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。 数据线 数据寄存器 状态 控制 • 在控制器中有一个或多个设备接口,一个接口连接一个设备。每个设备接口中都存在数据、控制和状态三种类型的信号。 控制/状态寄存器 地址线 I/O逻辑 控制器与设备接口i 数据 状态 控制线 控制 • 用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令;I/O逻辑对接收到的命令进行译码。CPU同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对接收到的地址进行译码,再根据所译出的命令对所选设备进行控制。 设备控制器的组成
5.1.4I/O通道 • I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。 • I/O通道又与一般的处理机不同: • 指令类型单一:通道硬件比较简单,其所能执行的命令主要局限于与I/O操作有关的指令; • 通道与CPU共享内存:通道没有自己的内存,通道所执行的通道程序放在主机的内存中的。
通道类型 • 1) 字节多路通道(Byte Multiplexor Channel) • 2) 数组选择通道(Block Selector Channel) • 3) 数组多路通道(Block Multiplexor Channel)
1) 字节多路通道 • 含有多非分配型子通道,每个子通道连接一台I/O设备,并控制该设备的I/O操作。 • 子通道按时间片轮转方式共享主通道。 • 字节多路通道不适于连接高速设备。
2) 数组选择通道 • 数组选择通道:按数组方式进行数据传送,可以连接多台高速设备,但只含有一个分配型子通道,在一段时间内只能执行一道通道程序,控制一台设备进行数据传送。 • 数组选择通道的利用率很低。
3) 数组多路通道 • 数组选择通道虽有很高的传输速率,但它却每次只允许一个设备传输数据。 • 数组多路通道将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。 • 按数组方式进行数据传送,含有多个非分配型子通道。 • 该通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。 • 该通道能被广泛地用于连接多台高、中速的外围设备,其是的。
5.2I/O控制方式 主机与控制器之间的交互方式: • 5.2.1 程序直接控制(轮询) • 5.2.2 中断 • 5.2.3 直接存储器访问(DMA) • 5.2.4 通道
5.2.1程序直接控制方式 • 程序直接控制方式(Programming direct control):由用户进程直接控制内存或CPU和外围设备之间的信息传送。 • 输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。
设置计数值 传送一个字 设置内存缓冲首址 修改内存地址 启动外设 修改计数值 就绪 完 是 是 结束I/O 程序直接控制方式的数据输入过程
程序直接控制方式 • 一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间; • I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序; • CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。
程序I/O方式的优缺点 • 优点:控制简单。 • 缺点: • CPU和外围设备只能串行工作 • 不能实现设备之间的并行工作 • 只适合CPU执行速度较慢,而且外围设备较少的系统。
5.2.2中断控制方式 • 引入中断控制方式的目的: 为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度。 • 基本原理: • CPU启动I/O设备后,不必查询I/O设备是否就绪,调度其他程序执行。 • 直到CPU响应了I/O中断请求,CPU才转至I/O中断处理程序执行。
中断控制方式的传送结构 中断请求线
中断控制方式的优缺点 • 优点: CPU和I/O设备可实现部分并行,与程序查询的串行工作方式相比,提高了CPU的利用率,支持多道程序和设备的并行操作。 • 缺点: • 频繁的中断会消耗大量的CPU处理时间
5.2.3直接存储器访问(DMA) 方式 • 直接主存存取方式(Direct Memory Access control ):在外围设备和内存之间开辟直接的数据交换通道,当设备要输入/输出数据时,在DMA控制下,实现I/O设备与主存直接交换数据,不需要CPU干预。
主机—控制器接口 控制器—块设备接口 内存 CPU DR I/O控制逻辑 MAR cout DC CR 命令 DMA控制器 系统总线 DMA方式的传送结构 • 数据寄存器DR。用于暂存从设备到内存或从内存到设备的数据; • 命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息,或设备的状态; • 内存地址寄存器MAR。用于存放数据的目标(源)地址; • 数据计数器DC。存放本次CPU要读或写的字(节)数。
DMA方式特点 • 优点: • 所传送的数据是从设备直接送入内存,或者相反。 • 仅在传送一个或多个数据块的开始和结束时,才需CPU干预。 • 整块数据的传送是在DMA控制器的控制下完成的。 • 与中断方式相比,进一步提高了CPU与I/O设备的并行操作程度。 • 缺点:对外围设备的管理和某些操作仍由CPU控制。
5.2.4 I/O通道控制方式 • 通道又称输入输出处理器,是一个独立于CPU的专管输入输出控制的处理机,它控制外围设备与主存直接进行数据交换,有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。 • I/O通道方式可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 • 可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。 • 一个通道可以控制多台设备与内存交换数据。
通道方式的数据输入处理过程 • 当进程要求设备输入数据时,CPU发Start指令指明I/O操作、设备号和对应通道。 • 对应通道接收到CPU发来的启动指令S之后,把存放在内存中的通道指令程序读出,设置对应设备的I/O控制器中的状态寄存器。 • 设备根据通道指令的要求,把数据送往内存中指定区域。 • 若数据传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。
采用通道后的I/O操作过程 • CPU在执行主程序时遇到I/O请求,它启动指定通道上选址的外围设备, • 一旦启动成功,通道开始控制外围设备进行操作。 • CPU可执行其他任务并与通道并行工作,直到I/O操作完成。 • 通道发出操作结束中断时,CPU才停止当前工作,转向处理I/O操作结束事件。
通道方式特点 • 外围设备和CPU能实现并行操作; • 通道和通道之间能实现并行操作; • 各通道上的外围设备也能实现并行操作,达到提高整个系统效率这一根本目的。
5.3 缓冲技术 • 5.3.1 缓冲技术的引入 • 5.3.2 缓冲的种类 • 5.3.3 缓冲池的管理
5.3.1 缓冲技术的引入 • 缓冲:使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件。 • 缓冲技术引入的原因: • 缓和CPU和I/O设备间处理速度不匹配的矛盾。 • 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 • 提高CPU和I/O设备之间的并行性。
5.3.2 缓冲的种类 • 单缓冲 • 双缓冲 • 循环缓冲:把多个缓冲区连接起来组成循环缓冲形式,分别用于输入和输出。 • 缓冲池:把多个缓冲区连接起来统一管理,即可用于输入又可用于输出的缓冲结构。
5.4.3 缓冲池的管理 • 缓冲池的结构 • 缓冲池由多个缓冲区组成,既可用于输入又可用于输出的公用缓冲池。 • 每个缓冲区由两部分组成: • 缓冲首部:标识和管理缓冲器 • 缓冲体:存放数据
缓冲区队列 • 系统把个缓冲区按其使用情况连成3个队列: • 空白缓冲队列 • 输入缓冲队列 • 输出缓冲队列
Getbuf过程和Putbuf过程 • 为使诸进程能互斥地访问缓冲池队列,为每一队列设置一个互斥信号量MS(type)。 • 为了保证诸进程同步地使用缓冲区,又为每个缓冲队列设置了一个资源信号量RS(type)。
Getbuf过程和Putbuf过程 Procedure Getbuf(type) begin Wait(RS(type)); Wait(MS(type)); B(number):=Takebuf(type); Signal(MS(type)); end Procedure Putbuf(type,number) begin Wait(MS(type)); Addbuf(type,number); Signal(MS(type)); Signal(RS(type)); end