您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 《操作系统》第五章设备管理
第五章设备管理1第五章设备管理5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4设备分配5.5设备处理5.6磁盘存储器管理第五章设备管理25.1I/O系统5.1.1I/O设备5.1.2设备控制器5.1.3I/O通道5.1.4总线系统第五章设备管理3I/O设备的类型按使用特性分类存储设备,也称外存或后备存储器、辅助存储器。输入/输出设备输入设备,如键盘、鼠标、扫描仪、视频摄像、各类传感器等。输出设备,如打印机、绘图仪、显示器、音箱等。交互式设备,集成上述两类设备,利用输入设备接收用户命令信息,并通过输出设备同步显示用户命令以及命令执行的结果。第五章设备管理4I/O设备的类型低速设备,每秒钟几个字节至数百个字节。键盘、鼠标器、语音的输入和输出设备中速设备,每秒钟数千个字节至数万个字节。行式打印机、激光打印机高速设备,数百千个字节至数十兆字节。磁盘机、光盘机第五章设备管理5I/O设备的类型块设备(BlockDevice)用于存储信息,信息存取以数据块为单位,有结构设备。磁盘:传输速率较高;可寻址;常采用DMA方式。字符设备(CharacterDevice)用于数据的输入和输出,无结构设备。传输速率低,不可寻址,常采用中断驱动方式。第五章设备管理6I/O设备的类型独占设备临界资源。共享设备可寻址,可随机访问。磁盘。虚拟设备一台独占设备变为若干台逻辑设备。第五章设备管理7设备与控制器之间的接口设备与CPU之间通过设备控制器通信。三种信号线。缓冲转换器控制逻辑数据信号线状态信号线控制信号线I/O设备设备控制器CPU第五章设备管理85.1.2设备控制器职责:控制一个或多个设备,实现IO设备与计算机之间的数据交换。可编址:一个地址对应一个设备。分类:字符设备控制器;块设备控制器。第五章设备管理9设备控制器的基本功能接收和识别命令数据交换标识和报告设备的状态地址识别数据缓冲差错控制第五章设备管理10设备控制器的组成数据寄存器控制/状态寄存器数据线I/O逻辑…控制器与设备接口1控制器与设备接口i数据状态控制数据状态控制…地址线控制线CPU与控制器接口控制器与设备接口第五章设备管理115.1.3I/O通道目的:原来CPU的I/O任务由通道来承担。一种特殊的处理机。它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。与一般处理机的区别:指令类型单一。没有自己的内存。第五章设备管理12通道类型字节多路通道一次交换一个字符。含有许多非分配型子通道。子通道按时间片轮转方式共享主通道。控制器A控制器B控制器C控制器D控制器NA1A2A3…子通道AB1B2B3…子通道BC1C2C3…子通道CN1N2N3…子通道NA1B1C1…A2B2C2…设备第五章设备管理13通道类型数组选择通道按数组方式进行数据传送。含有一个分配型子通道。一段时间内只执行一道通道程序,控制一台设备。数组多路通道含有许多非分配型子通道,分时并行操作。按数组方式进行数据传送。第五章设备管理14“瓶颈”问题通道价格昂贵,数量较少。设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器第五章设备管理15解决“瓶颈”问题的方法增加通路,不增加通道。I/O设备控制器1控制器2通道1通道2存储器I/O设备I/O设备I/O设备第五章设备管理165.1.4总线系统CPU、存储器、I/O设备之间通过总线链接。总线的性能用时钟频率,带宽,传输率来衡量。CPU存储器磁盘控制器打印机控制器…其它控制器磁盘驱动器打印机系统总线第五章设备管理17第五章设备管理18第五章设备管理195.2I/O控制方式宗旨:尽量减少主机对IO控制的干预,把主机从繁杂的IO控制事务中解脱出来。1.程序I/O方式2.中断驱动I/O控制方式3.直接存储器访问DMAI/O控制方式4.I/O通道控制方式第五章设备管理201.程序I/O方式忙—等待方式。CPU向控制器发出I/O指令,启动输入设备。状态寄存器忙/闲标志busy置1。循环测试busy,busy=1输入未完成。busy=0输入完成,将数据从控制器的数据寄存器读到内存。CPU的高速性和I/O设备的低速性,致使CPU等待I/O设备。第五章设备管理21程序I/O方式向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完未就绪下条指令就绪第五章设备管理222.中断驱动I/O控制方式CPU向控制器发出I/O指令,CPU返回继续原来的工作。设备控制器控制I/O设备。CPU与I/O并行工作。数据输入寄存器,控制器向CPU发出中断。CPU检查数据正确性,数据写入内存。第五章设备管理23中断驱动I/O控制方式向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完下条指令就绪CPU做其它事中断第五章设备管理242.中断驱动I/O控制方式优点CPU与I/O并行工作,提高了资源利用率和吞吐量。缺点CPU每次处理的数据量少(通常不超过几个字节),只适于传输率较低的设备。第五章设备管理253.直接存储器访问DMAI/O控制方式直接存储器访问(DMA:DirectMemoryAccess)特点数据传输的基本单位是数据块。数据从设备直接送入内存,或者相反。仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。第五章设备管理26DMA方式向I/O控制器发布读块命令读DMA控制器的状态下条指令CPU做其它事中断CPU→DMADMA→CPU第五章设备管理27DMA控制器的组成三部分主机与DMA控制器的接口DMA控制器与块设备的接口I/O控制逻辑四类寄存器命令/状态寄存器CR内存地址寄存器MAR数据寄存器DR数据计数器DC第五章设备管理28DMA控制器的组成DRMARDCCRI/O控制逻辑…主机—控制器接口控制器与块设备接口count内存CPU命令系统总线DMA控制器第五章设备管理29DMA工作过程1)CPU发出指令,存入CR。2)内存起始目标地址送入MAR。3)读取字节数送DC。4)源地址送DMA的I/O控制逻辑。5)启动DMA控制器,CPU处理其他任务。6)DMA控制读入一个字(节)到DR。7)将该字(节)送入MAR指向的内存单元。8)MAR加1,DC减1。9)DC0继续传输,DC=0发出中断。第五章设备管理30DMA工作过程设置MAR和DC初值启动DMA传送命令挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC=0?请求中断在继续执行用户程序的同时,准备又一次传送否是第五章设备管理31DMA方式与中断的主要区别中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理。DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数。中断方式的数据传送是由CPU控制完成的,而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的。第五章设备管理324.I/O通道控制方式CPU一次读(或写)多个数据块。多个数据块送入不同内存区域。CPU、通道和I/O设备三者的并行操作。工作过程:CPU向通道发送一条I/O指令。给出通道程序首址和要访问的I/O设备。通过执行通道程序完成I/O任务。第五章设备管理33通道程序通道程序由一系列通道指令(通道命令)构成。每条通道指令包含的信息:操作码内存地址计数通道程序结束位P(P=1表示程序结束)记录结束标志R(R=0表示与下一条指令处理的数据属于同一记录;R=1表示某记录的最后一条指令)第五章设备管理34通道程序操作PR计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720第五章设备管理355.3缓冲管理1.单缓冲2.双缓冲3.循环缓冲4.缓冲池(BufferPool)第五章设备管理36缓冲的引入缓和CPU与I/O设备间速度不匹配的矛盾。减少对CPU的中断频率。提高CPU和I/O设备之间的并行性。第五章设备管理371.单缓冲进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区。T:数据输入缓冲区的时间。M:数据从缓冲区传到用户区的时间。C:CPU处理数据时间。工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)用户进程第五章设备管理381.单缓冲T1M1C1T2M2C2T3M3C3T4t(b)缓冲区是临界资源,CPU和外设轮流使用。I/O设备与CPU并行工作。对数据的处理时间:Max(C,T)+M。第五章设备管理392.双缓冲(缓冲对换)在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时OS可以从第一缓冲区中移出数据,并送入用户进程。接着由CPU对数据进行计算。T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(b)工作区用户进程缓冲区1缓冲区2I/O设备(a)第五章设备管理402.双缓冲缓冲区缓冲区A机B机(a)单缓冲发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机(b)双缓冲为了实现两台机器间的双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另外一个用作接收缓冲区。第五章设备管理413.循环缓冲CPU和外设的处理速度可能相差较大。在主存中分配一组大小相等的缓冲区,并用指针将这些缓冲区一个循环链表。多个缓冲区:空缓冲区R;满缓冲区G;工作缓冲区C。多个指针:下一个可用缓冲区G的指针Nextg;下一个输入缓冲区R的指针Nexti;当前使用的缓冲区C的指针Current。第五章设备管理423.循环缓冲RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent进程同步输入指针追上输出指针。输出指针追上输入指针。第五章设备管理434.缓冲池(BufferPool)三种缓冲区:空闲缓冲区,装满输入数据的缓冲区,装满输出数据的缓冲区三种队列:空缓冲队列,输入队列,输出队列第五章设备管理444.缓冲池(BufferPool)BufferPoolinqueueemptyqueueoutqueueDeviceCPU四种工作缓冲区:收容输入数据的缓冲区;提取输入数据的缓冲区;收容输出数据的缓冲区;提取输出数据的缓冲区。第五章设备管理45缓冲区的工作方式四种工作方式收容输入;提取输入;收容输出;提取输出。hinsoutsinhout收容输入提取输出用户程序提取输入收容输出缓冲池第五章设备管理465.4I/O软件5.4.1I/O软件的设计目标和原则5.4.2中断处理程序5.4.3设备驱动程序5.4.4设备独立性软件5.4.5用户层的I/O软件第五章设备管理475.4.1I/O软件的设计目标和原则与具体设备无关统一命名对错误的处理缓冲技术设备的分配和释放I/O控制方式第五章设备管理48I/O系统的层次及功能用户层软件设备独立性软件设备驱动程序中断处理程序硬件I/O应答产生I/O请求、格式化I/O、Spooling映射、保护、分块、缓冲、分配设置设备寄存器,检查寄存器状态执行I/O操作第五章设备管理495.4.2中断处理程序唤醒被阻塞的驱动程序进程对被中断进程的CPU环境进行保护分析中断原因,转入相应的中断处理程序终端中断处理程序打印机中断处理程序磁盘中断处理程序…恢复被中断进程的CPU现场…返回被中断的进程,继续执行中断请求信号第五章设备管理505.4.3设备驱动程序设
本文标题:《操作系统》第五章设备管理
链接地址:https://www.777doc.com/doc-1308315 .html