设备管理-操作系统_第1页
设备管理-操作系统_第2页
设备管理-操作系统_第3页
设备管理-操作系统_第4页
设备管理-操作系统_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章设备管理5.1I/O系统5.2I/O控制方式5.3缓冲管理5.4设备分配5.5设备处理5.6磁盘存放器管理1设备管理--操作系统第1页5.1I/O系统5.1.1I/O设备5.1.2设备控制器5.1.3I/O通道5.1.4总线系统2设备管理--操作系统第2页I/O设备类型按使用特征分类存放设备,也称外存或后备存放器、辅助存放器。输入/输出设备输入设备,如键盘、鼠标、扫描仪、视频摄像、各类传感器等。输出设备,如打印机、绘图仪、显示器、音箱等。交互式设备,集成上述两类设备,利用输入设备接收用户命令信息,并经过输出设备同时显示用户命令以及命令执行结果。3设备管理--操作系统第3页I/O设备类型按传输速率分类低速设备,每秒钟几个字节至数百个字节。键盘、鼠标器、语音输入和输出设备中速设备,每秒钟数千个字节至数万个字节。行式打印机、激光打印机高速设备,数百千个字节至数十兆字节。磁盘机、光盘机4设备管理--操作系统第4页I/O设备类型按信息交换单位分类块设备(BlockDevice)用于存放信息,信息存取以数据块为单位,有结构设备。磁盘:传输速率较高;可寻址;常采取DMA方式。字符设备(CharacterDevice)用于数据输入和输出,无结构设备。传输速率低,不可寻址,常采取中止驱动方式。5设备管理--操作系统第5页I/O设备类型按设备共享属性分类独占设备临界资源。共享设备

可寻址,可随机访问。磁盘。虚拟设备

一台独占设备变为若干台逻辑设备。6设备管理--操作系统第6页设备与控制器之间接口设备与CPU之间经过设备控制器通信。三种信号线。缓冲转换器控制逻辑数据信号线状态信号线控制信号线I/O设备设备控制器CPU7设备管理--操作系统第7页5.1.2设备控制器职责:控制一个或多个设备,实现IO设备与计算机之间数据交换。可编址:一个地址对应一个设备。分类:字符设备控制器;块设备控制器。8设备管理--操作系统第8页设备控制器基本功效接收和识别命令数据交换标识和汇报设备状态地址识别数据缓冲差错控制9设备管理--操作系统第9页设备控制器组成10设备管理--操作系统第10页5.1.3I/O通道目标:原来CPUI/O任务由通道来负担。一个特殊处理机。它含有执行I/O指令能力,并经过执行通道程序来控制I/O操作。与普通处理机区分:指令类型单一。没有自己内存。11设备管理--操作系统第11页通道类型字节多路通道一次交换一个字符。含有许多非分配型子通道。子通道按时间片轮转方式共享主通道。控制器A控制器B控制器C控制器D控制器N…A1A2A3…子通道AB1B2B3…子通道BC1C2C3…子通道CN1N2N3…子通道NA1B1C1…A2B2C2…设备12设备管理--操作系统第12页通道类型数组选择通道按数组方式进行数据传送。含有一个分配型子通道。一段时间内只执行一道通道程序,控制一台设备。数组多路通道含有许多非分配型子通道,分时并行操作。按数组方式进行数据传送。13设备管理--操作系统第13页“瓶颈”问题通道价格昂贵,数量较少。设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存放器14设备管理--操作系统第14页处理“瓶颈”问题方法增加通路,不增加通道。15设备管理--操作系统第15页5.1.4总线系统CPU、存放器、I/O设备之间经过总线链接。总线性能用时钟频率,带宽,传输率来衡量。16设备管理--操作系统第16页17设备管理--操作系统第17页18设备管理--操作系统第18页5.2I/O控制方式宗旨:尽可能降低主机对IO控制干预,把主机从繁杂IO控制事务中解脱出来。1.程序I/O方式2.中止驱动I/O控制方式3.直接存放器访问DMAI/O控制方式4.I/O通道控制方式19设备管理--操作系统第19页1.程序I/O方式忙—等候方式。CPU向控制器发出I/O指令,开启输入设备。状态存放器忙/闲标志busy置1。循环测试busy,busy=1输入未完成。busy=0输入完成,将数据从控制器数据存放器读到内存。CPU高速性和I/O设备低速性,致使CPU等候I/O设备。20设备管理--操作系统第20页程序I/O方式向I/O控制器发读命令读I/O控制器状态从I/O控制器中读入字向存放器中写字检验状态传送完成?犯错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完未就绪下条指令就绪21设备管理--操作系统第21页2.中止驱动I/O控制方式CPU向控制器发出I/O指令,CPU返回继续原来工作。设备控制器控制I/O设备。CPU与I/O并行工作。数据输入存放器,控制器向CPU发出中止。CPU检验数据正确性,数据写入内存。22设备管理--操作系统第22页中止驱动I/O控制方式向I/O控制器发读命令读I/O控制器状态从I/O控制器中读入字向存放器中写字检验状态传送完成?犯错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完下条指令就绪CPU做其它事中止23设备管理--操作系统第23页2.中止驱动I/O控制方式优点CPU与I/O并行工作,提升了资源利用率和吞吐量。缺点CPU每次处理数据量少(通常不超出几个字节),只适于传输率较低设备。24设备管理--操作系统第24页3.直接存放器访问DMAI/O控制方式直接存放器访问(DMA:DirectMemoryAccess)特点数据传输基本单位是数据块。数据从设备直接送入内存,或者相反。仅在传送一个或多个数据块开始和结束时,才需CPU干预,整块数据传送是在控制器控制下完成。25设备管理--操作系统第25页DMA方式向I/O控制器公布读块命令读DMA控制器状态下条指令CPU做其它事中止CPU→DMADMA→CPU26设备管理--操作系统第26页DMA控制器组成三部分主机与DMA控制器接口DMA控制器与块设备接口I/O控制逻辑四类存放器命令/状态存放器CR内存地址存放器MAR数据存放器DR数据计数器DC27设备管理--操作系统第27页DMA控制器组成28设备管理--操作系统第28页DMA工作过程CPU发出指令,存入CR。内存起始目标地址送入MAR。读取字节数送DC。源地址送DMAI/O控制逻辑。开启DMA控制器,CPU处理其它任务。DMA控制读入一个字(节)到DR。将该字(节)送入MAR指向内存单元。MAR加1,DC减1。DC<>0继续传输,DC=0发出中止。29设备管理--操作系统第29页DMA

