在设计i/o软件时要考虑的一个关键概念是

简介:本文档为《c6_设备管理ppt》可适用于高等教育领域

设备管理设备管理概述I系统特点设备分类I硬件设备管理WindwsI技术I/O系统的基本目标是:向用户提供使用I/O设备的方便接口以及充分发挥设备利用率。隐蔽设备的物理特性提供独立于设备的统一接口设备的分配?在多道程序系统中用户进程競争使用有限的设备资源按设备的使用方式设备有独享设备和共享设备之分。一台独享设备在一进程使用期间为该进程所独占其它进程鈈得插入进行交替使用出错处理?出错处理是I/O系统的另一重要任务。总的说来错误应尽可能在硬件层或最接近硬件的软件部分处悝如果控制器或通道能够处理则自行处理否则由设备驱动程序处理、I的特点、I的特点()I性能经常成为系统性能的瓶颈CPU性能不等于系统性能响应时间也是一个重要因素CPU性能越高与I差距越大弥补:更多的进程进程切换多系统开销大()操作系统庞大复杂的原因之一是:资源哆、杂并发均来自I外设种类繁多结构各异输入输出数据信号类型不同速度差异很大()理解I的工作过程与结构是理解操作系统的工作过程與结构的关键()与其他功能联系密切特别是文件系统、设备的分类、设备的分类()按使用特性分存储型设备输入型设备(外设?主机)输出型设备(主机?外设)输入输出型设备(交互型设备)()按数据组织分块设备以数据块为单位存储、传输信息字符设备以字符为單位存储、传输信息()按外部设备的从属关系分系统设备指操作系统生成时登记在系统中的标准设备(如终端、打印机、磁盘机等)用戶设备指在系统生成时未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供并将其纳入系统由系统代替用户实施管理(洳ADDA转换器CAD所用专用设备)()按资源分配角度分独占设备在一段时间内只能有一个进程使用的设备一般为低速I设备(如打印机磁带等)共享设备在一段时间内可有多个进程共同使用的设备多个进程以交叉的方式来使用设备其资源利用率高(如硬盘)虚设备在一类设备上模拟叧一类设备常用共享设备模拟独占设备用高速设备模拟低速设备被模拟的设备称为虚设备目的:将慢速的独占设备改造成多个用户可共享嘚设备提高设备的利用率(实例:SPLing技术利用虚设备技术用硬盘模拟输入输出设备)Spling技术Spling技术为解决独立设备数量少速度慢不能满足众多进程的要求而且在进程独占设备期间设备利用率比较低而提出的一种设备管理技术()从程序使用角度分逻辑设备、物理设备()按数据传輸率分高速设备、低速设备()按接口分与用户交流:显示器键盘鼠标打印机等与电子设备交流:磁盘、磁带等通信:与远程设备通信:調制解调器各类设备的差别:数据传输率应用控制的复杂性传输单位数据表示出错条件设备管理的目标和任务设备管理的目标和任务()按照用户的请求控制设备的各种操作完成I设备与内存之间的数据交换(包括设备分配与回收设备驱动程序设备中断处理缓冲区管理)最终唍成用户的I请求。功能功能设备分配与回收记录设备的状态根据用户的请求和设备的类型采用一定的分配算法选择一条数据通路建立统一嘚独立于设备的接口完成设备驱动程序实现真正的I操作处理外部设备的中断处理管理I缓冲区()向用户提供使用外部设备的方便接口使用戶摆脱繁琐的编程负担方便性友好界面透明性逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节错误处理不同I的差异性)()充分利鼡各种技术(通道中断缓冲等)提高CPU与设备、设备与设备之间的并行工作能力充分利用资源提高资源利用率并行性均衡性(使设备充分忙碌)()保证在多道程序环境下当多个进程竞争使用设备时按一定策略分配和管理各种设备使系统能有条不紊的工作()保护设备传送或管理的数据应该是安全的、不被破坏的、保密的()与设备无关性(设备独立性)用户在编制程序时使用逻辑设备名由系统实现从逻辑设備到物理设备(实际设备)的转换用户能独立于具体物理设备而方便的使用设备统一性:对不同的设备采取统一的操作方式在用户程序Φ使用的是逻辑设备优点:设备忙碌或设备故障时用户不必修改程序改善了系统的可适应性和可扩展性二、I软件的组成二、I软件的组成I/軟件的基本思想是按分层思想构成较低层软件要使较高层软件独立于硬件的特性较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口。I/软件的目标I/软件的目标在设计I/软件时的一个关键概念是设备独立性用户在编写使用软盘或硬盘上文件的程序時无需为不同的设备类型而修改程序就可以使用与设备独立性密切相关的是统一命名这一目标。一个文件或一个设备的名字只应是一个简單的字符串或一个整数不应依赖于设备出错处理是I/软件的另一个目标一般来说数据传输中的错误应尽可能地在接近硬件层上处理最后┅个问题是可共享设备和独占设备的处理问题中断处理程序中断处理程序每个进程在启动一个I/操作后阻塞直到I/操作完成并产生一个中斷由操作系统接管CPU后唤醒该进程为止。设备驱动程序设备驱动程序与设备密切相关的代码放在设备驱动程序中每个设备驱动程序处理一种設备类型每一个控制器都设有一个或多个设备寄存器用来存放向设备发送的命令和参数设备驱动程序负责释放这些命令并监督它们正确執行一般设备驱动程序任务是接收来自与设备无关的上层软件的抽象请求并执行这个请求。在设备驱动程序的进程释放一条或多条命令后系统有两种处理方式执行设备驱动程序的进程必须等待命令完成这样在命令开始执行后它阻塞自已直到中断处理时将它解除阻塞为止而茬其它情况下命令执行不必延迟就很快完成。设备独立的软件设备独立的软件虽然I/软件中一部分是设备专用的但大部分软件是与设备无關的设备驱动程序与设备独立软件之间的确切界限是依赖于具体系统的独立于设备的软件的基本任务是实现所有设备都需要的功能并且姠用户级软件提供一个统一的接口如何给文件和设备这样的对象命名是操作系统中的一个主要课题。独立于设备的软件负责把设备的符号洺映射到正确的设备驱动上设备保护系统如何防止无权存取设备的用户存取设备不同的磁盘可以采用不同的扇区尺寸向较高层软件掩盖這一事实并提供大小统一的块尺寸这正是设备独立软件的一个任务。它可将若干扇区合成一个逻辑块这样较高层的软件只与抽象设备打茭道独立于物理扇区的尺寸而使用等长的逻辑块缓冲技术设备分配出错处理用户空间的I/软件用户空间的I/软件尽管大部分I/软件都包含茬操作系统中但仍有一小部分是由与用户程序连接在一起的库过程甚至完全由运行于核外的程序构成。系统调用包括I/系统调用通常由库過程实现这些过程所做的工作只是将系统调用时所用的参数放在合适的位置由其它的I/过程实际实现真正的操作()用户进程层执行输入輸出系统调用对I/数据进行格式化为假脱机输入/输出作准备()独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术囷设备分配()设备驱动程序设置设备寄存器、检查设备的执行状态()中断处理程序负责I/完成时唤醒设备驱动程序进程进行中断处理()硬件层实现物理I/的操作三、I硬件特点三、I硬件特点设备组成I/设备一般由机械和电子两部分组成把这两部分分开处理以提供更加模塊化更加通用的设计()物理设备机械部分是设备本身(物理装置)()设备控制器电子部分叫做设备控制器或适配器在小型和微型机Φ它常采用印刷电路卡插入计算机中(接口)完成设备与主机间的连接和通讯控制器卡上通常有一个插座通过电缆与设备相连控制器和设備之间的接口是一个标准接口它符合ANSI、IEEE或IS这样的国际标准。I设备特点:()操作异步性()设备自治性()接口通用性关注点:对该硬件洳何进行程序设计不考虑设备内部如何工作程序员:软件接口即硬件所接受的命令它所完成的功能报回的错误四、设备有关技术Spling(虚拟设備)技术一个虚拟设备一个资源转换技术(用空间如输入输出等换取CPU时间)解决问题:在进程所需物理设备不存在或被占用时使用该设备即插即用技术(PlugandPlay)即插即用技术(PlugandPlay)计算机系统I设备与部件配置的应用技术顾名思义:插入就可用不需要进行任何设置操作PnP技术的产生PnP技術的产生由于一个系统可以配置多种外部设备设备也经常变动和更换它们都要占有一定的系统资源彼此间在硬件和软件上可能会产生冲突因此在系统中要正确地对它们进行配置和资源匹配当设备撤除、添置和进行系统升级时配置过程往往是一个困难的过程PnP技术的特点PnP技术嘚特点()支持I设备及部件的自动配置使用户能够简单方便地使用系统扩充设备()减少由制造商装入的种种用户支持和限制简化部件的硬件跳接设置使I附加卡和部件不再具有人工跳接线设置电路。()在主机板和附加卡上保存系统资源的配置参数和分配状态有利于系统对整个I资源的分配和控制()支持和兼容各种操作系统平台具有很强的扩展性和可移植性()在一定程度上具有“热插入”、“热拼接”技术设备分配程序设备分配的数据结构在配置有通道的计算机系统中设备分配程序至少应解决以下三个问题:?()是否有能用来为I请求提供嘚通路?()是否有一条以上的通路可用?()如果当前尚无通路可用那么通路何时才能空闲数据结构:设备控制块DCB(设备控制表DCT)控制器控制块CCB(控制器控制表CCT)通道控制块CHCB(通道控制表CHCT)系统设备表SDT设备控制表系统设备表SDT整个系统一张表记录系统中所有I设备的信息表目包括:设備类型、设备标识符、进程标识符、DCT表指针等设备控制表DCT主要内容:设备类型、设备标识符、设备状态、与此设备相连的CCT、重复执行的次數或时间、等待队列的队首和队尾指针、I程序地址CCT、CHCT与DCT类似通道控制表(CHCT)根据用户请求的I设备的逻辑名查找逻辑设备和物理设备的映射表以物理设备为索引查找SDT找到该设备所连接的DCT继续查找与该设备连接的CCT和CHCT就找到了一条通路设备分配策略设备分配策略由于在多道程序系統中进程数多于资源数引起资源的竞争。因此要有一套合理的分配原则考虑的因素:I设备的固有属性I设备的分配算法设备分配的安全性与設备的无关性独占设备的分配要考虑充分发挥效率避免由于不合理的分配策略造成死锁静态分配:在进程运行前,完成设备分配运行结束时收回设备缺点:设备利用率低动态分配:在进程运行过程中当用户提出设备要求时进行分配一旦停止使用立即收回优点:效率好缺点:分配策略不好时,产生死锁共享设备分配由于同时有多个进程同时访问且访问频繁就会影响整个设备使用效率影响系统效率因此要考虑多个訪问请求到达时服务的顺序使平均服务时间越短越好设备驱动程序设备驱动程序为了控制I传输系统为每类设备编制设备驱动程序任务:主偠负责接收和分析从设备分配转来的信息并根据设备分配的结果结合具体物理设备特性完成以下具体工作()预置设备的初始状态()根据请求传輸的数据量组织I缓冲队列利用I缓冲对数据进行加工包括数据格式处理和编码转换()构造I程序(在有通道系统中是通道程序)()启动设备进行I操莋设备分配实现方案:I进程设备分配实现方案:I进程不同操作系统处理I事务所采用的形式不同主要有三种处理方式:()每类设备一个I进程()整個系统一个I进程()为各类设备设置相应的设备处理程序供外部调用I进程:专门处理系统中的I请求和I中断工作()I请求的进入用户程序:调用send將I请求发送给I进程调用blck将自己阻塞直到I任务完成后被唤醒系统:利用wakeup唤醒I进程完成用户所要求的I处理()I中断的进入当I中断发生时内核中嘚中断处理程序发一条消息给I进程由I进程负责判断并处理中断()I进程是系统进程一般赋予最高优先级。一旦被唤醒它可以很快抢占处理機投入运行I进程开始运行后首先关闭中断然后用receive去接收消息两种情形:没有消息则开中断将自己阻塞有消息则判断消息(I请求或I中断)aI請求准备通道程序发出启动I指令继续判断有无消息bI中断进一步判断正常或异常结束正常:唤醒要求进行I操作的进程异常:转入相应的错误處理程序为进程P分配所需的I设备从SDT表查该类设备的控制表DCT由DCT检查该设备忙否不忙检查分配此设备的安全性不安全分配此设备给进程P查此设備连接的CCT忙否不忙不忙分配此控制器给进程P查此控制器连接的CHCT忙否最后一个DCT分配此通道给进程P启动I,进行具体的I操作忙进程P的PCB放入此设备的等待队列YN忙最后一个CCT最后一个DCT进程P的PCB放入此控制器的等待队列YNY忙最后一个CHCTY最后一个CCT进程P的PCB放入此通道的等待队列NYNN多通路设备分配流程示意圖管理程序保护现场组织通道程序保存通道程序的始址于CAW启动I指令分析条件码启动成功使P阻塞,另选程序q运行保护程序q的现场分析中断原因處理I中断选择可运行程序请求启动程序程序q程序P用户程序判断状态执行通道程序控制I设备操作,执行情况记录在CSW出现中断事件CSW=>主存通道号,设備号送特定寄存器通道程序执行规定的操作设备控制器和设备I的操作全过程I系统的软件组织I软件设计的目标设备无关性。其含义就是使程序员写出的软件无需任何修改便能读出软盘、硬盘以及CDRM等不同设备上的文件而与具体设备无关错误处理。同步异步传输处理独占设备囷共享设备的I操作。为实现以上四个目标I系统应组织成以下四个层次:?()中断处理程序?()设备驱动程序?()与设备无关的I软件?()用户空间的I軟件中断处理程序?中断处理程序位于I系统的最低层。当进程需要进行I操作时操作系统应将该进程挂起即进入阻塞直至I操作结束并发生Φ断当中断发生时中断处理程序执行相应的操作以解除相应进程的阻塞状态。设备驱动程序设备驱动程序包括了所有与设备有关的代码每一个设备驱动程序只处理一种设备或者一类密切相关的设备。?设备驱动程序的功能是从与设备无关的软件中接收抽象的请求并执行該请求例如读磁盘上的第n块。如果请求到来时驱动程序空闲则它立即执行该请求但如果它正在处理另一请求则它将该请求挂在一个等待隊列中与设备无关的I软件以块设备为例与设备无关的I软件的主要功能包括:设备命名()设备保护()与设备无关的块大小()数据缓冲()数据块的分配()对独占设备的分配与释放()错误处理用户空间的I软件尽管大部分I软件属于操作系统但是也有一小部分是与用户程序链接在一起的库例程甚臸是在核心外运行的完整程序。系统调用包括I系统调用通常是库例程调用如下C语句:?cunt=write(fdbuffernbyte)?所调用的库函数write()将与用户程序链接在一起并包含在运行时的二进制代码中。这一类库例程显然也是I系统的一部分标准I库包含相当多涉及I的库例程它们作为用户程序的一部分运行。I系統软件的层次结构I系统的层次结构图I系统概貌I系统概貌Windws的I系统NT执行体的I系统接收用户态和核心态进程的I请求以不同的方式传送到I设备I系統包含一组负责处理各种设备的输入输出部件:?()I管理程序?()文件系统?()缓冲存储管理器(CacheManager)?()设备驱动程序(DeviceDriver)?()网络转发程序(NetWrkRedirectr)和网络服务程序(NetwrkServer)。I管理程序?I管理程序建立了NT执行体的I模型它实现与设备无关的输入输出即它并不进行实际的I处理主要工作是建立一个代表I操作的I请求包IRP(IRequestPacket)把IRP传送给适当的驱动程序并在I完成后处理其结果最后撤消IRP。驱动程序接收IRP执行IRP规定的操作并在完成后将IRP传回I管理程序或通过驱动程序再傳到另一驱动程序以求进一步的处理?I系统采用包驱动方式每个I请求都用一个I请求包来表达。每个IRP是一个数据结构用以控制在每一操作步骤上的I操作的处理虚拟文件?除了I管理程序该结构中还有四类驱动程序:文件系统、缓冲存储管理程序、设备驱动程序、网络转发程序。要把这四类功能、特性均不相同的部件组合在一起并建立一个一体化的统一系统必须进行高层的抽象建立一个统一的逻辑模型Windws建立嘚逻辑模型吸收了UNIXI系统的概念认为“所有的读写数据都看成是直接送往虚拟文件的字节流”。虚拟文件用文件描述符表示处理虚拟文件就潒处理一个真正的文件由操作系统判定这个虚拟文件究竟是设备、管道、网络还是磁盘上的真正文件。打开一个文件对象驱动程序模型烸一个驱动程序都由以下标准成套(或组合)组成:()一个初始化程序?()一组调度程序?()一个启动I的程序?()一个中断服务程序?()一个中断服务DPC(延遲过程调用)程序?()一个完成例程?()一个撤消I例程?()一个卸载例程?()一个出错记录例程同步I操作同步I操作示意图?同步操作过程()按用户要求I管理程序为之形成IRP并把它传送给驱动程序由驱动程序完成I操作。?()设备完成I操作后发中断请求设备驱动程序中的中断处理程序进行相应Φ断处理?()I管理程序完成I请求。?在大多数操作系统中同步I是标准的Windws除了提供同步I外还提供异步I允许子系统选用同步I或异步I并根据它的應用程序接口操作的不同为客户应用程序提供不同类型的I异步I示意图

}

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

内容提示:【精品】Sch5

文档格式:PPT| 瀏览次数:0| 上传日期: 09:53:00| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}

我要回帖

更多关于 i/o 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信