设备管理培训课程 三_第1页
设备管理培训课程 三_第2页
设备管理培训课程 三_第3页
设备管理培训课程 三_第4页
设备管理培训课程 三_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

第5章设备管理I/O系统的组成I/O控制方式缓冲管理设备分配设备处理磁盘设备管理1/10/20231关于设备管理计算机系统的一个重要组成部分是I/O系统。该系统包括实现信息输入、输出和存储功能的I/O设备相应的设备控制器,有的大中型机还有I/O通道或I/O处理机。基本任务:完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率。主要功能:缓冲区管理、设备分配、设备处理、虚拟设备及设备独立性等。我们主要对I/O设备和设备控制器等硬件作一扼要的阐述。1/10/202321、I/O系统的组成总的来说:需要用于输入、输出和存储信息的设备;需要有相应的设备控制器和高速总线;有的大中型计算机系统,配置I/O通道等;I/O设备设备控制器I/O通道1/10/202331)I/O设备的类型I/O设备的类型繁多,从OS的观点,按其重要的性能指标进行分类如下:按传输速率分类:低速、中速、高速(键盘、打印机、磁盘)按信息交换的单位分类:块设备:有结构、速率高、可寻址、DMA方式控制字符设备:无结构、速率低、不可寻址、中断方式控制1/10/20234按设备的共享属性分类:独占:打印机共享:一个时刻上仍然是只被一个进程占用。可寻址、可随机访问的色后备。磁盘。虚拟:使一台独占设备变换为若干台逻辑设备,供给若干用户“同时使用”。1/10/202352)设备控制器设备并不直接与CPU通信计算机中的一个实体——“设备控制器”负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。控制器是CPU与I/O设备之间的接口,作为中间人接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务。1/10/20236控制器与CPU接口控制器与设备接口设备控制器CPUI/O设备数据线地址线控制线数据状态控制1/10/20237①I/O设备中的接口与控制器的接口有三种类型的信号数据信号线(进出数据转换、缓冲后传送)控制信号线(读\写\移动磁头等控制)状态信号线I/O设备信号数据缓冲转换器数据状态控制逻辑控制1/10/20238②设备控制器可编址,不同类控制一个设备时只有一个地址,若连接控制多个设备则含有多个设备地址管理的复杂性因不同设备而异,分为字符设备控制器、块设备控制器。常作成接口卡插入计算机。1/10/20239基本功能接收和识别CPU命令(控制寄存器:存放命令和参数)标识和报告设备的状态(状态寄存器)数据交换(数据寄存器)地址识别(控制器识别设备地址、寄存器地址。地址译码器)数据缓冲(协调I/O与CPU的速度差距)差错控制1/10/202310组成设备控制器与与处理机的接接口设备控制器与与设备的接口口I/O逻辑设备控制器数据线地址线控制线数据状态控制I/O逻辑12/29/202211I/O逻辑控制器与设备接口1控制器与设备接口i数据寄存器控制/状态寄存器数据线地址线控制线与CPU的接口与设备的接口数据数据状态控制状态控制一个接口连接接一个设备。。每个接口中都都有数据、控控制和状态三三种类型的信信号。控制器中的I/O逻辑根根据处理机发发来的地址信信号,去选择择一个设备接接口。1个或n个1个或n个12/29/202212I/O逻辑通过一组控制制线与处理机机交互,处理理机利用该逻逻辑向控制器器发送I/O命令。I/O逻辑对收收到的命令进进行译码。CPU要启动动一个设备时时,将启动命令发发送给控制器器;同时通过地址址线把地址发发送给控制器器控制器的I/O逻辑对收收到的地址和和命令进行译译码,再根据据所译出的命命令选择设备备进行控制。。12/29/202213③处处理理机机与与设设备备控控制制器器间间实现现CPU与与设设备备控控制制器器之之间间的的通通信信。。共有三类类信号线线:数据线:数据据线通常与两两类寄存器相相连接,第一一类是数据寄寄存器;第二二类是控制/状态寄存器器。地址线控制线12/29/2022143)I/O通道①I/O通通道设备的的引入设备控制器器已大大减减少CPU对I/O的干预((如承担了了选择设备备,数据转转换、缓冲冲等功能))但当主机的的外设很多多时,CPU的负担担仍然很重重。为此又又在CPU和设备控控制器之间间增设一个个机构:““通道”主要目的::建立更独立立的I/O操作,解解放CPU。数据传送的的独立I/0操作作的组织、、管理及结结束处理也也尽量独立立。设置通道后后CPU只需需向通道发发送一条I/O指令令即可不再再干预后续续操作。通道根据命命令,形成成通道程序序,执行I/O操作作,完成后后向CPU发中断信信号。12/29/202215②通道类型型实际上I/O通道是是一种特殊殊的处理机机:指令类型单单一,只用用于I/O操作;通道没有内内存,它与与CPU共共享内存。。根据其控制制的外围设设备的不同同类型,信信息交换方方式也可分分为以下三三种类型::字节多路通通道数组选择通通道数组多路通通道12/29/202216字节节多多路路通通道道一个个通通道道常常通通过过多多个个子子通通道道连连接接控控制制多多个个设设备备控控制制器器。。多个个设设备备以以字字节节为为单单位位交叉叉轮轮流流使用用主主通通道道传传输输自自己己的的数数据据。。((图图5-3))控制器A设备控制器B设备A1B1C1…A2B2C2A1A2…B1B2…主通通道道扫扫描描子子通通道道速速率率足足够够快快,,子子通通道道上上的的设设备备速速率率又又不不太太高高时时,,一一般般不不丢丢失失信信息息。。适用于于并行行、低低速设设备12/29/202217数组选选择通通道为了适适用高高速设设备,,设置置分配配型子子通道道设备分分配到到通道道后,,一段段时间间内一一直独独占,,直至至设备备传送送完毕毕释放放。利用率率低。。数组多多路通通道结合上上述两两种方方式。。含多多个非非分配配型子子通道道。数数据传传送则则按数数组方方式进进行。。12/29/202218③“瓶颈颈”问题题由于通道道价格昂昂贵,致致使数量量较少,,使它成成为I/O系统统的瓶颈颈,进而而造成系系统吞吐吐量的下下降。如如下例所所示:存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备712/29/202219解决“瓶瓶颈”问问题最有有效的办办法便是是增加设设备到主主机间的的通路而不增加加通道,,如下图图所示::存储器通道1通道2控制器1控制器2I/O设备I/O设备I/O设备I/O设备12/29/202220如图所示示,计算算机系统统中的各各部件,,如CPU、存存储器以以及各种种I/O设备之之间的联联系,都都是通过过总线来来实现的的。总线的性性能用总总线的““时钟频频率”、、“带宽宽”和相相应的总总线“传传输速率率”等指指标来衡衡量。CPU存储器磁盘控制器打印机控制器其他控制器磁盘驱动器打印机系统总线*微机机I/O系统中中的总线线结构12/29/202221总线的发展展过程ISA和EISA总总线ISA(IndustryStandardArchitecture)总线线EISA((ExtendedISA)总线局部总线((LocalBus)VESA((VideoElectronicStandard)总线线PCI(PeripheralComponentInterface)总线线12/29/2022222、I/O控制方方式程序I/O方式中断驱动I/O方式式直接存储器器访问DMA(字节节—块)I/O通道道控制方式式(组织传传送的独立立)宗旨:减少少主机对I/O控制制的干预,,将CPU从繁杂的的I/O控控制事物中中解脱出来来。12/29/2022231))程程序序I/O方方式式处理理机机对对I/O设设备备的的控控制制采采取取程程序序I/O方方式式,,或或称称为为忙忙——等等待待方方式式向控制器发送送一条I/O指令启动输输入设备输入入数据时,要要同时把状态态寄存器中的的忙/闲标志志置为1。然后不断测试试标志。当为为1时,表示示输入机尚未未输完一个字字,处理机应应继续对该标标志测试,直直到它为0,,表明数据已已输入到控制制器的数据寄寄存器中。处理机将数据据取出送入内内存单元,便便完成了一个个字的I/O。在程序I/O方式中,由由于CPU高高速而I/O设备低速致致使CPU极极大浪费。注:程序I/O方式也称称作程序查询询方式或轮询询方式。12/29/202224程序I/O方方式流程图向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完未就绪下条指令就绪12/29/2022252)中断驱动动I/O方式式CPU向相应应的设备控制制器发出一条条I/O命令令然后立即返回回继续执行原原来的任务。设备控制器器于是按照命命令的要求去去控制指定I/O设备。。这时CPU与I/O设设备并行操作作。I/O设备输输入数据中,,无需CPU干预,因而而可使CPU与I/O设设备并行工作作。从而提高高了整个系统统的资源利用用率及吞吐量量。12/29/202226中断控制方式式流程图向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPU→I/OI/O→CPUI/O→CPUCPU→内存未完下条指令就绪CPU做其它事中断12/29/2022273)直直接存存储器器访问问DMA方方式式中断方方式比比程序序I/O方方式更更有效效,但但仍以以字((节))为单单位进进行I/O,每每当完完成一一个字字(节节),,控制制器便便要请请求一一次中中断。。CPU还是是存在在频繁繁的中中断处处理操操作。。DMA(DirectMemoryAccess))控制制方式式的引引入直接存存储器器访问问方式式。12/29/202228①该方式的的特点是::数据传输的的基本单位是是数据块;所传送的数数据是从设设备直接送送入内存的的,或者相相反;不需需要CPU操作。CPU干预预进一步减减少:仅在传送一一个或多个个数据块的的开始和结结束时,才才需CPU干预,整整块数据的的传送是在在控制器的的控制下完完成的。可见DMA方式又是是成百倍的的减少了CPU对I/O的干干预,进一一步提高了了CPU与与I/O设设备的并行行操作程度度。12/29/202229DMA方式式示意图向I/O控制器发布读块命令读DMA控制器的状态下条指令CPU做其它事中断CPU→DMADMA→CPU12/29/202230②DMA控制器器的组成成DMA控制器由三部分分组成::主机与DMA控控制器的的接口;;DMA控控制器与与块设备备的接口口;I/O控控制逻辑辑。如下页图图。12/29/202231DMA控控制器的的示意图图countI/O控制逻辑DRMARDCCRCPU内存主机—控制器接口控制器与块设备接口系统总线DMA控制器命令12/29/202232DMA控制器器中的寄存器器为实现主机与与控制器之间间块数据的直直接交换,必必须设置如下下四类寄存器器:数据寄存器DR:暂存设备到内内存或从内存存到设备的数数据。内存地址寄存存器MAR::它存放把数据据从设备传送送到内存的起起始的目标地地址或内存原原地址。数据计数器DC:存放本次CPU要读或写写的字(节))数。命令/状态寄寄存器CR::用于接收从CPU发来的的I/O命令令或有关控制制和状态信息息。12/29/202233③DMA工工作过程CPU先向向磁盘控制制器发送一一条读命令令。该命令被送送到命令寄寄存器CR中。同时需发送送本次要将将数据读入入的内存起起始目标地地址,该地地址被送入入MAR中;将磁盘盘中的原地地址直接送送入DMA控制器的的I/O控制制逻辑上。要读数据的的字数则送送入数据计计数器DC中启动DMA控制器,,按其控制制逻辑开始始进行数据据传送DMA控制制器读入一一个数据到到数据寄存存器DR中,然后传传到内存中中;接着MAR+1,DC-1,,判断DC是否为0,如否,,继续,反反之控制器器发中断请请求,传送送完毕。以磁盘读数数据为例12/29/202234DMA工作作方式流程程图设置AR和DC初值启动DMA传送命令挪用存储器周期传送数据字存储器地址增1字计数寄存器减1DC=0?请求中断在继续执行用户程序的同时,准备又一次传送12/29/2022354)I/O通道控制制方式DMA适用用于读一个个连续的数数据块;如一次读多个个数据块到到内存不同同区域,须由CPU分别发发送多条I/O指令令、进行多多次DMA中断处理理。DMA方式式的发展,,引入I/O通道道控制方式式,实现为为对一组数据块块的读(写))及有关的的控制和管管理为单位位的干预。。进一步减减少CPU的干预此时,CPU只需发发一条I/O指令,,通道程序序的首地址址及要访问问设备即可可。*CPU、通道和和I/O设设备三者的的并行操作作,提高整整系统资源源利用率。。12/29/202236通道道程程序序通道道通通过过执执行行通通道道程程序序,,与与设设备备控控制制器器共共同同实实现现对对I/O设设备备的的控控制制。。通道程序序由一系系列通道道指令构构成。通通道指令令一般包包含下列列信息::操作码。。规定指指令所执执行的操操作。内存地址址。计数。表表示本指指令所要要操作的的字节数数。通道程序序结束位位。用以以表示程程序是否否结束。。记录结束束标志。。表示该该指令是是否与下下条指令令有关。。12/29/202237内存设备CPU缓冲区区数据控制器器(中断断、DMA)通道有”控控制器器”或或”通通道””的帮帮助后后CPU可可解放放去做做其他他事物物,提提高了了利用用率。。但分析析单个个程序序内的的执行行CPU计算算工作作需等等待后后续数数据输输入才才可继继续CPU计算算需等等待数数据输输入完完才能能计算算,虽虽然数数据输输入不不需CPU干预预,但但CPU的的解放放也只只是能能去做做其他他程序序,需需切换换工作作,还还是会会产生生开销销。一进程程中““CPU计计算速速度””和““设备备I/O速速度””存在在不匹匹配的的矛盾盾。解决::CPU进进行当当前计计算时时,进进行后后续数数据的的输入入(先先不需需CPU干干预的的存在在一个个地方方———缓冲冲区))。12/29/2022383、缓缓冲管管理利用不不同的的I/O控控制方方式减减少CPU对输输入输输出的的干预预,提提高利利用率率;但速度度方面面还存存在问问题,,为了了缓和和CPU和和I/O设设备速速度不不匹配配的矛矛盾,,提高高CPU和和I/O设设备的的并行行性,,在现现代OS中中,几几乎所所有的的I/O设设备与与处理理机交交换数数据时时,都都用了了缓冲冲区。。12/29/202239引入缓冲区区的主要原原因:缓和CPU与I/O设备间速速度不匹配配的矛盾。。缓冲区数据据成批传入入内存,减减少对CPU的中断断频率,放放宽对CPU中断响响应时间的的限制。最终,提高高CPU和和I/O设设备之间的的并行性。。使用缓冲区区的方式::1)单缓冲冲、多缓冲冲2)循环缓缓冲3)缓冲池池(BufferPool)12/29/2022401)单缓冲与与多缓冲单缓冲(SingleBuffer)每当用户进程程发出一I/O请求时,,字符设备输入入时,缓冲区区用于暂存用用户输入/输输出的一行数数据;块设备输入类类似,对成块块数据处理。。以输入数据为为例,比较三三个时间:数数据输入缓冲冲区用时T、、从缓冲送入入到用户内存存区用时M、、CPU计算算用时C。单单缓冲下,T、C可并行行。所以输入入用时:max(T、C)+MOS在主存中中为之分配一一个缓冲区。。CPU和外设设轮流使用,一方处理完完后等待对方方处理。12/29/202241T1M1C1T2M2C2T3M3C3单缓冲双缓冲T1M1C1T2M2C2T3M3C3TM①T1M1②T2M212/29/202242双缓冲(DoubleBuffer)进一步加快输输入和输出速速度,提高设设备利用率双缓冲区机制制,也称为缓缓冲对换(BufferSwapping)输入:先将数数据送入第一一缓冲区,装装满后便转向向第二缓冲区区。读出:OS从从第一缓冲区区中移出数据据,并送入用用户进程。接接着由CPU对数据进行行计算。两个缓冲区,,CPU和外外设都可以连续处理无需等待对方方。要求CPU和外设的的速度相近。。12/29/202243双机通讯时缓缓冲区的设置置缓冲区A机缓冲区B机单缓冲发送缓冲区接收缓冲区A机接收缓冲区发送缓冲区B机双缓冲仅配置单缓冲冲,任意时刻刻都只能实现现单方向的数数据传输,而而绝不允许双双方同时向对对方发送数据据。为实现双向数数据传输,必必须在两台机机器中都设置置两个缓冲区区,一个用作作发送缓冲区区,另一个用用作接受缓冲冲区。12/29/2022442))循循环环缓缓冲冲(circularbuffer)输入入与与输输出出速速度度基基本本相相匹匹配配,,采采用用双双缓缓冲冲能能获获得得较较好好的的效效果果,,基基本本上上能能并并行行操操作作。。但若若两两者者的的速速度度相相差差甚甚远远,,双双缓缓冲冲的的效效果果仍仍不不够够理理想想;;So::增加加缓冲冲区数数量,,引入入多缓缓冲机机制。。组织织形式式:循循环缓缓冲、、缓冲冲池。。增加多多个缓缓冲区区,CPU和外外设的的处理理速度度可以以相差差较大大。12/29/202245①循环缓冲冲的组成多个缓冲区区。循环缓冲有有多个大小小相同的缓缓冲区。三三种类型缓缓冲区:用于装输入入数据的空空缓冲区R装满数据的的缓冲区G计算进程正正在使用的的现行工作作缓冲区C多个指针。。指示计算进程正在使用的的缓冲区C的指针Current指示计算进程下一个可取取的缓冲区区G的指针针Nextg指示输入进程下次可放的的缓冲区R的指针Nexti12/29/202246循环缓冲的的组成示意意图162534RRGGCGNextiNextgcurrent12/29/202247②循环缓缓冲区的的使用计算进程程(CPU)和和输入进进程(I/O操操作)可可利用两两个过程程来使用用循环缓缓冲区。。主要就是是利用指指针,操操作上述述不同类类型缓冲冲区Getbuf过过程:使用缓冲冲区时,,可调用用该过程程(取:从Nextg取,,设置current,nextg下移一一个。放放:使用用nexti,,nexti下下移一个个)Releasebuf过程::当计算进进程把C缓冲区区中的数数据提取取完毕时时,便调调用该过过程将缓缓冲区G释放。。当输入入进程把把缓冲区区装满时时,也调调用该进进程将缓缓冲区释释放。12/29/202248③进程程同步步输入进进程和和计算算进程程并行行执行行,如如何控控制相相应的的两个个指针针不断断顺时时针方方向移移动,,这样样就可可能出出现两两种情情况::Nexti赶上上Nextg。。意味味着输输入速速度大大于计计算速速度,,缓冲冲区满满,此此情况况称为为系统统受计计算限限制。。Nextg赶上上Nexti。。意味味着输输入速速度低低于计计算速速度,,缓冲冲区空空,此此情况况称为为系统统受I/O限制制。12/29/2022493)缓缓冲池池(BufferPool)上述的的缓冲冲区仅仅适用用于某某特定定的I/O进程程和计计算进进程,,因而而它们们属于于专用缓缓冲。((每每个个进进程程都都要要维维护护自自己己的的一一个个循循环环缓缓冲冲区区))当系系统统较较大大时时,,许许多多这这样样的的循循环环缓缓冲冲,,不不仅仅消消耗耗大大量量内内存存空空间间,,而而且且利利用用率率不不高高。。为提提高高缓缓冲冲区区的的利利用用率率,,目目前前广广泛泛流流行行缓缓冲冲池池,,在在池池中中设设置置多多个个可可供供若若干干个个进进程程共共享享的的缓缓冲冲区区。。12/29/202250系统设置置多个缓缓冲区,,形成一一个缓冲冲池。池中缓冲冲区为系系统中所所有的进进程共享享使用(如UNIX系系统在块块设备管管理中设设置了一一个15个缓冲冲区组成成的缓冲冲池)组织形式式:队列列及队列列指针也是双方方向缓冲冲技术;;缓冲区区整体利利用率高高。12/29/202251①缓冲池池的组成成对于既可可输入又又可输出出的公用用缓冲池池,至少少应含有有下列三三种类型型的缓冲冲区:空缓冲区区;装满输入入数据的的缓冲区区;装满输出出数据的的缓冲区区;为方便管管理,将将上述类类型相同同的缓冲冲区连成成队列空缓冲区区队列输入队列列输出队列列12/29/202252使用两两个过过程注意,,是有有同步步控制制的队队列操操作过过程每队设设置一一个互互斥信信号量量MS;判断每每个队队列是是否有有可用用的缓缓冲区区,需需一个个资源源信号号量RS。。获取取缓冲冲区时时P((RS),,释放放时V(RS))。Getbuf::Putbuf::12/29/202253②缓冲区的的工作方式式四种工作方方式:收容输入::Getbuf(emq),hin;;输入数据据填入一空空缓冲区;;Putbuf(inq,hin)提取输入::Getbuf(inq),sin;从输入入缓冲队列列中取出一一数据区的的内容;Putbuf(emq,sin)收容输出::Getbuf(emq),hout;输出出数据填入入一空缓冲冲区;Putbuf(outq,hout)提取输出::Getbuf(outq),sout;从从输出缓冲冲队列中取取一数据区区的内容;;Putbuf(emq,sout)工作缓冲区区有四种::收容输入数数据的工作作缓冲区;;收容容输输出出数数据据的的工工作作缓缓冲冲区区;;提取取输输入入数数据据的的工工作作缓缓冲冲区区;;提取取输输出出数数据据的的工工作作缓缓冲冲区区;;缓冲冲池池hinsout磁盘盘打印印机机sinhout内存存用户户程序序emq…inq…outq…12/29/202254多道环境下,,系统中设备备是所有进程程共享的。要要防止无序竞争争,提高外设资资源的利用率率。所以,除解决决基本设备处处理问题,还还需由OS进进行统一、合合理的设备分分配。4、设备分分配12/29/2022551)设设备分分配中中的数数据结结构记录相相应设设备或或控制制器的的状态,,及对设设备或或控制制器进进行控制所需的的信息。所需需数据据结构构:设备控控制表表控制器器控制制表通道控控制表表系统设设备表表12/29/202256①设备控控制表((DCT)系统为每每一设备备都配置置一张记录本设设备的情情况。设备类型type设备标识符deviceid设备状态:等待/不等待忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针DCT1DCT2DCTn设备控制表集合指向因请请求该设设备而阻阻塞的进程的PCB组组成的队列列。12/29/202257②控制器控控制表(COCT))控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针系统为每一一控制器都都配置一张张记录本控制制器的情况况。③通道控制制表CHCT通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针12/29/202258④系统设备备表(SDT)表目1表目i设备类型设备标识符DCT驱动程序入口系统根据进进程对设备备的请求进进行设备分分配的过程程:SDTDCTCOCTCHCT细节考虑12/29/202259设备固有属性性:独占、共共享、独占但但可虚拟。根根据属性采取取不同分配策策略。设备分配算法法,常采用两两种:FCFS优先级高者优优先设备分配的安安全性:进程程开始I/O后就阻塞直直到I/O完完成。不“请请求和保持””(安全的));允许连续续I/O请求求,是不安全全的,此类分分配方式需进进行安全性检检查。设备独立性2)设备分配配需考虑的因因素12/29/202260设备独独立性性(无无关性性)DeviceIndependence指用户户编程程序时时所用用设备备(逻逻辑上上的))与实实际设设备无无关;;好处::设备分分配时时的灵灵活性性3个物物理设设备((如打打印机机),,程序序中申申请一一台打打印机机,执执行时时不拘拘泥必必须是是某台台(如如第2个))打印印机易于实实现I/O重定定向指用于于I/O操操作的的设备备可以以更换换(重重定向向),,而不不必改改变应应用程程序。。程程序调调试、、运行行中的的“打打印””,可可通过过修改改逻辑辑设备备表的的显示示终端端,实实现不不同时时候的的不同同的设设备使使用。。12/29/202261引入两两个概概念::逻辑设设备::用户户应用用程序序中请请求的的设备备物理设设备::系统统实际际执行行时使使用的的设备备设备分分配时时需实实现::逻辑设设备地地址映映射到到物理理设备备地址址设备设备驱动程序设备独立性软件用户层程序:read,write基本硬硬件控控制所有设设备的的公有有操作作:独立设设备的的分配配与回回收逻辑设设备映映射为为物理理设备备设备保保护缓冲管管理差错控控制给上层层的接接口12/29/202262逻辑设备名物理设备名驱动程序入口地址/dev/tty21024/dev/printer52046…逻辑设设备名名到物物理设设备名名的映映射逻辑设设备表表LUT((LogicalUnitTable)LUT的设设置问问题整个系系统设设置一一张LUT(设设备重重名问问题))为每个个用户户设置置一张张LUT,,记入入各自自PCB。。12/29/2022633)独独占设设备的的分配配过程程基本分分配步步骤(一一个个有有通通道道的的例例子子))::分配配设设备备::根据据请请求求设设备备名名,,查查找找SDT,,找找到到DCT;;状态态、、安安全全性性等等因因素素都都可可能能导导致致本本申申请请进进程程阻阻塞塞,,挂挂入入DCT等等待待队队列列中中。。分配配控控制制器器通过过1步步分分配配设设备备后后,,从从DCT找找到到COCT;;检查查COCT状状态态字字,,若若忙忙碌碌,,进进程程PCB挂挂到到其其等等待待队队列列分配配通通道道COCT找找到到CHCT判断断状状态态,,……12/29/202264设备分配配程序的的改进增加设备备的独立立性进程使用用逻辑设设备名提提出I/O请求求。系统从SDT中中依次找找下去,,直到找找到一个个该类设设备中空空闲可用用的进行行分配。。考虑多通通路情况况控制器、、通道也也是反复复查找,,直到找找到一条条通路。。12/29/2022654)设备备分配中中的虚拟拟技术——SPOOLing技术术虚拟性是是OS的的四大特特征之一一。多道程序序技术将将一台物物理CPU虚拟拟为多台台逻辑CPU,,实现多多个用户户共享一一台主机机;如何将一一台物理理I/O设备虚虚拟为多多台逻辑辑I/O设备,,允许多多个用户户共享““同时使使用”??12/29/202266返回假脱机技技术多道程序序技术引引入后,,可专门门利用一一道程序序(SPOOLing程序))模拟脱脱机输入入/输输出工作作的外围围机,完完成设备备的I/O操作作。称这种联联机情况况下实现现的同时时外围操操作为SPOOLing技术(SimultaneausPeriphernalOperatingOn—Line,或称称为假脱脱机操作作)多道是前前提,还还需高速速、大容容量、可可随机存存取的外外存支持持。12/29/202267SPOOLing系统统的组成成输入设备备输出设备备输入井输出井磁盘输入进程SPi输出进程SP0CPU输入缓冲区Bi输入缓冲区B0模拟的外外围机(软防硬硬)以CPU的视角角,就把磁盘盘当设备备12/29/202268SPOOLing系统的的组成主要有三大部部分(如下页页图)输入井和输出出井:磁盘上开辟两两大存储空间间。输入井模拟拟脱机输入的的磁盘设备,,输出井模拟拟脱机输出时时的磁盘。输入缓冲区和和输出缓冲区区:为缓解速度矛矛盾,内存中中开辟两大缓缓冲空间,输入缓冲区暂暂存输入设备备送来的数据据,再送给输输入井;输出出缓冲区暂存存输出井送来来的数据,再再送输出设备备。输入进程和输输出进程。用一进程模拟拟脱机输入时时外围设备控控制器的功能能,把低速输输入设备上的的数据传送到到高速磁盘上上;用另一进程模模拟脱机输出出时外围设备备控制器的功功能,把数据据从磁盘上传传送到低速输输出设备上。。12/29/202269共享打印机打印机属于独独占设备,利利用SPOOLing技技术可将其改改造为一台可可供多个用户户共享的设备备。见P167说说明:核心就是不能能交叉打印的的数据,虚拟拟的打印在磁磁盘的输出井井上(而磁盘盘的非独占性性解决了打印印机不能方便便共享的问题题)。有打印输出请请求的进程申申请“请求打打印表”。数据虚拟打印印到“输出井井”Spooling程序再再按“请求表表队列”分配配真正的打印印机打印数据据。12/29/202270SPOOLing系统的的特点提高了I/O的速度。利用输入输出出井模拟成脱脱机输入输出出,缓和了CPU和I/O设备速度度不匹配的矛矛盾。将独占设备改改造为共享设设备。并没有为进程程分配设备,,而是为进程程分配一存储储区和建立一一张I/O请请求表。最终,实现了了虚拟设备功功能。多个进程可““同时”使用用一台独占设设备。12/29/2022715、设备处处理设备处理程程序:即驱驱动程序。。I/O设设备与控制制器间的通通信程序。。(与硬件件密切相关关,每类设设备配备一一种驱动程程序)驱动的功能能和特点驱动程序的的处理过程程中断处理程程序的处理理过程自学P167~12/29/2022726、、磁磁盘盘存存储储器器管管理理磁盘盘性性能能简简述述磁盘盘调调度度方方法法磁盘盘高高速速缓缓存存提高高速速度度的的其其他他方方法法12/29/2022731))磁磁盘盘性性能能简简述述首先先与与格格式式有有关关数据据的的组组织织和和格格式式盘片片、、面面、、磁磁道道、、扇扇区区为方方便便处处理理,,每每条条磁磁道道存存储储容容量量相相同同,,每每个个磁磁道道上上的的每每个个扇扇区区相相当当于于一一个个盘盘块块。。磁磁盘盘””格格式式化化””的的过过程程就就是是按按规规定定的的格格式式规规划划盘盘块块。。如温温盘盘格格式式::P172每道道30个个扇扇区区,,每每扇扇600个个字字节节。。512字字节节用用于于存存放放数数据据,,其其余余存存放放控控制制信信息息。。标识符字段::标识一个扇扇区的信息记记录; 1+2+1+1+3bytes数据字段:每每个扇区存放放数据的空间间。数据前后还有有若干特定功功能字节。1+512+2bytesIDfield(7bytes)Datafield(515bytes)12/29/202274与速度有关关磁盘类型固定磁头((每道一磁磁头)移动磁头((每盘一磁磁头)访问时间的的计算寻道时间((到磁道))旋转延迟((到扇区))传输时间传输时间占总时间的的比例最小小,磁盘读读写速度的的提高要选选择合适的的调度算法法,减少前前两项用时时,使所有有作业的磁磁盘处理时时间均衡。。12/29/2022752)磁盘调调度方法对所有请求求访问磁盘盘的进程进进行合理调调度,使对对磁盘的平平均访问时时间最小。。目标:使平平均寻道时时间最少。。算法:FCFS最短寻道时时间优先SSTF扫描算法SCAN((磁盘电梯梯调度算法法)循环扫描算算法CSCANN-Step-SCAN算法法FSCAN算法12/29/202276①FCFS多个进程程的磁盘盘I/O请求构构成一个个随机分分布的请请求队列列。磁盘I/O执行行顺序按按磁盘请请求的先先后顺序序。设开始位位置为5312/29/202277②最短寻寻道时间间优先SSTF选择从当当前磁头头位置出出发移动动最少的的磁盘I/O请请求使每次磁磁头移动动时间最最少。不一定是是最短平平均柱面面定位时时间,但但比FIFO算算法有更更好的性性能。对中间的的磁道有有利,但但可能会会有进程程处于饥饥饿状态态(I/O请求求总不被被执行))。12/29/202278FCFSSSTF访问的下一磁道号移动距离(磁道数)5545583391918219072160701501038112184146平均寻道长度55.3访问的下一磁道号移动距离(磁道数)90105832553391638118201501321601018424平均寻道长度27.5设当前在在100磁道上上;进程要求求的访问问顺序::55,,58,,39,,18,,90,,160,150,38,18412/29/202279③扫描算算法SCAN((磁盘电电梯调度度算法))SSTF会导致致“饥饿饿”现象象总选择最最近的磁磁道访问问,远磁磁道请求求的进程程会长时时间得不不到执行行。改进进::考虑虑距距离离的的同同时时,,更更优优先先考考虑虑方方向向SCAN算算法法规定定磁磁头头移移动动方方向向::自自里里向向外外,,再再自自外外向向里里移移动动。。后续续的的I/O磁磁道道请请求求,,哪哪个个在在规规定定方方向向上上距距离离最最近近,,就就先先执执行行哪哪个个。。如当当前前为为100,,后后续续要要求求55,,86,,95,,180,,165,,105先由由内内向向外外::选选最最近近的的105执执行行,,再再判判断断剩剩余余的的,,选选165,,180。。再由由外外向向内内::95,,86,,55对55号号磁磁道道请请求求的的进进程程相相对对““饥饥饿饿””很很久久12/29/202280循环扫扫描CSCANSCAN的的错过过问题题:容易错错过与与当前前磁道道距离离近,,但方方向不不一致致的磁磁道。。修改::将SCAN规规定的的移动动方向向改为为“单单向移移动””由里向向外后后,再再由里里向外外。N-Step-SCAN前述算算法共共同问问题::“磁臂臂粘着着”———磁磁头静静止在在一个个磁道道上,,导致致其它它进程程无法法及时时进行行磁盘盘I/O。(高高密度度盘,,某一一进程程的读读写可可能集集中在在某一一磁道道)改进::将磁盘盘请求求队列列分成成长为为N的的子子队列列按FCFS选择择子队队列。。队列列内又又按SCAN算算法。。处理子子队列列过程程中产产生的的新I/O请求求放入入其他他队列列。N=1时,,就是是FCFS,N很大大时就就是SCAN。。12/29/202281F-SCANN-Step-SCAN的简简化::请求队队列只只分为为两个个子队队列当前一一个队队列,,按SCAN算算法执执行;;扫描期期间新新生成成的组组成一一个队队列,,等待待被扫扫描。。12/29/2022823)磁磁盘高高速缓缓存内存中中划出出,对对外存存磁盘盘读写写进行行缓存存的区区域。。4)其其他提提速方方法提前读读延迟写写优化物物理块块分布布虚拟盘盘磁盘冗冗余阵阵列((高速速、大大容量量磁盘盘系统统)自学12/29/202283要点虚拟设备备是指::通过虚拟技术术将一台独占占设备改造成成若干台逻辑辑设备,供若若干个用户进进程同时使用用。按信息交换单单位分类,可可将设备分为为:块设备和字符符设备。通道是:负责I/O的的处理机。字节多路通道道主要用作::连接大量的的低速I/O设备。。12/29/202284从资源分配配的角度看看,操作系系统将外部部设备分为为:独占型设备备、共享型型设备、虚虚拟设备。。根据信息交交换方式的的不同,可可以将通道道分为:字节多路通通道、数据据选择通道道、数据多多路通道。。设备独占性性是指:应用程序独独立于具体体使用的物物理设备。。缓冲技术中中的缓冲池池在:主存中。12/29/202285进行行设设备备分分配配时时所所需需要要的的数数据据表表格格主主要要有有::设备备控控制制表表、、设设备备控控制制器器控控制制表表、、通通道道控控制制表表和和系系统统设设备备表表。。如果果有有多多个个中中断断同同时时发发生生,,系系统统将将根根据据中中断断优优先先级级响响应应优优先先级级最最高高的的中中断断请请求求。。若若要要调调整整中中断断事事件件的的响响应应次次序序,,可可以以利利用用::中断断屏屏蔽蔽。。在操操作作系系统统中中,,一一种种用用空空间间换换取取时时间间的的资资源源转转换换技技术术是是::Spooling。。大多多数数低低速速设设备备都都属属于于::独享享设设备备。。12

温馨提示

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

评论

0/150

提交评论