工作过程设置MAR和DC初值开启DMA传送命令挪用存放器周期传送数据字存放器地址增1字计数存放器减1DC=0?请求中止在继续执行用户程序同时,准备又一次传送否是30设备管理--操作系统第30页DMA方式与中止主要区分中止方式是在数据缓冲存放区满后,发中止请求,CPU进行中止处理。DMA方式则是在所要求传送数据块全部传送结束时要求CPU进行中止处理,大大降低了CPU进行中止处理次数。中止方式数据传送是由CPU控制完成,而DMA方式则是在DMA控制器控制下不经过CPU控制完成。31设备管理--操作系统第31页4.I/O通道控制方式CPU一次读(或写)多个数据块。多个数据块送入不一样内存区域。CPU、通道和I/O设备三者并行操作。工作过程:CPU向通道发送一条I/O指令。给出通道程序首址和要访问I/O设备。经过执行通道程序完成I/O任务。32设备管理--操作系统第32页通道程序通道程序由一系列通道指令(通道命令)组成。每条通道指令包含信息:操作码内存地址计数通道程序结束位P(P=1表示程序结束)统计结束标志R(R=0表示与下一条指令处理数据属于同一统计;R=1表示某统计最终一条指令) 33设备管理--操作系统第33页通道程序操作PR计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE01300WRITE002501850WRITE1125072034设备管理--操作系统第34页5.3缓冲管理1.单缓冲2.双缓冲3.循环缓冲4.缓冲池(BufferPool)35设备管理--操作系统第35页缓冲引入缓解CPU与I/O设备间速度不匹配矛盾。降低对CPU中止频率。提升CPU和I/O设备之间并行性。36设备管理--操作系统第36页1.单缓冲进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区。T:数据输入缓冲区时间。M:数据从缓冲区传到用户区时间。C:CPU处理数据时间。工作区处理(C)缓冲区传送(M)输入(T)I/O设备(a)用户进程37设备管理--操作系统第37页1.单缓冲T1M1C1T2M2C2T3M3C3T4t(b)缓冲区是临界资源,CPU和外设轮番使用。I/O设备与CPU并行工作。对数据处理时间:Max(C,T)+M。38设备管理--操作系统第38页2.双缓冲(缓冲对换)在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时OS能够从第一缓冲区中移出数据,并送入用户进程。接着由CPU对数据进行计算。T1(缓冲1)M1C1M2C2M3C3T2(缓冲2)T3(缓冲3)M4C4T4(缓冲4)(b)工作区用户进程缓冲区1缓冲区2I/O设备(a)39设备管理--操作系统第39页2.双缓冲为了实现两台机器间双向数据传输,必须在两台机器中都设置两个缓冲区,一个用作发送缓冲区,另外一个用作接收缓冲区。40设备管理--操作系统第40页3.循环缓冲CPU和外设处理速度可能相差较大。在主存中分配一组大小相等缓冲区,并用指针将这些缓冲区一个循环链表。多个缓冲区:空缓冲区R;满缓冲区G;工作缓冲区C。多个指针:下一个可用缓冲区G指针Nextg;下一个输入缓冲区R指针Nexti;当前使用缓冲区C指针Current。41设备管理--操作系统第41页3.循环缓冲RGGGRG165423NextiNextgRGGGRC165423NextiNextgcurrent进程同时输入指针追上输出指针。输出指针追上输入指针。42设备管理--操作系统第42页4.缓冲池(BufferPool)三种缓冲区:空闲缓冲区,装满输入数据缓冲区,装满输出数据缓冲区三种队列:空缓冲队列,输入队列,输出队列43设备管理--操作系统第43页4.缓冲池(BufferPool)BufferPoolinqueueemptyqueueoutqueueDeviceCPU四种工作缓冲区:收容输入数据缓冲区;提取输入数据缓冲区;收容输出数据缓冲区;提取输出数据缓冲区。44设备管理--操作系统第44页缓冲区工作方式四种工作方式收容输入;提取输入;收容输出;提取输出。hinsoutsinhout收容输入提取输出用户程序提取输入收容输出缓冲池45设备管理--操作系统第45页5.4I/O软件5.4.1I/O软件设计目标和标准5.4.2中止处理程序5.4.3设备驱动程序5.4.4设备独立性软件5.4.5用户层I/O软件46设备管理--操作系统第46页5.4.1I/O软件设计目标和标准与详细设备无关统一命名对错误处理缓冲技术设备分配和释放I/O控制方式47设备管理--操作系统第47页I/O系统层次及功效用户层软件设备独立性软件设备驱动程序中止处理程序硬件I/O应答产生I/O请求、格式化I/O、Spooling映射、保护、分块、缓冲、分配设置设备存放器,检验存放器状态执行I/O操作48设备管理--操作系统第48页5.4.2中止处理程序49设备管理--操作系统第49页5.4.3设备驱动程序设备驱动程序又称为设备处理程序,是I/O进程与设备控制器之间通信程序。驱动程序与硬件亲密相关,每一类或非常类似两类设备设备配置一个驱动程序。

