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

下载本文档

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

文档简介

第七章I/O设备管理§7.1I/O设备§7.2数据传送控制方式§7.3设备分配§7.4缓冲管理§7.5I/O处理过程§7.1I/O设备OS设备管理中的设备指外部设备,包括输入设备与输出设备,即除主机(CPU+内存)之外的所有设备。I/O性能经常成为整个系统性能的瓶颈,CPU性能并不等于系统性能,CPU性能越高,与I/O差距越大。OS庞大复杂的原因之一就是外设资源多而杂,种类繁多,结构各异,I/O数据信号类型不同,速度差异很大。§7.1I/O设备在多道程序环境中,设备管理把着眼点放在:设备的有效使用设备和CPU的并行工作让用户方便使用设备一、计算机设备的分类§7.1I/O设备基于设备的工作特性:

外部存储设备(长期保存信息,可随时访问,如磁盘、磁带)

输入/输出设备(字符设备,以单个字符为单位存储、传输信息,如显示器、键盘、打印机等)§7.1I/O设备基于设备的从属关系:

—系统设备(一般是标准设备)(OS生成时就配置在系统中的标准设备,如:键盘、鼠标、显示器、终端、打印机等)

—用户设备(一般为非标准设备)(设备的处理程序由用户提供,需另外安装,如:扫描仪、A-D/D-A转换设备等)§7.1I/O设备基于设备的分配特性:

—独享设备(使用具有排它性,低速I/O设备)

—共享设备(可由多个用户程序交替使用,如硬盘)

—虚拟设备

(模拟独占设备为共享设备,即将慢速的独占设备经软件技术改造成为多个进程可以共享的设备,典型如SPOOLing技术)§7.1I/O设备基于信息组织和处理的方式:

—字符设备(信息以字符为单位来组织和分配的;系统中大部分均属此类,如打印机、键盘、显示器等;特点是速度慢,也称慢速设备)

—块设备(信息以块为单位来组织和分配的;如磁盘、磁带等;特点是速度快,也称快速设备)二、设备管理的目标与功能§7.1I/O设备1.设备管理目标:提高系统资源利用率多道程序环境下,资源数总是少于进程数。需合理分配设备资源,并使外设与外设、外设与CPU并行工作,使设备尽可能处于忙碌状态。方便用户使用对于各种各样的外设,为用户提供便利、统一的使用界面。

OS把各种外设的物理特性隐藏起来,把各种外设的具体操作方式隐藏起来,由OS面对;而让用户面对的是使用方便的设备,这样就可使用户摆脱繁琐的编程负担。§7.1I/O设备2.设备管理的功能:提供用户接口:提供一组I/O命令,即用户使用外设的接口,用户在程序中通过这些命令使用外设。进行设备的分配与回收:OS中I/O管理程序负责接受用户使用外设的请求、分配设备、回收设备。

