软件技术基础设备管理_第1页
软件技术基础设备管理_第2页
软件技术基础设备管理_第3页
软件技术基础设备管理_第4页
软件技术基础设备管理_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

软件技术基础设备管理第一页,共四十三页,编辑于2023年,星期三2.5.1设备管理概述外部设备:计算机系统中除了中央处理机和主存储器外的其它设备称为外部设备。设备管理就是对外部设备进行统一的管理,向用户提供简单而一致的方式访问各种I/O设备。第二页,共四十三页,编辑于2023年,星期三一、设备分类按工作特点:输入输出设备存储设备按资源分配方式:独占设备共享设备虚拟设备按信息交换单位:字符设备块设备第三页,共四十三页,编辑于2023年,星期三二、设备管理的任务与功能按照设备类型和系统分配策略进行设备分配与回收向用户提供统一的接口实现设备驱动——真正的I/O操作缓冲区管理实现虚拟设备管理方便用户使用设备1完成设备分配2完成真正的I/O操作3实现CPU与I/O设备间的速度匹配4第四页,共四十三页,编辑于2023年,星期三CPU存储器高速I/O设备共享总线低速I/O设备设备控制器微机I/O系统的结构第五页,共四十三页,编辑于2023年,星期三基于主存和通道的I/O系统CPU主存通道通道通道通道某I/O设备磁盘磁带通信设备主存可同时进行控制通道与CPU共享主存通道代替CPU完成与设备控制器的通信第六页,共四十三页,编辑于2023年,星期三1、什么是设备控制器位于CPU与设备之间,接收CPU下达的输入、输出命令并控制具体设备实现操作。一个控制器可控制一个或多个I/O设备。存在形式为各种接口卡。设备控制器2、设备控制器功能接收和识别命令;数据暂存、缓冲;监测设备状态。数据接口、控制接口、状态接口3、设备控制器与设备的接口第七页,共四十三页,编辑于2023年,星期三4、设备控制器组成控制器与CPU的接口单元控制器与设备接口单元I/O逻辑单元数据线数据寄存器地址线I/O逻辑控制线数据信号控制信号状态信号数据信号控制信号状态信号控制器与设备接口控制器与设备接口第八页,共四十三页,编辑于2023年,星期三2.5.2数据传送控制方式设备管理的主要任务就是控制设备与CPU间的数据传递,主要有以下数传控制方式:中断控制方式2直接内存访问(DMA)方式3通道(Channel)方式4程序查询方式1第九页,共四十三页,编辑于2023年,星期三一、程序查询方式由程序循环查询外部设备的状态,在外设进行数据处理时CPU只能等待。开始接收数据有数据接收?否是忙等接收开始发送数据设备空闲?否是忙等发送第十页,共四十三页,编辑于2023年,星期三二、中断控制方式外部设备与CPU之间传递数据通过专门的中断请求信号来进行。I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,CPU完成数据的读写。要求:专门的中断请求线、专门的中断标志位优点:在外设进行数据处理时,CPU不必等待——实现了让权等待。缺点:CPU每次处理的数据量少(通常以字节为单位),适于数据传输率较低的设备。第十一页,共四十三页,编辑于2023年,星期三进程利用中断实现输入、输出流程:初始化阻塞等待输入控制设备完成输入根据中断类型唤醒等待进程设备产生输入中断输入向设备输出数据阻塞等待输出完成根据中断唤醒等待进程设备产生输出中断输出第十二页,共四十三页,编辑于2023年,星期三三、直接内存访问方式(DMA)引入思想:减少CPU在数据传递过程中的干预,DMA控制器完成内存与外设的成批数据交换。优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。第十三页,共四十三页,编辑于2023年,星期三由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作;数据直接在DMA控制器控制下通过总线传递到内存中;在完成指定量的数据接收后,DMA控制器才向CPU产生中断;通过中断处理程序唤醒等待数据的进程;等待数据的进程经过调度处理输入的数据。DMA过程:不再每个字符传递后发中断,实现了块传递再中断,减少了CPU的占用时间第十四页,共四十三页,编辑于2023年,星期三中断控制方式与DMA方式CPU总线I/O设备内存中断CPUI/O设备内存DMA中断:通知已传输完毕第十五页,共四十三页,编辑于2023年,星期三四、通道方式通过执行通道程序并行完成一系列输入输出过程通道:通道是一种特殊的处理机,具有执行I/O指令的能力,通过执行通道程序来控制I/O操作。1、通道程序有自己的指令系统,是一个相对完整的过程。CPU只需向通道发出一条指令,通道便从内存中取出本次执行的通道程序并执行。2、通道之间可以并行执行,进一步减少了CPU对输入输出过程的干预。提高CPU与设备之间的并行性,提高资源利用率。3、主机具有一个或多个通道,一个通道可管理一个或多个设备控制器;通道和CPU共享一个主存特点:第十六页,共四十三页,编辑于2023年,星期三通道设备控制器设备控制器设备设备设备通道设备控制器设备设备主存CPU通道设备控制器设备控制器设备设备通道设备多通路系统第十七页,共四十三页,编辑于2023年,星期三2.5.3缓冲技术作用:解决CPU与I/O设备速度匹配问题速度1速度2基本思想:在内存中开辟一定的专用区域,作为CPU和I/O设备之间进行信息交流的工作区缓冲区第十八页,共四十三页,编辑于2023年,星期三缓冲区的组织专用缓冲区:为某台设备专门设置的,单独使用的缓冲区公用缓冲区:为多台或者全部设备设置的,共享的缓冲区按使用方式划分:按数量划分:单缓冲区双缓冲区多缓冲区循环缓冲缓冲池:由多个大小相等的缓冲区连接起来构成缓冲池第十九页,共四十三页,编辑于2023年,星期三1.单缓冲区在CPU和设备之间设置一个缓冲区速度1速度2注意:1.单缓冲区是临界资源,读写必须互斥访问。2.单缓冲区只能实现匹配速度,不能实现并行操作。第二十页,共四十三页,编辑于2023年,星期三2.双缓冲区在CPU和设备之间设置两个缓冲区设备1设备2CPU提高了CPU与设备之间的并行度第二十一页,共四十三页,编辑于2023年,星期三多个缓冲区循环使用,类似循环队列next_innext_outCPU设备输入3.循环缓冲第二十二页,共四十三页,编辑于2023年,星期三4.缓冲池可供多个对象共享的公用缓冲区组成的缓冲池缓冲区1缓冲区2缓冲区3缓冲区4缓冲区1缓冲区缓冲体缓冲区首部设备号缓冲区号缓冲区地址状态数据块号互斥标识位设备缓冲队列指针数据缓冲池中的缓冲区根据使用情况划分为3种队列:inq:满输入缓冲区队列outq:满输出缓冲区队列emptyq:空缓冲区队列从设备输入的数据缓冲区队列准备向设备输出的数据缓冲区队列第二十三页,共四十三页,编辑于2023年,星期三缓冲池操作(四种操作)设备输入数据到缓冲池getemptybuffer;filldatainbuffer;putbufferininq;收容输入用户从缓冲池读入数据getbufferfrominq;calculetdatainbuffer;putbufferbacktoemptyq提取输入用户向数据缓冲池输出数据getbufferfromoutq;Senddata;putbufferinemptyq;收容输出设备从缓冲池中读出输出数据并完成输出getbufferfromemptyq;filldatainbuffer;putbufferoutq;提取输出缓冲池设备CPU第二十四页,共四十三页,编辑于2023年,星期三缓冲池的组成emptyqinqoutq收容输入提取输出提取输入收容输出设备CPU数据到达取走数据发送数据取走发送第二十五页,共四十三页,编辑于2023年,星期三2.5.4设备分配技术设备分配:按一定策略和原则为申请设备的进程分配设备,包括对设备、设备控制器、通道的分配。分配原则:1、保证申请设备的进程能分配到设备。2、保证设备分配给该进程是安全的。分配方式:静态分配、动态分配第二十六页,共四十三页,编辑于2023年,星期三一、设备分配的数据结构1、设备控制表DCT(DeviceControlTable)记录设备信息及设备的控制器表设备标识设备类型设备状态设备地址或设备号设备等待队列指针I/O控制器指针每个设备一张,可动态更改第二十七页,共四十三页,编辑于2023年,星期三2、系统设备表SDT