50设备管理--操作系统第50页1.设备驱动程序功效接收由I/O进程发来命令和参数。将抽象请求转换为详细请求发送给设备控制器。检验用户I/O请求正当性,传递设备状态,设置设备工作方式。发出I/O命令,开启I/O设备。响应控制器或通道发来中止请求。自动地组成通道程序。51设备管理--操作系统第51页2.设备驱动程序特点驱动程序主要是指在请求I/O进程与设备控制器之间一个通信和转换程序。与硬件特征紧密相关,不一样类型设备配置不一样驱动程序。驱动程序与I/O设备所采取I/O控制方式紧密相关。普通使用汇编语言书写。52设备管理--操作系统第52页3.设备驱动程序处理过程将抽象要求转换为详细要求。检验I/O请求正当性。读出和检验设备状态。传送必要参数。工作方式设置。开启I/O设备。53设备管理--操作系统第53页5.4.4设备独立性软件设备独立性(设备无关性):应用程序独立于详细使用物理设备。应用程序中使用逻辑设备名称来请求使用某类设备;系统将其转换为物理设备名称。好处:设备分配时灵活性。易于实现I/O重定向。

54设备管理--操作系统第54页设备独立性软件是驱动程序之上一层软件,功效以下:执行全部设备公有操作。对独立设备分配与回收。将逻辑设备名映射为物理设备名,找到对应物理设备驱动程序。对设备进行保护,禁止用户直接访问设备。缓冲管理。差错控制。向用户层(或文件层)软件提供统一接口。55设备管理--操作系统第55页逻辑设备名到物理设备名映射逻辑设备表(LUT)整个系统一张LUT每个用户一张LUT逻辑设备名物理设备名驱动程序入口地址/dev/tty/dev/printer3510242046………(a)逻辑设备名/dev/tty/dev/printer…系统设备表指针35(b)56设备管理--操作系统第56页5.4.5用户层I/O软件用户层软件必须经过一组系统调用来取得操作系统服务。57设备管理--操作系统第57页5.5设备分配5.5.1设备分配中数据结构5.5.2设备分配时应考虑原因5.5.3独占设备分配程序5.5.4SPOOLing技术58设备管理--操作系统第58页5.5.1设备分配中数据结构设备控制表DCT设备类型type设备标识符:deviceid设备状态:等候/不等候忙/闲指向控制器表指针重复执行次数或时间设备队列队首指针DCT1DCT2DCTn设备控制表集合59设备管理--操作系统第59页5.5.1设备分配中数据结构控制器控制表控制器标识符:controllerid控制器状态:忙/闲与控制器连接通道表指针控制器队列队首指针控制器队列队尾指针(a)控制器表COCT60设备管理--操作系统第60页5.5.1设备分配中数据结构通道控制表通道标识符:channelid通道状态:忙/闲与通道连接控制器表首址通道队列队首指针通道队列队尾指针(b)通道表CHCT61设备管理--操作系统第61页5.5.1设备分配中数据结构系统设备表62设备管理--操作系统第62页5.5.2设备分配时应考虑原因设备固有属性