实现真正的I/O操作:OS依据用户的请求,通过具体的设备驱动程序,启动外设,进行实际的I/O操作;操作完毕就通知用户进程,由设备中断服务程序完成善后工作。其它功能:管理缓冲区,CPU与I/O设备通过缓冲区传送数据,以解决高速CPU与慢速外设之间矛盾。OS有专门软件管理缓冲区的分配与回收。§7.2数据传送控制方式计算机系系统的输输入/输出,实质是进进行数据据的输入入/输出,即数据据的传输输。数据传输输:I/O设备←→内存I/O设备←→CPU数据传输输方式有有四种::程序直接接控制方方式中断控制制方式DMA方式通道控制制方式§7.2数据传送控制方式一、设备备控制器器I/O设备一般般由机械械部分与与电子部部分构成成,把这这两部分分分开处处理,通通过接插插件、电电缆相连连。机械部分分即设备本本身电子部分分即设备控制制器(适配器器、接口口卡)每种I/O设备都要要通过设设备控制制器与CPU相连。设备控制制器是CPU与I/O设备间的的接口,,处于CPU与外设之之间。§7.2数据传送控制方式系统总线线CPU内存磁盘控制制器打印机控控制器HD打印机…微机的I/O设备通过过总线与与CPU连接设备控制制器§7.2数据传送控制方式设备控制制器通过过自己内内部的寄寄存器与与CPU通信数据寄存存器数数据传传输的缓缓冲状态寄存存器存存放外外设的状状态,供供CPU测试控制寄存存器存存放CPU发出的操操作命令令与参数数OS把命令以以及参数数写入控控制寄存存器,外外设据此此实现I/O设备控制制器接受受命令后后,就独独立于CPU去完成命命令指定定的任务务。§7.2数据传送控制方式外设接受受了CPU的I/O命令,随随后即独独立于CPU进行I/O操作,这这时外设与CPU并行,即在外外设I/O的同时,,CPU在运行其其它进程程。外设完成成所要求求的I/O任务后,,要通知知CPU。早期采用用“被动动式”,,控制器器设置一一个完成成标志,,等待CPU来查询,,即程序直接接控制方式。现在采用用“主动动式”,,即通过过中断方方式主动动通知CPU,让CPU来进行处处理,即即中断控制制方式。直接存储储器存取取方式(DMA)和通道控制制方式也是是基于中中断的主主动型的的数据传传输控制制方式。。§7.2数据传送控制方式二、程序序直接控控制方式式向控制器器发读命命令读控制器器状态检查状态态从控制器器中读入入字向存储器器中写字字传送完成成?出错未就绪未完成完成下条指令令CPU→→I/OI/O→→CPUI/O→→CPUCPU→→内存就绪以读为例例,说明明程序直直接控制制I/O方式§7.2数据传送控制方式评价:在程序I/O方式中,,由于CPU的高速与与I/O设备的低低速,使使得CPU绝大部分分时间,,都处于于等待外外设完成成数据I/O的循环测测试之中中,造成成CPU的极大浪浪费。此外,CPU与I/O设备只能能串行工工作,整整个计算算机系统统效率低低下。§7.2数据传送控制方式三、中断断方式以读为例例,说明明中断控控制I/O方式向控制器器发读命命令读控制器器状态检查状态态从控制器器中读入入字向内存中中写字传送完成成?出错未完成完成下条指令令CPU→→I/OI/O→→CPUI/O→→CPUCPU→→内存就绪CPU做其它事事中断完成成信号§7.2数据传送控制方式中断方式式说明::1.某一进程程处于执执行状态态,通过过CPU向外设控控制器发发出I/O指令;该进程随随即阻塞塞,等待待I/O完成;OS立即将CPU调度给其其它进程程使用;;而外设控控制器得得到指令令后,就就独立于于CPU进行指令令规定的的操作;;如此,CPU与I/O并行工作作。2.当外设I/O操作完成成,设备备控制器器立即向向CPU发中断完完成信号号;CPU接到信号号响应该该中断,,立即转转中断处处理程序序;由中断处处理程序序把数据据从设备备控制器器传送到到内存。。3.被阻塞进进程在I/O完成后,,状态即即转变为为就绪,,等待OS调度,以以执行余余下的程程序。§7.2数据传送控制方式四、直接接存储器器存取方方式以上介绍绍的程序序控制方方式和中中断方式式,主机机与外设设进行的的数据传传送都是是以CPU为中心组织的。。CPUI/O设备内存DMA(DirectMemoryAccess)DMA方式在外设与与内存之之间开辟辟了直接接交换数数据的通通路,使用于于磁盘等等高速I/O设备。在DMA控制器的的控制下下,内存和和硬盘盘直接接进行行成批批数据据的快快速传传送,不需需要CPU的加入入。形形成了了以内存存为中中心组织的的数据据传送送。内存CPUI/O设备§7.2数据传送控制方式DMA传输数数据步步骤::1.一进程程请求求设备备I/O,CPU做如下下事::内存起起始地地址→DMA控制器器的地地址寄寄存器器传输字字节数数→DMA控制器器的字字节计计数器器启动DMA控制器器2.该进程程阻塞塞,等等待I/O完成3.DMA与内存存进行行数据据传输输,成成批数数据传传送由由字节节计数数器计计算控控制4.传输完完,向向CPU发中断断完成成信号号5.CPU接受DMA中断请请求,,转中中断处处理程程序6.数据传传送完完成,,唤醒醒被阻阻塞进进程§7.2数据传送控制方式§7.2数据传送控制方式五、通通道方方式通道介介绍::独立于于CPU、专门门用作作管理I/O的处理理机,控制制设备备与内内存直直接进进行数数据交交换通道有有自己己的指令系系统,数量量不多多,仅仅涉及及读、、写、、查询询、控控制等等功能能;用用以编编写通道程程序采用通通道的的系统统中,,主机机与通通道相相连,,通道道与设设备控控制器器相连连,设设备控控制器器与设设备相相连§7.2数据传送控制方式CPU通道设备控控制器器设备控控制器器设备设备设备设备…§7.2数据传送控制方式通道方方式工工作步步骤::一进程程提出出I/O请求,,CPU把数据据传输输任务务交给给通道道(指指明操操作方方向、、设备备号、、通道道号))该进程程阻塞塞,CPU随即被被调度度给其其它进进程通道按按CPU发来的的启动动命令令,调调用通通道程程序执执行((这时时通道道与CPU并行工工作)),外外设在在通道道程序序的规规定下下,与与内存存交换换数据据数据传传输完完毕,,通道道向CPU发中断断请求求CPU响应中中断,,转中中断处处理程程序,,对I/O作善后后处理理,唤唤醒被被阻塞塞的进进程成成就绪绪态。。§7.3设备分配在OS的统一管理下下,用户进程程使用设备,,须先提出I/O请求,由OS的设备管理程程序进行分配配。设备分配与下下列因素有关关:设备属性系统采用的分分配算法与设备无关性性原则设备分配的安安全性§7.3设备分配一、设备属性性和设备分配配方法1.独占设备:使使用上具有排排它性的设备备,如打印机机。分配策略:系系统一旦将该该类设备分配配给指定进程程,就由它独独占使用,直直到用毕释放放。2.共享设备:如如磁盘,这类类设备可由多多个进程同时时使用,每个个进程只用其其中一部分,,在时间上则则是交叉对设设备进行存取取访问。系统对共享设设备不进行分分配,而是对对这一类的I/O请求进行调度度。§7.3设备分配3.虚拟设备:在在大容量磁盘盘的支持下,,用软件技术术对独占设备备进行改造,,使得用户在在使用独占设设备时,感觉觉上认为不用用同其它进程程竞争,便可可方便地获得得独占设备。。Spooling技术就是一个个典型的实现现虚拟设备的的系统。§7.3设备分配二、Spooling技术基本思想:一些低速字符符设备都是独独享设备,其其使用具有排排它性,不利利于多道程序序并行工作,,影响系统效效率。OS以大容量的共共享设备—磁盘为依托,,用软件技术术来改造独享享设备,使用用户在感觉上上认为他们使使用的是共享享设备。§7.3设备分配SPOOLing系统由3部分组成:输入井与输出井硬盘上2大存储空间—输入井:用于于收容I/O设备的输入数数据—输出井:用于于收容用户程程序的输出数数据输入缓冲区与输出缓冲区内存中开辟的的2个缓冲区—输入缓冲区::用于暂存由由输入设备送送来的数据,,以后再传送送输入井—输出缓冲区::用于暂存由由输出井送来来的数据,以以后再传送输输出设备§7.3设备分配预输入程序与缓输出程序—预输入进程将用户要求的的输入数据,,从输入设备输入缓冲区输入井,当CPU需要输入数据据时,直接从从输入井读入入内存。缓输出进程将用户要求输输出的数据,,从内存输出井输出缓冲区((当输出设备备空闲时)输出设备。§7.3设备分配输入井输出井输出设备SPOOLing系统工作示意意磁盘输入设备预输入进程输出缓冲区缓输出进程输入缓冲区内存§7.3设备分配系统对用户请请求的处理当用户请求打打印输出时,,SPOOLing系统中输出进进程做如下2件事:A)在输出井申请请一空闲盘块块区将要打印的数数据送入其中中B)为用户申请空空白的用户请请求打印表将用户的打印印请求填入表表中把该表挂到请请求打印队列列上。如还有其它进进程提出打印印请求,系统统一概接受请请求,同样做做上述2件事。以共享打印机机为例说明SPOOLing系统工作过程程§7.3设备分配系统对具体输输出的处理如打印机空闲闲,输出进程程做以下操作作:从请求打印队队列的队首取取出请求打印印表将打印数据从从输出井送内内存输出缓冲冲区打印机执行打打印操作打印完即检查查打印队列是是否还有请求求表若有,取出现现时队首的请请求表,继续续上述操作若无,即打印印队列空,输输出进程阻塞自己等再有打印请请求才被唤醒醒§7.3设备分配SPOOLing系统的特点:将独占设备改改造为共享设设备,实现了了虚拟设备功功能。宏观上看,多多个进程能同同时使用一台台独占设备,,从每一个进进程看,都认认为自己独占占了一个设备备(逻辑设备备)。提高了I/O速度。从请求打印的的进程角度看看,其输出数数据实质上是是送到输出井井,极其快速速。§7.3设备分配三、设备分配配方法设备分配2种方式:静态分配方式式在用户进程创创建时,OS便一次性地把把进程运行所所要求的全部部设备都分配配给它,并由由该进程占有有,直到进程程撤消。不会死锁,但但设备利用率率极其低下。。动态分配方式式在进程执行过过程中,随时时根据需要,,向系统提出出设备请求,,由系统依据据一定算法给给进程分配设设备,用户进进程用完设备备,即予释放放。有利于提高设设备利用率,,但分配不当当即有死锁可可能。§7.3设备分配动态分配算法法:先来先服务对于多个请求求某类设备的的用户进程,,系统按其发发出请求的先先后顺序,使使它们在设备备请求队列里里排队,并把把设备分配给给队列的前列列者。优先级高者优优先进入设备请求求队列的进程程,按优先级级排队,优先先级相同,则则按到达的先先后排,系统统总是把设备备分配给队列列的首进程使使用。§7.3设备分配四、设备管理理采用的数据据结构系统统设设备备表表SDT(SystemDeviceTable)整个个系系统统一一张张,,记记录录了了系系统统中中所所有有外外设设,,每每类类设设备备占占一一个个表表项项。。设备备控控制制表表DCT(DeviceControlTable)系统统中中每每台台设设备备一一个个,,其其中中随随时时记记录录了了该该设设备备的的基基本本信信息息((设设备备状状态态、、等等待待使使用用该该设设备备的的阻阻塞塞进进程程等等))。。§7.3设备分配I/O过程程中中,,OS从SDT内查查得得某某类类设设备备的的DCT地址址,,然然后后再再转转到到DCT取得得具具体体设设备备信信息息。。SDT…*类类设设备备类类型型DCT首址址驱动动程程序序地地址址…DCT1设备备标标识识设备备状状态态设备备队队列列指指针针DCT0DCT1DCT2*类类设设备备DCT区……§7.3设备分配五、、与与设设备备无无关关性性基本本含含义义::应用用程程序序独独立立于于具具体体使使用用的的物物理理设设备备。用户户程程序序中中要要用用到到外外设设时时,,不不须须指指定定具具体体哪哪一一台台设设备备,,而而用用逻逻辑辑设设备备名名来来代代替替,,这这样样用用户户程程序序就就与与实实际际使使用用的的物物理理设设备备无无关关;;执行行程程序序时时,,由由系系统统进进行行逻逻辑辑设设备备到到具具体体物物理理的的链链接接。。§7.3设备分配与设设备备无无关关性性带带来来的的好好处处::如果果在在程程序序中中指指定定具具体体的的物物理理设设备备,,则则当当该该设设备备已已经经分分配配,,或或正正在在维维修修,,而而此此时时尽尽管管有有同同类类设设备备空空闲闲,,可可供供分分配配,,则则该该进进程程也也只只能能阻阻塞塞等等待待。。遵循循了了设设备备无无关关性性,,在在编编程程时时不不具具体体指指定定具具体体物物理理设设备备,,当当系系统统中中设设备备变变更更,,用用户户程程序序就就不不用用修修改改。。§7.4缓冲管理凡是是数数据据到到达达和和离离去去速速度度不不匹匹配配的的地地方方均均可可采采用用缓缓冲冲技技术术,,几乎乎所所有有的的外外设设在在与与CPU交换换数数据据时时,,都都使使用用了了缓缓冲冲区区。OS采用用缓缓冲冲是是为为了了实实现现数数据据的的I/O操作作,,缓缓解解CPU与外外部部设设备备之之间间速速度度不不匹匹配配的矛矛盾盾,,提提高高资资源源利利用用率率§7.4缓冲管理实现现缓缓冲冲的的2种方方法法::—硬缓缓冲冲::在设备备中设设置缓缓冲区区,安安置硬硬件寄寄存器器,如如设备备驱动动器中中的数数据寄寄存器器—软缓冲冲:在内存存中开开辟一一个空空间,,作为为专用用的I/O缓冲区区,存存放I/O数据主要采采用软软缓冲冲§7.4缓冲管理缓冲的的四种种类型型单缓冲冲为I/O设备设设置单单个缓缓冲区区产生数数据的的进程程与接接受数数据的的进程程不直直接传传递,,而是是通过过单个个缓冲冲。缓冲区区发送数数据接收数数据缺点::发送者者与接接收者者不能能并行行工作作。发送者者与接接收者者的速速度的的不匹匹配,,造成成大量量的等等待时时间。。§7.4缓冲管理双缓冲冲为I/O设备设设置两两个缓缓冲区区发送者者和接接收者者可交交替使使用2个缓冲冲区,,这样样,发发送和和接收收可并并行工工作。。当两者者速度度相差差很大大时,,还是是有等等待现现象出出现。。缓冲区区1发送数数据接收数数据缓冲区区2§7.4缓冲管理多缓冲冲为相同同类型型的I/O设备设设置两两个公公共缓缓冲队队列,,一个个用于于输入入,另另一个个用于于输出出。当输入入设备备进行行输入入时,,就取取输入入缓冲冲队列列指针针所指指向的的缓冲冲使用用,设设备用用完后后归还还缓冲冲。指针则则前行行指向向下一一个,,整个个缓冲冲队列列循环环使用用。当输出出设备备进行行输出出时,,就取取输出出缓冲冲队列列指针针所指指向的的缓冲冲使用用,用用完后后归还还缓冲冲。缓冲区区输入缓缓冲指指针缓冲区区缓冲区区缓冲区区缓冲区区输出缓缓冲指指针缓冲区区缓冲区区缓冲区区……§7.4缓冲管理缓冲池池整个缓缓冲区区由n个单位位缓冲冲构成成,每每个缓缓冲既既可用用于输输入,,也可可用于于输出出;所所有单单位缓缓冲可可供多多个进进程共共享。。有4个基本本工作作方式式:收容输输入、、提取取输入入、收收容输输出、、提取取输出出有4种工作作缓冲冲:hin、sin、hout、soutCPU输入设设备输出设设备缓冲池池收容输输入提取输输出提取输输入收容输输出hinsinsouthout……§7.5I/O处理过程根据OS提供的的命令令形式式,由由用户程程序发出I/O请求;;I/O管理程程序(与设设备无无关的的系统统软件件)接接受请请求;;实现现抽象象接口口到物物理接接口的的转化化,独独立于于具体体设备备;设备驱驱动程程序具体完完成要要求的的I/O操作;;设备中中断处处理程程序处理该该请求求。§7.5I/O处理过程I/O软件按按分层层的思思想构构成。较低低层软软件要要使较较高层层软件件独立立于硬硬件的的特性性;较高层层软件件则要要向用用户提提供一一个简简单的的、功功能更更强的的接口口,让让用户户能方方便使使用外外设。。§7.5I/O处理过程用户进进程I/O管理程程序设备驱驱动程程序…READ(input,buffer,n)…buffer(缓冲区区)—阻塞调调用进进程—验证I/O请求—调用驱驱动程程序—校验设设备状状态—激活调调用进进程I/O请求—初始化化并启启动I/O—实际完成I/O—全部完成返返回I/O管理程序设备中断处处理程序—保护中断现现场—传送数据—恢复现场—未全完成再再次调用驱驱动程序外设主机中断完成信信号调用中断程程序§7.5I/O处理过程一、I/O请求的提出出I/O请求来自于于用户进程程。假设程序中中命令形式式为:READ(input,buffer,n)即从输入设设备input读入n个数据到buffer所指的缓冲冲区OS即依据命令令调用I/O管理程序,并将命令令中参数传传递给I/O管理程序§7.5I/O处理过程

温馨提示

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

评论

0/150

提交评论