您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 计算机操作系统_刘乃琦_设备管理
第五章设备管理设备管理5.1I/O系统♣5.1.1I/O设备一、类型٭(1)按速度分:▪低:键盘▪中:打印机▪高:磁盘。٭(2)按信息交换单位分:▪块:磁盘,可定位▪字符:打印机、串口设备管理5.1I/O系统♣5.1.1I/O设备一、类型٭(3)按设备的共享属性分:▪独占:如临界资源▪共享:磁盘▪虚拟:如本身因有属性为独占,但将其虚拟为几个逻辑设备。设备管理二、设备与控制器之间的接口:(图5.1)CPU―――控制器―――设备三种信号:٭(1)数据信号:——双向,有缓存٭(2)控制信号:控制器发给设备;要求其完成相关操作٭(3)状态信号:设备发给控制器,后者“显示”;设备管理5.1.2设备控制器一、功能:接收CPU命令,控制I/O设备工作,解放CPU.٭1.接收和识别命令。▪应有相应的Register来存放命令(“命令寄存器”)٭2.数据交换▪CPU——控制器的数据寄存器——设备٭3.设备状态的了解和报告▪设备控制器中应用“状态寄存器”٭4.地址识别▪CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址以及其各寄存器的地址。设备管理5.1.2设备控制器一、功能:接收CPU命令,控制I/O设备工作,解放CPU,٭5.数据缓冲٭6.差错控制二、组成(图5.2)٭各类寄存器:数据、命令、状态٭信号线:数据线(独立寻址、内存寻址)、地址线、控制线٭I/O逻辑:在其控制下完成与CPU、设备的通信。设备管理5.1.3I/O通道一、引入٭通道一种特殊的执行I/O指令的处理机,与CPU共享内存,可以有自己的总线。٭引入目的解脱CPU对I/O的组织、管理。٭CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。设备管理5.1.3I/O通道二、类型٭1.字节多路通道:(图5-3)▪各子通道以时间片轮转方式共享通道,适用于低、中速设备。٭2.数组选择通道:▪无子通道,仅一主通道,某时间由某设备独占,适于高速设备。▪但通道未共享,利用率低。٭3.数组多路通道:▪综合了前面2种通道类型的优点。设备管理5.1.3I/O通道三、通道“瓶颈”问题:٭解决:采用复联方式٭图5.5设备管理5.1.4总线系统•微机I/O系统CPURAM/ROMI/O控制器1I/O控制器n总线ISA/EISA/LocalBUS/VESA/PCI设备管理5.2I/O控制方式四个阶段:٭程序I/O——中断I/O——DMA控制——通道控制。٭趋势:提高并行度。设备管理5.2.1程序I/O(忙—等待方式)٭查询方式:CPU需花代价不断查询I/O状态٭CPU资源浪费极大。٭例:99.9ms+0.1ms=100ms在5.2.1中99.9在忙等设备管理5.2.2中断I/O向I/O发命令——返回——执行其它任务。I/O中断产生——CPU转相应中断处理程序。如:读数据,读完后以中断方式通知CPU,CPU完成数据从I/O——内存设备管理5.2.3DMA方式——用于块设备中一、引入٭中断I/O,CPU“字节”干预一次,即每“字节”传送产生一次中断。٭DMA:由DMA控制器直接控制总线传递数据块。DMA控制器完成从I/O——内存。二、组成٭一组寄存器+控制逻辑。٭CR(命令/状态);DR(数据);MAR(内存地址);DC(计数)٭DMA工作过程(例):设备管理DirectMemoryAccess设置MAR,DC初值启动DMA传送命令传一字节MAR=MAR+1DC=DC-1dc=0请求中断在继续执行用户程序的同时,准备又一次传送出错否设备管理5.2.4I/O通道控制方式DMA方式:对需多离散块的读取仍需要多次中断。通道方式:CPU只需给出٭(1)通道程序首址。٭(2)要访问I/O设备后,通道程序就可完成一组块操作操作PRecord计数内存地址Write0080813Write001401034Write01605830Write013002000Write002501850Write11250720设备管理5.3缓冲管理目的:组织管理、分配、释放buffer5.3.1引入٭1.缓和CPU和I/O设备间速度不匹配的矛盾。如:计算——打印buffer——打印٭2.减少对CPU的中断频率如:buffer越大,“buffer满”信号发生频率越低。٭3.提高CPU和I/O并行性设备管理5.3缓冲管理5.3.2单缓冲C用户进程buf系统单缓冲bufI/OMT•由于C和T可并行,M和C或M和T不能并行,因此处理一块数据时间:Max(C,T)+M设备管理5.3缓冲管理5.3.2双缓冲用户进程buf系统双缓冲bufI/O•效率有所提高,且进一步平滑了传输峰值。•系统处理一块数据的时间约为:MAX(C,T)•收发可双向同时传送。设备管理5.3缓冲管理5.3.3循环多缓冲类型:R:空缓冲;G:满缓冲;C:当前缓冲RRGGGGNextg123456NextiRRCGGGNextg123456Nexticurrent设备管理循环多缓冲的使用nextg:指示下一个应取数据的bufnexti:指示下一个空buf.Getbuf:٭取nextg对应缓冲区提供使用,将Nextg置为空,Nextg=(Nextg+1)ModN٭将Nexti对应缓冲区提供使用,将Nexti置为满,Nexti=(Nexti+1)ModNReleasebuf:٭若C满,则改为G;٭若C空,则改为R;设备管理循环多缓冲的同步问题Nexti追上Nextg:表示输入速度输出速度,全部buf满,这时输入进程阻塞Nextg追上Nexti:输入速度输出速度,全部buf空,这时输出进程阻塞。设备管理5.3.4缓冲池缓冲池:系统提供的公用缓冲组成:٭3个队列:▪空缓冲队列emq▪输入队列inq▪输出队列outq٭四个工作缓冲区:▪hin:收容输入数据▪sin:提取输入数据▪hout:收容输出数据▪sout:提取输出数据设备管理5.4设备分配包括:对设备、设备控制器、通道的分配5.4.1数据结构٭一、设备控制表DCT:٭二、控制器控制表(COCT),通道表(CHCT),系统设备表(SDT)٭SDT:记录了系统中全部设备及其驱动程序地址。设备管理设备控制表DCTDCT1DCT2DCTn设备类型type设备标识符:deviceid设备状态:等/不等忙/闲指向控制器表的指针重复执行次数或时间设备队列的对首指针设备管理5.4.2设备分配应考虑的若干因素一、设备的固有属性:٭共享+虚拟:注意调度的合理性;٭独享:排它性分配,控制不好可能死锁。二、分配算法:٭(1)FIFO;٭(2)优先权。设备管理5.4.2设备分配应考虑的若干因素三、安全性:٭安全分配(同步):每进程获得一I/O后,即block,直到其I/O完成。▪即打破了死锁条件。▪缺点:CPU、I/O对该进程是串行,进程进展缓慢。٭不安全分配(异步):需进行安全性检查,进程执行效率高。设备管理5.4.5SPOOLING技术1概念٭假脱机技术,在联机情况下同时出现外围操作٭作用:通过缓冲方式,将独占设备改造为共享设备设备管理2、spooling组成:1.输入#和输出#:٭在磁盘上开辟的2个大存储空间,模拟输入和输出设备。2.输入buf和输出buf(内存中)٭输入设备——输入buf——输入#——用户区(1)٭用户区——输出#——输出buf——设备(2)3.输入Spi和输出SPo进程。٭分别控制(1),(2)的动作。٭SPi相当于脱机输入控制器。٭SPo相当于脱机输出控制器。设备管理特点1.提高I/O速度:٭对低速设备操作——变为对输入/出#操作。2.将独占设备改造为共享设备٭分配设备的实质时分配输入/出#3.实现了虚拟设备功能设备管理5.6.2磁盘调度目标:减少寻道时间一、FCFS(FisrtComeFirstSecond)٭特点:简单,寻道时间长,相当于随机访问模式。二、SSTF(最短寻道优先)三、扫描算法。٭1.进程“饥饿现象”SSTF存在。٭2.SCAN算法:▪在移动方向固定的情况下采用了SSTF,以避免饥饿现象FCFS调度算法SSTF调度算法100道开始被访问的下一个磁道移动距离5545583391918219072160701501038112184146平均寻道长度:55.3100道开始被访问的下一个磁道移动距离90105832553391638118201501321601018424平均寻道长度:27.5设备管理5.6.2磁盘调度四、循环扫描CSCAN(图9-5)٭一个方向读完,不是象SCAN那样回头,而是循环。٭访问时间:2TT+Smax五、N—Step—SCAN和FSCAN算法。٭1.N—Step—SCAN▪粘臂:由于连续对某磁道访问引起的垄断访问,将磁盘请求队列分为长为N的子队列m个,如下图处理。当N=1时,为FCFS。当N时,为SCAN.nnnFCFS12m设备管理5.6.2磁盘调度2.FSCANnnFCFS当前请求队列新请求队列SCANSCAN调度算法CSCAN调度算法100道开始,增加方向被访问的下一个磁道移动距离1505016010184249094583255339163811820平均寻道长度:27.8100道开始,增加方向被访问的下一个磁道移动距离15050160101842418166382039155165839032平均寻道长度:27.5
本文标题:计算机操作系统_刘乃琦_设备管理
链接地址:https://www.777doc.com/doc-3969733 .html