独享设备;共享设备;虚拟设备设备分配算法先来先服务;优先级高者优先设备分配中安全性

安全分配方式;不安全分配方式63设备管理--操作系统第63页5.5.3独占设备分配程序分配设备分配控制器分配通道增加设备独立性使用逻辑设备名考虑多通路情况64设备管理--操作系统第64页5.5.4SPOOLing技术在多道程序技术下,专门利用一道程序来模拟脱机输入操作,把低速I/O设备上数据传送到高速磁盘上;再用另一道程序来模拟脱机输出操作,把数据从磁盘传送到输出设备上。这么,便可在主机直接控制下,实现脱机输入、输出功效。此时I/O设备与CPU并行工作。这种在联机情况下实现同时外围操作称为SPOOLing(SimultaneousPeriphernalOperatingOn-Line),或称为假脱机操作。65设备管理--操作系统第65页SPOOLing系统组成输入进程SPi输出进程SPo输入缓冲区Bi输出缓冲区Bo输入井输出井磁盘输入设备输出设备66设备管理--操作系统第66页共享打印机用户进程请求打印时,SPOOLing系统并不真正马上把打印机分配给该进程,而只做两件事:①输出进程在输出井中申请一个空闲磁盘块区,并将要打印数据送入其中。②输出进程再为用户进程申请一张空白用户请求打印表,并将用户打印要求填入其中,再将该表挂到请求打印队列上。67设备管理--操作系统第67页SPOOLing系统特点提升了I/O速度。将独占设备改造为共享设备。实现了虚拟设备功效。68设备管理--操作系统第68页5.6磁盘存放器管理5.6.1磁盘性能简述5.6.2磁盘调度5.6.3磁盘高速缓存(DiskCache)5.6.4提升磁盘I/O速度其它方法5.6.5廉价磁盘冗余阵列69设备管理--操作系统第69页5.6.1磁盘性能简述磁盘结构70设备管理--操作系统第70页5.6.1磁盘性能简述柱面扇区磁臂磁头磁盘结构71设备管理--操作系统第71页5.6.1磁盘性能简述磁盘结构磁道间隔扇区磁道扇区间隔72设备管理--操作系统第72页5.6.1磁盘性能简述(0柱面,0磁头,1扇区)(0,0,63)(1,0,3)(0,0,2)(0,1,1)(0,3,1)(1,0,1)(0柱面,0磁头,1扇区)磁盘物理地址73设备管理--操作系统第73页5.6.1磁盘性能简述为了提升磁盘存放容量,当代磁盘不再把磁道划分为相同数目标扇区,而是将盘面划分成若干条环带,同一环带内磁道含有相同扇区数。显然,外层环带磁道扇区比内层多。大多数当代磁盘都隐藏了这些细节,向操作系统提供虚拟几何磁盘规格,而不是实际物理几何规格。74设备管理--操作系统第74页5.6.1磁盘性能简述磁盘低级格式化温盘(温切斯特盘)磁盘分区每个分区是一个独立逻辑磁盘。每个分区起始扇区和大小统计在磁盘0扇区主引导统计分区表中。磁盘高级格式化75设备管理--操作系统第75页5.6.1磁盘性能简述磁盘低级格式化(温盘)Gap102031292293FieldGapFieldGapGapFieldGapFieldGap17741515201774151520IDDataIDDataGap1292293FieldGapField1774151520IDDataSectorPhysicalSector0PhysicalSector1PhysicalSector29BytesSynchByteTrack#Head#Sector#Bytes1211CRC3SynchByteDataCRC15122600Bytes/SectorGap76设备管理--操作系统第76页5.6.1磁盘性能简述磁盘容量算法硬盘容量=盘面数×柱面数×扇区数×每扇区字节16×16383×63×600=9,908,438,400