(SystemDeviceTable)记录系统中所有设备情况DCT指针占用设备的进程ID设备类型一个系统只有一张每个设备在SDT中占一个表项3、控制器表COCT(ControllerControlTable)4、通道控制表CHCT(ChannelControlTable)记录I/O控制器信息及通道控制表记录通道信息第二十八页,共四十三页,编辑于2023年,星期三设备名设备控制表设备名设备控制表设备名设备控制表设备名设备控制表SDT设备名设备控制器设备名设备控制器状态状态控制器名通道控制表状态控制器名通道控制表状态DCTCOCT通道标识状态通道标识状态CHCT申请SDTDCTCOCTCHCTP.149图2.53设备的分配过程:第二十九页,共四十三页,编辑于2023年,星期三二、设备分配应考虑的因素1、设备的固有属性:独占(静态分配)、共享(动态分配)2、分配的算法:当申请设备的进程有多个、可用设备有多个时3、设备分配的安全性:死锁先申请的进程先满足FIFO;按进程的优先级分配安全分配:非请求和保持,CPU与设备串行工作不安全分配:分配设备时应该进行安全性状态检测4、逻辑设备与物理设备的独立性用户使用逻辑设备,由系统控制具体的物理设备;系统能根据用户提供的逻辑设备名找到相应的物理设备第三十页,共四十三页,编辑于2023年,星期三2.5.5虚拟设备技术(Spooling)其它输入井输出井高速高速脱机:输入、输出是脱离主机完成的。靠外围机的控制输入、输出设备与磁盘交换数据。CPU只与高速磁盘(磁带)交换数据,脱离主机进行脱离主机进行第三十一页,共四十三页,编辑于2023年,星期三技术要点:(1)多道程序并发执行(2)一道程序模拟外围机的输入,将数据从设备输入到磁盘(3)一道程序模拟外围机的输出,将数据从磁盘输出到设备(4)其它程序与设备的通信和脱机方式一样:读写高速磁盘(5)主机仍要控制外围设备——“假脱机”特点:(1)提高了进程访问低速设备速率(2)独占设备成为虚拟设备(3)独占设备成为共享设备SPOOLing技术——伪脱机技术第三十二页,共四十三页,编辑于2023年,星期三其它输入井:外围计算机输出井:外围计算机高速高速用户程序其它低速硬盘低速模拟输入高速模拟输出高速用户程序获得:高速输入高速输出模拟模拟第三十三页,共四十三页,编辑于2023年,星期三2.5.6I/O管理与控制功能:(1)解释I/O指令(2)发动并完成具体I/O操作(3)响应设备及控制器的I/O请求,调用相应的中断处理程序——在分配程序完成设备分配之后进行实现方式:(1)为每一类设备设置一个I/O进程灵活(2)在整个系统中设置一个I/O进程统一管理(3)不设置进程而是提供模块以供用户及系统调用减少进程数量第三十四页,共四十三页,编辑于2023年,星期三设备驱动的特性:中转数据和控制:不是数据和控制的源端和目的端(应用程序和设备)与硬件特性密切相关:通常由硬件厂商提供向上屏蔽设备细节:不同类型设备通常其设备驱动程序接口不同,同类设备的接口相同。因此,同类设备的不同型号,只要更换设备驱动程序则可由OS使用。第三十五页,共四十三页,编辑于2023年,星期三设备驱动处理过程:(1)解释CPU的I/O要求,检查合法性(2)检测设备状态(3)启动执行:填写设备控制器的寄存器(4)启动I/O操作后阻塞输出:等待设备发送结束中断输入:等待设备数据到达中断(5)中断处理保护被中断进程CPU现场转入对中断事件处理的程序唤醒被阻塞的驱动程序恢复被中断进程现场并继续执行第三十六页,共四十三页,编辑于2023年,星期三I/O系统层次模型——体现设备独立性第三十七页,共四十三页,编辑于2023年,星期三

UNIX的设备管理UNIX的外设与特殊文件对应,由文件系统按文件管理方式进行管理,向上提供一个与文件系统统一的接口。第三十八页,共四十三页,编辑于2023年,星期三1.UNIX的I/O结构无缓存I/O:在进程I/O区域与系统I/O模块间直接进行数据交换;有缓存I/O:有缓存I/O要经过系统的缓冲区管理机构;它分成系统缓冲区(systembuffercaches)和字符队列(characterqueues)两种。按设备I/O的不同情况,UNIX系统的I/O分成2种:第三十九页,共四十三页,编辑于2023年,星期三2.

温馨提示

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

评论

0/150

提交评论