




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章设备管理●I/O设备管理概述
●磁盘管理●I/O控制方式
●缓冲管理本章要点7.1I/O设备管理概述I/O管理的功能监视设备的状态进行设备分配完成I/O操作缓冲管理I/O硬件组成主机I/O系统——四级结构微型机I/O系统——单总线结构I/O设备设备的类型块设备—如:磁盘、磁带,块大小512B~32KB,通常为512B。块设备的特点是速度高、随机访问、I/O采用DMA。字符设备—如:键盘、行式打印机。特点是速度低、不可寻址、I/O采用中断驱动。设备控制器●设备控制器或适配器是I/O设备的电子部分,它是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并控制I/O设备工作。通常一台控制器可控制多台同一类型的设备。●在微机中,设备控制器常做成印刷电路卡的形式,如I/O卡。●设备控制器的种类很多,需要不同的软件来控制它,这样的软件就是设备驱动程序。●控制器的功能接收和识别CPU发来的命令——控制寄存器数据交换——数据寄存器了解设备的状态,报告给CPU——状态寄存器地址识别——地址译码器设备控制器的组成控制器与CPU之间接口——用于控制设备与总线之间交换数据。控制器与设备之间接口——用于根据CPU发来的命令,控制设备的动作。I/O逻辑——用于实现对设备的控制。I/O逻辑对收到的地址进行译码,在根据译出的命令对设备进行控制。设备通道虽然有控制器可以对设备进行控制,但当外设很多时,CPU负担过重,为此在CPU与控制器之间增加通道。增加通道的目的“是建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且有关I/O操作的组织、管理及结束也尽量独立,以保证CPU有更多的时间去进行数据处理。通道是特殊的处理机它指令单一。没有内存。通道的类型数组选择通道连接磁盘等高速外设。以块为传送单位。通道随与多个外设相连,但通常被一个设备专用,用完释放后才让给其他设备。数组多路通道连接高速外设。如磁盘。综合字节多路通道的”并行“和选择通道的”高速“的优点。通道利用一台设备”读写定位“的时间,再与另一外设交换信息。字节多路通道连接中、低速外设。如打印机、终端等。以字节为传送单位。传送时,通道与多个外设交叉传递,当一个外设交换一个字节后,立即腾出,将通道让给另一个设备使用。通道的连接方式单通路多通路设备与计算机之间有多条通道,增加灵活性。增强可靠性。某通道、控制器坏,也不会影响数据交换。7.2I/O控制方式●I/O数据控制方式的发展经历了四个阶段程序直接控制方式中断驱动方式DMA控制方式通道方式●在I/O控制的整个发展过程中,始终贯穿着一条宗旨,尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事物中解脱出来,以更多地去完成数据处理任务。程序直接控制方式
忙—等待方式缺点CPU与外设只能串行工作。CPU在一段时间内只能与一台外设交换数据信息。无法发现和处理由于设备和其它硬件所产生的错误。中断驱动方式中断方式缺点中断的次数过多。中断次数的急剧增加会造成CPU无法及时响应中断,出现数据丢失现象。DMA控制方式●中断方式比程序I/O方式有效,但它是以字节为单位进行的,每传送一个字节,控制器便向CPU请求一次中断,如果将这种方式用于块设备的I/O,显然是低效的。例如要读1KB的数据块,需要中断1K次CPU。●为了减少CPU对I/O的干预,引入DMA方式。该方式的特点为:数据传输的基本单位是数据块。所传送的数据是从设备直接送入内存的。仅在传送一个或多个数据块的开始或结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。DMA控制器的组成增加两类寄存器:内存地址寄存器MAR数据计数器DCDMA工作过程●当CPU需要从磁盘读数据时,便向磁盘控制器DMA发命令,●该命令送命令寄存器CR,
●将内存地址送内存地址寄存器MAR,
●本次要读的字节数送数据寄存器DC。●启动DMA后,CPU干其他的事情,数据传送在DMA的控制下完成。通道方式DMA方式比中断方式、程序I/O方式以显著地减少了CPU的干预,即从字节为单位的干预减少到以数据块为单位的干预。I/O通道方式是DMA方式的发展,把以数据块为单位的干预,减少到对一组数据块为单位的干预。在DMA方式中,每发出一个I/O指令,能读(写)一个连续的数据块,当需要一次去读多个离散的数据块且将它们分别传送到不同的内存区域时,则需多条I/O指令和多次中断,而通道只需一次即可完成。通道有一系列通道指令构成。●通道指令的格式: ●操作码——规定了指令所要执行的操作,如读、写等。 ●计数——表示本条指令要读(写)数据的字节数。 ●内存地址——数据要送入的内存地址或从内存何处取出数据 ●通道程序结束位P——表示通道程序是否结束。 P=1表示本条指令是通道程序的最后一条指令。 ●记录结束位R——R=0表示本条通道指令与下一条通道指令 所处理的数据属于一个记录,
R=1表示该指令处理的数据是最后一条记录。●通道指令示例:操作码PR计数内存地址write002501850write01602100write11280790通道指令7.3I/O系统I/O系统层次结构设备分配考虑因素设备固有属性独享设备共享设备虚拟设备设备分配中的安全性安全分配方式(单请求方式)不安全分配方式设备的独立性设备独立性也称设备无关性指用户程序独立于具体物理设备。即用户只需说明使用哪类设备,如打印机或显示器(逻辑设备名),无需指定某个具体设备(物理设备名)。操作系统统一合理地进行设备分配。设备独立性的优点设备分配时的灵活性易于实现I/O重定向设备独立性的实现——逻辑设备表操作系统实现逻辑设备到物理设备的转换。逻辑设备表(LogicalUnitTable,LUT)
LUT的设置:
整个系统一张(单用户系统)一个用户一张(多用户系统)设备分配用数据结构设备控制表DCT(每个设备一张)控制器控制表COCT(每个控制器一张)通道控制表CHCT(每个通道一张)系统设备表SDT(整个系统一张)设备分配程序单通路情况下的设备分配程序SPOOLing技术——SimultanczusPeriphernalOperationsOn-LineSPOOLing的系统组成:输入井和输出井输入缓冲区和输出缓冲区输入进程SPi和输出进程SPo用SPOOLing技术共享打印机打印机是经常要用的输出设备,属于独享设备。利用SPOOLing
技术,可将它改造为一台供多用户共享的设备,从而提高了设备的利用率。具体过程:1>用户要求打印2>输出进程SPO在“输出井”为之申请一空闲盘区,并将要求打印的数据送入其中。3>SPO为用户进程申请“用户请求打印表”,将打印要求填入其中,并将该表挂到请求打印队列上。4>打印机空闲时,SPO从打印队列上取出一张“请求打印表”将要打印数据从“输出井”送到内存“输出缓冲区”,由打印机进行打印。5>重复4。SPOOLing特点:提高I/O速度将独占设备改造为共享设备实现虚拟设备功能设备驱动程序设备驱动程序的功能:向有关I/O设备的控制器(中的控制/状态寄存器)发出控制命令,监督它们的正确执行,并进行必要的错误处理。对等待各种设备、控制器和通道的进程进行排队。执行比寄存器级别更高的一些特殊处理,如代码转换、退出处理等。设备驱动程序的特点不同类型的设备配置不同的驱动程序。由于驱动程序与硬件紧密相关,常用汇编语言写。驱动程序的结构与I/O设备的硬件特性紧密相关。中断中断是指在计算机执行期间,系统内部发生任何非寻常和非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序,而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处,继续执行或调度新的进程执行的过程。禁止中断也被称为关中断。PSW的中断允许位的被重新设置被称为开中断。中断请求、关中断和开中断都是由硬件实现的。中断屏蔽。通过在每一类中断源设置一个中断屏蔽触发器,来屏蔽它们的中断请求。中断的分类硬中断内中断外中断软中断中断优先级●按中断源的轻重缓急,OS对不同的中断赋予了不同的优先级。UNIX系统中,外中断和陷入的优先级共分为8级。Windows2000中的中断优先级分为32级
●所有线程都运行在中断优先级0和1上●所有的硬件中断的优先级都高于软件中断中断处理过程●检查CPU响应中断的条件是否满足。●如果CPU响应中断,则须关中断,使CPU进入不可再次响应中断的状态。●保存被中断进程的现场。●分析中断原因。●执行中断处理子程序。●恢复被中断进程的现场。●开中断。中断现场保护示意图
7.4磁盘管理速度是影响文件系统性能的主要因素提高磁盘I/O速度的主要途径:
选择性能好的磁盘
采用好的磁盘调度算法
设置磁盘高速缓冲区磁盘性能影响磁盘性能的因素:数据的结构磁盘的类型磁盘访问时间磁盘结构和管理一个磁盘含多个盘片。每个盘片含两面。每面含若干个磁道。每条磁道上存储相同数目的二进制位。每条磁道又分成若干个扇区,一个扇区相当于一个盘块。盘片旋转,当磁头位于某个磁道、某个扇区下时,就可将该扇区的内容读出或写入。磁盘的格式化(低级格式化)例一个磁道分成300个固定大小的扇区,每个扇区的容量为600个字节,其中512个字节存放数据,88个字节存放控制信息。磁盘的类型固定头磁盘每条磁道上都有一个读/写磁头(大容量磁盘)移动头磁盘每个盘面仅配一个读/写磁头。即微机上用的硬盘(也叫温切斯特硬盘)、软盘。磁盘的访问寻道时间Ts:磁头从当前位置移动到指定磁道上所经历的时间。
(s:启动磁盘时间、m:常数=0.3、n:磁道数) Ts:随寻道距离的增大而增大,约10ms旋转延迟时间Tr:磁头找到指定的扇区所经历的时间。 硬盘Tr=3ms软盘100ms传输时间Tt:数据从磁盘读出,或向磁盘写入数据所经历的时间。
(r:磁盘旋转速度N:一条磁道上的字节数b:每次读写的字节数)磁盘访问时间
如何减少磁盘的访问时间例2:磁盘的寻道时间为10ms,旋转时间为10000r/min,每个磁道有320个扇区,每个扇区512个字节,假设读取一个包含2560个扇区的文件,文件的大小是1.3MB现在估计磁盘的访问时间。
(1)若数据顺序组织:读第一个磁道的时间如下:Ts+Tr+Tt
(读320个扇区时间)=10ms+3ms+6ms
=19ms如果在读其余的磁道时,不需寻道,后面每个磁道的读取时间是3+6=9ms,读取整个文件总时间=19+7*9=82ms=0.082s(2)如果采用随机访问,也就是说,访问随机分布在磁盘上的扇区。对于每个扇区的访问时间为:
Ts+Tr+Tt
(读一个扇区时间)=10ms+3ms+0.01875ms=13.01875ms,读取整个文件总时间=2560*13.01875=33328ms=33.328s例1:设Ts+Tr=13ms,磁道的传输速度为1KB/s,要传输1K字节,则Ta=13+1=14ms;要传输10K字节,则Ta=13+10=23ms结论1:适当集中数据传送,有利于提高传输速率。结论2:减少磁盘访问时间的途径之二:数据尽可能顺序组织磁盘调度算法——FCFS:先来先服务优点:公平、简单。缺点:未对寻道进行优化,平均寻道时间较长。SSTF先满足寻道时间短的进程。优点:对寻道优化缺点:“饥饿”现象发生FCFS和SSTF磁盘调度算法——SCAN算法:
对SSTF算法进行改造,不仅考虑要访问的磁道与当前磁盘的距离,更优先考虑磁头的当前移动方向。因该算法中磁头的移动规律颇似电梯的运行,故称“电梯调度算法”。循环扫描CSCAN:
对SCAN进行改造,解决进程严重延迟现象。内外内外扫描算法磁盘调度算法——SCAN和CSCAN磁盘调度算法——N-step-SCAN
对于SSTF、SCAN、CSCAN均有可能出现磁头在某处停留不动的情况(如进程对某道的访问频率高)——称为磁臂粘着现象。
N-step-SCAN算法将磁盘请求队列分成若干个长度为N的子队列,用FCFS依此处理这些子队列。在每个队列中用SCAN。 N越大(一个进程一队)——>SCAN N越小(N=1)——>FCFSN-step-SCAN扫描算法磁盘调度算法——FSCAN
将N-step-SCAN算法简单化为二个队列: 一个队列为:当前请求磁盘I/O的进程形成的队列。由SCAN处理。 另一个队列为:新出现的请求磁盘I/O的进程形成的队列,这样一来,新的请求下次扫描时再处理。FSCAN扫描算法独立磁盘冗余阵列廉价磁盘冗余阵列(ReduntantArrayofInexpensiveDisks,RAID)1987年由美国加利福尼亚大学克莱分校提出,后得到广泛应用。RAID技术有7级,RAID0~RAID6,不同的级别代表了不同的设计结构。廉价磁盘冗余阵列RAID0RAID
0级——并行交叉存取系统中有多台磁盘驱动器,每个磁盘被划分成多个条带。当要读取磁盘上的数据时,采取并行传输方式,将各个磁盘条带中的数据同时向内存中传输,从而使传输时间大大减少。廉价磁盘冗余阵列RAID1RAID
1级——磁盘镜像具有磁盘镜像功能,但磁盘利用率只有50%。廉价磁盘冗余阵列RAID3RAID
3级——冗余磁盘具有并行传输功能的磁盘阵列。用一台奇偶校验盘完成容错比RAID1,磁盘利用率高。常用于科学计算和图像处理。假设磁盘驱动器X1出现故障,给上面等式的两边都加上,则有校验数据:廉价磁盘冗余阵列RAID5RAID
5级——冗余条带分散在所有磁盘中具有独立传送传输功能的磁盘阵列,每个驱动器有自己独立的数据通路,独立地进行读、写,且无专门的校验盘。常用于I/O较频繁的事务处理。廉价磁盘冗余阵列RAID6RAID
6级——两种奇偶校验方法采用了两种不同的奇偶校验计算方法,并保存在两个不同磁盘的不同块中。这就使得即使有两个包含用户数据的磁盘出现故障,也可以重新生成数据。RAID的优点●可靠性高除RAID0级外,其余各级均采用了容错技术,当阵列中某一磁盘损坏时,并不会造成数据的丢失,因为它既实现磁盘镜像,有可实现磁盘双工,还可实现其他的冗余方式,所以可以根据未损坏磁盘中的信息,来恢复已损坏的盘中的信息。●磁盘I/O速度高由于磁盘阵列可采取并行交叉存取方式,故可将磁盘I/O速度提高N-1倍。N为磁盘数目。●性能/价格比高用RAID技术来实现大容量高速度存储器时,其体积与具有相同容量和速度的大型磁盘系统相比,只是后者的1/3,价格也是后者的1/3,且可靠性更高。即以牺牲1/N的容量为代价,来换取高可靠性。7.5缓冲管理 缓冲的引入缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率提高CPU和I/O设备之间的并行性协调传输数据大小不一致的设备缓冲是在通信问题中,为了使通信双方的速度匹配而引入的一个中间层次,这个层次的速度比通信双方中较慢的一方快,而与较快的一方更匹配。缓冲的定义缓冲的设置CACHEI/O设备或控制器内部的纯硬件缓冲区内存开辟的缓冲区脱机I/O技术和SPOOLing技术本节重点研究的内容——内存中的缓冲区单缓冲
若没有缓冲区:从磁盘把一块数据送入用户区,其所花费的时间为T,CPU对数据进行计算,其所花费的时间为C,则系统对整块数据的处理时间为T+C(T与C串行)
提供缓冲区从磁盘把一块数据送入缓冲区,其所花费的时间为T,操作系统将缓冲区的数据送入用户区,花费的时间为M,CPU对数据进行计算,其所花费的时间为C,则系统对整块数据的处理时间为max(C,T)+M(通常M远小于T或C)
(T与C并行)问题:通常T>C,CPU等待双缓冲
对于双缓冲,先将数据输入到第一个缓冲区,
在向第二个缓冲区送数据的同时,CPU对第一个缓冲区中数据进行计算。
因此在有双缓冲的情况下,系统处理一块数据的时间为max(C,T)。
如果C<T,块设备连续地输入,CPU有短时间的等待;
如果C>T,CPU就不必等待设备输入。问题:T>>C,CPU仍等待循环缓冲
当输入、输出的速度基本相匹配时,可使用双缓冲,但若两者的速度相差甚远时,双缓冲的效果就不太理想,因此可有多缓冲。典型的即生产者和消费者问题。缓冲池以上的缓冲只能用于某一进程,他们属于专用缓冲。为了提高缓冲区的利用率,可采用公用缓冲池。三个缓冲区链组成的队列:空缓冲区队列emq输入队列inq输出队列outq缓冲池四种工作缓冲区:用于收容输入数据的工作缓冲区hin用于提取输入数据的工作缓冲区sin用于收容输出数据的工作缓冲区hout用于提取输出数据的工作缓冲区sout缓冲池管理的两个过程GetBuf和PutBuf
ProcedurePutbuf(type,number){ wait(MS(type)); Addbuf(type,number); Signal(MS(type)); Signal(RS(type));}ProcedureGetbuf(type){ wait(RS(type));
//同步信号灯 wait(MS(type));
//互斥信号灯B(number)=Takebuf(type);
//从队列中摘取一缓冲区 Signal(MS(type));}
对三个队列的操作是类似的,主要有两个操作:
AddBuf(Type,number):将由number指向的缓冲区挂在某个队列Type
TakeBuf(Type):从Type指示的某个队列上,摘下一个缓冲区。
实现互斥和同步,系统设置两个过程:GetBuf和PutBuf。
缓冲池管理的工作方式
收容输入:输入进程需要输入数据时,调用GetBuf(emq)从emq队列摘下一空缓冲区,作为收容输入工作缓冲区hin。把数据输入其中,之后调用PutBuf(inq,hin),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年黑龙江省大庆市单招职业倾向性测试题库1套
- 科技赋能下的美术教育新模式-项目化教学研究
- 计算机网络基础知到智慧树章节测试课后答案2024年秋海南省财税学校
- 计算机控制系统知到智慧树章节测试课后答案2024年秋杭州电子科技大学
- 急诊医学知到智慧树章节测试课后答案2024年秋南昌大学
- 2025年河北政法职业学院单招职业适应性测试题库及答案一套
- 苗圃流转合同范本
- 2025年湖南九嶷职业技术学院单招职业倾向性测试题库含答案
- 轻钢施工合同范本
- 球房合同范本
- 地理中图版2025新版七年级下册 中图版七年级下地理教学计划
- 北京某中学2024-2025学年九年级上学期期中数学试题
- 2025-2025年七年级英语下册教学计划
- 酒店客房管理手册
- 基坑支护及土方开挖施工方案
- 国家安全教育(临沂职业学院)知到智慧树答案
- 公司安全生产事故隐患内部报告奖励工作制度
- 《室内设计公共空间》课件
- BD FACSCalibur流式细胞仪操作手册
- 投资合作协议范本:投资合作协议书范本
- 外研版一年级上册新交际英语(2024)Unit 6 Colour单元整体教学设计
评论
0/150
提交评论