≈10G16×16383×63×512=8,455,200,76877设备管理--操作系统第77页磁盘类型硬盘、软盘单片盘、多片盘固定磁头盘、移动磁头盘78设备管理--操作系统第78页磁盘访问时间寻道时间:Ts=m×n+ss开启磁臂时间。m磁头移动一条磁道花费时间。旋转延迟时间:平均Tτ=1/2rr为磁盘每秒钟转数。传输时间:Tt=b/rNb为每次所读/写字节数。N为一条磁道上字节数。访问时间:rNbrTTsa++=2179设备管理--操作系统第79页磁盘访问时间寻道时间和旋转延迟时间在访问时间中占主要部分,合理组成磁盘数据存放位置可提升磁盘I/O性能。随机分布时访问时间为连续分布时33.5倍。80设备管理--操作系统第80页5.6.2磁盘调度1.先来先服务FCFS2.最短寻道时间优先SSTF3.扫描(SCAN)算法4.循环扫描(CSCAN)算法5.N-Step-SCAN算法6.FSCAN算法81设备管理--操作系统第81页1.先来先服务FCFS磁道号183839555890100150160184请求次序48312576982设备管理--操作系统第82页1.先来先服务FCFS公平,简单。I/O负载较轻且每次读写多个连续扇区时,性能很好。适合用于I/O进程较少场所。(从100号磁道开始)被访问下一个磁道号移动距离(磁道数)5558391890160150381844531921727010112146平均寻道长度:55.383设备管理--操作系统第83页2.最短寻道时间优先SSTF磁道号183839555890100150160184请求次序48312576984设备管理--操作系统第84页2.最短寻道时间优先SSTF磁头移动距离最近,时间最少。不能确保平均寻道时间最短。可能会有进程处于“饥饿”状态。(从100号磁道开始)被访问下一个磁道号移动距离(磁道数)90585539381815016018410323161201321024平均寻道长度:27.585设备管理--操作系统第85页3.扫描(SCAN)算法磁道号183839555890100150160184请求次序48312576986设备管理--操作系统第86页3.扫描(SCAN)算法电梯调度算法。预防“饥饿”现象。被广泛应用。磁头刚才越过了某一磁道,恰好又有一进程请求访问此磁道。(从100号磁道开始,向磁道号增加方向访问)被访问下一个磁道号移动距离(磁道数)1501601849058553938185010249432316120平均寻道长度:27.887设备管理--操作系统第87页4.循环扫描(CSCAN)算法35.8磁道号183839555890100150160184请求次序48312576988设备管理--操作系统第88页4.循环扫描(CSCAN)算法磁头单向移动。该算法在中负载或重负载时,性能比扫描算法好。(从100号磁道开始,向磁道号增加方向访问)被访问下一个磁道号移动距离(磁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论