操作系统37课件_第1页
操作系统37课件_第2页
操作系统37课件_第3页
操作系统37课件_第4页
操作系统37课件_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

操作系统

第七章设备管理第一节概述第二节I/O软件第三节磁盘调度第一节概述设备管理的任务与功能外部设备的分类设备控制器I/O技术I/O设备分类按用户和系统分类按输入输出传送方式分类按资源特点分类按设备硬件物理特性分类按设备使用分类按用户和系统分类系统设备(一般是标准设备)在操作系统生成时已登记于系统中标准设备用户设备(一般为非标准设备)在系统生成时未登入系统的非标准设备按输入输出传送方式分类字符设备(characterdevice)

以字符为单位进行输入输出设备一般指慢速设备(打印机)块设备(blockdevice)以块为单位进行输入输出设备按设备硬件物理特性分类顺序存取设备存取时间与物理上当前位置有关直接存取设备存取时间与物理上的当前位置关系不大按设备使用分类物理设备由操作系统分类命名逻辑设备用户可以重新命名的设备伪设备泛指具有特定用途的逻辑设备I/O设备间的差异数据传输率应用控制的复杂性信息的组织方式数据描述出错条件I/O空间在系统配置有两种模式主存映射设备I/O模式独立与主存的I/O空间模式设备控制器的主要作用有:接收和识别CPU发来的多种不同命令;实现CPU与控制之间、控制器和设备之间的数据交换;记录和报告设备的状态。地址识别。识别控制器控制的每个设备的地址

设备控制器的组成I/O技术简介I/O技术主要有三种:编程控制I/O中断驱动I/O直接存储访问DMAI/O技术的发展过程处理机直接控制外围设备增加一个控制器或I/O模块中断DMA模式I/O模块由单独处理机处理I/O模块由本地存储器DMADMA:直接存储器传送,由DMAC(DMA控制器)接管CPU总线用硬件完成存储器和I/O的数据传送。DMA种类:周期挪用;CPU停机;周期扩展。I/O通道计算机中设计了一个专门负责外设I/O的处理器,置于CPU和设备控制器之间,称这个I/O处理器为I/O通道。设计目的是:建立独立的I/O操作,使数据的传送独立于CPU,并尽量使有关I/O操作的组织、管理及结束也独立,以保证CPU有更多时间进行数据处理。

通道通过执行通道程序,并与设备控制器一起共同实现对I/O设备的控制。通道程序是由一系列的通道指令(或称为通道命令)所构成。通道指令和一般的机器指令不同,在它的每条指令中通常包含下列信息:操作码,内存地址,计数,通道程序结束位P,记录结束标志R。一般I/O通道有3种类型:字节多路通道数组选择通道数组多路通道 I/O通道方式的发展,既可进一步减少CPU的干预,又可实现CPU、通道和I/O设备3者的并行工作,从而更有效地提高了整个系统的资源利用率。根据I/O软件的设计目标,将I/O软件组织成以下4个层次:1.中断处理程序2.设备驱动程序3.与设备无关的操作系统软件4.用户层软件1.中断处理程序无论是哪种I/O设备,其中断处理程序的处理基本相同,其步骤为:唤醒被阻塞的驱动进程。保护被中断进程的CPU环境。分析中断原因,转入相应的中断处理程序。进行中断处理。恢复现场。

设备驱动程序的处理过程一般地说,设备驱动程序的任务是接收来自它上面一层的与设备无关软件的请求,并执行这个请求。一个典型的请求是“读第n块”,如果请求到来时驱动程序是空闲的,则立即开始执行该请求;若驱动程序正在执行一个请求,则将新到来的请求插到一个等待处理I/O请求队列中。影响设备分配的因素I/O设备固有的属性系统所采用的分配方案设备分配中安全性与设备的无关性设备驱动程序的特点驱动程序与I/O设备的特性紧密相关驱动程序与I/O控制方式紧密相关驱动程序与硬件紧密相关3.与设备无关的I/O软件与设备无关的I/O软件系统称为I/O子系统。同时I/O子系统为用户应用程序提供一个统一的接口。与设备无关软件层通常应实现的功能为:设备驱动程序的统一接口、设备命名、提供一个与设备无关的块大小、缓冲、块设备的存储分配、分配和释放独占设备、错误报告等。设备命名与设备无关的软件(即I/O子系统)负责把设备的符号名映射到相应的设备驱动程序。设备命名后,所有设备的名字的集合称做设备的名字空间。UNIX系列有3种不同的名字空间。主次设备号内部号与外部号设备文件与路径名设备保护与设备命名机制密切相关的是设备保护。在大多数大型计算机系统中,用户进程对I/O设备的访问是完全禁止的。与设备无关的块及存储设备的块分配不同的磁盘可以采用不同的扇区尺寸,与设备无关软件的一个任务是向较高层软件屏蔽并给上一层提供大小统一的块尺寸。设备分配 一些设备,如磁盘驱动器,在任一时刻只能被单个进程使用。 因此,操作系统需要对设备使用请求进行检查,并根据申请设备的可用状况决定是接收该请求还是拒绝该请求。出错处理 出错处理是由设备驱动程序完成的。大多数错误是与设备密切相关的,因此,只有驱动程序知道应如何处理(是重试、忽略,还是报警)。4.用户空间的I/O软件用户空间的I/O软件分成2类标准的I/O库:如write,printf,gets库过程假脱机系统(Spooling)系统虚拟设备:通过共享设备模拟独占设备的动作,使独占设备成为共享设备。SPOOL技术为实现虚拟设备的技术。SPOOL

系统的组成输入井和输出井

磁盘上开辟的两大存储空间,输入井收容外部设备输入的数据,输出井收容用户程序的输出的数据。输入缓冲区和输出缓冲区输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。程序工作的输入进程SPi和输出进程SPO输入进程Spi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存输出进程SPO模拟脱机输出时外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中数据经过输出缓冲区送到输出设备上打印机共享的SPOOLing技术由输出进程在输出井中申请一个空闲盘块区,并将要打印的数据送入其中输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求添入其中,再将该表挂到请求打印队列上如果还有进程要求打印输出,系统仍可接受其请求,也同样为该进程重复(1)、(2)打印队列SPOOL系统的特点用户进程透明:用户进程使用统一的系统调用访问字符设备用户进程使用的是虚拟设备,而不是直接的字符设备字符设备和虚拟设备间数据交换由SPOOL系统统一调度实现。5.缓冲技术系统为达到如下目的需要使用缓冲技术:缓和CPU与I/O设备间速度不匹配的矛盾减少CPU的中断频率,放宽对中断响应的限制提高CPU和I/O设备之间的并行性根据系统设置的缓冲区的个数,可以把缓冲技术分为单缓冲、双缓冲和循环缓冲以及缓冲池几种单缓冲单缓冲是OS提供的一种最简单的缓冲。当用户进程发出一个I/O请求时,OS便在主存中分配一个缓冲区。对于单缓冲,缓冲区属于临界资源,即不允许多个进程同时对一个缓冲区进行操作。因此,单缓冲虽然能匹配设备和CPU的处理速度,但无法实现设备与设备之间的并行操作。以块设备为例:假如磁盘把数据送入缓冲器时间为t,数据从缓冲区传送到用户区为tm数据计算处理时间为tc则不用缓冲器处理时间为t+tc用缓冲器max(tc,t)+tm(tm远小于t或tc)双缓冲双缓冲提供两个缓冲区。但双缓冲只是一种说明设备与设备、CPU与设备并行操作的简单模型,并不能用于实际系统中的并行操作循环缓冲由于双缓冲并不能真正解决实际系统中的并行操作,于是引入了多缓冲。通过增加缓冲区的个数,可使并行程度得到明显提高。多缓冲是把多个缓冲区连接起来组成两部分:一部分专门用于输入:供输入进程和计算进程一部分专门用于输出:供输出进程和计算进程缓冲区包括两部分:多个缓冲区:空缓冲区R已装满数据缓冲区G现行工作缓冲区C多个指针:Nextg,Nexti,Current缓冲池上述的循环缓冲区仅适用于某特定的I/O进程和计算进程,因而属于专用缓冲。为了提高缓冲区的利用率,目前广泛流行公用缓冲池,池中的缓冲区可供多个进程共享。缓冲池的结构由多个大小相等缓冲区组成缓冲区包括头部和缓冲体缓冲头部:用来标识和管理该缓冲器内容:设备号、设备块上的数据块号、互斥标志位、缓冲队列的连接指针、缓冲器号缓冲体:用于存放数据按存储的性质组成3个队列:空缓冲区队列emg:由空缓冲区组成的队列输入队列ing:装满输入数据的缓冲区组成输出队列outg:装满输出数据的缓冲区组成

队列构成:F(emq)...L(emq)缓冲区1缓冲区2F(inq)...L(inq)缓冲区1缓冲区2F(outq)...L(outq)缓冲区1缓冲区2工作缓冲区:收容输入数据的工作缓冲区hin提取输入数据的工作缓冲区sin收容输出数据的工作缓冲区hout提取输出数据的工作缓冲区sout缓冲池的管理管理缓冲池的步骤如下:take-buf(type):从3种缓冲区队列中按一定的规则取出一个缓冲区。add-buf(type,number):把缓冲区按一定的规则插入相应的缓冲队列。get-buf(type,number):申请缓冲区。put-buf(type,work-buf):将缓冲区放入相应缓冲区队列。 其中,type为缓冲队列类型,number为缓冲区号,work-buf为工作缓冲区类型。

输入过程:输入进程调用get-buf(em,number),将空白缓冲区作为输入缓冲区hin,当hin装满输入数据,系统调用put-buf(in,hin)将该缓冲区插入输入缓冲区队列in。get-buf(in,number)从输入缓冲队列取出装满数据的缓冲区,将其作为工作缓冲区sin,当CPU取完数据,系统调用put-buf(em,sin)将缓冲区释放并插入空白队列em中。

输出过程:输出进程调用get-buf(em,number),将空白缓冲区作为输出缓冲区hout,当hout装满数据,系统调用put-buf(out,hout)将该缓冲区插入输出缓冲区队列out。get-buf(out,number)从输出缓冲队列取出装满数据的缓冲区,将其作为工作缓冲区sout,当sout中数据输出完毕,系统调用put-buf(em,sout),将缓冲区释放并插入空白队列em中第三节磁盘调度磁盘的硬件特性磁盘的调度算法磁盘的硬件特性固定头磁盘:盘面上每一个磁道都有一个读/写头(成本较高)移动头磁盘:每个盘面只有一个读/写磁头(读写操作之前须移动磁头)

存取装置主轴动臂盘片柱面磁道读写头物理块定位定位一个物理记录需要三个参数:柱面号磁头号扇区号物理块读写

等待设备等待通道寻道旋转延迟数据传送寻道(查找时间):移动磁头到要求磁道所需时间。旋转延迟时间:盘上的物理块随整个盘旋转到读写头下面所需时间。数据传送时间:读写头对该物理块中数据实际访问的时间。磁盘调度算法磁盘调度各种策略:先来先服务策略(FCFS)最短查找时间优先策略(SSTF)扫描策略循环扫描策略

策略评价:吞吐量平均响应时间响应时间的可预期性先来先服务策略(FCFS)按磁盘请求的等待队列的先后次序排序。例:有如下的一个磁盘请求序列,其磁道号为:55,58,39,18,90,160,150,38,184,读写头一开始在100磁道。特点:无法对访问优化,吞吐量较低,响应时间较高1751991501251007550250最短查找时间优先策略(SSTF)选择请求队列中柱面号最接近磁头当前所在的柱面的访问要求为下一个服务对象特点:吞吐量较好,平均响应时间较低,响应时间不可预期性。中间磁道的访问优于内外两侧。1751991501251007550250扫描策略按磁臂前进方向最接近磁头当前所在柱面的访问要求为下一个服务对象。特点:吞吐量较好,平均响应时间较低,两侧的访问频率低于中间磁道,但不象SSTF严重。1751991501251007550250循环扫描策略循环扫描策略是单向反复扫描。1751991501251007550250

磁盘调度策略很多,各有利弊。如何选择相应调度策略与磁盘的使用环境因素有关。磁盘调度的一个趋势是使用多个磁盘(磁盘阵列RAID)一起工作,特别对高端系统很有用。增加磁盘高速缓存减少延迟时间的方法一般常将盘面扇区交替编号;磁盘迭中不同盘面错开命名。假如磁盘有8个扇区。磁盘迭有8个盘面

0415736270413625370462516370251426375140526314071526407341520736某移动臂磁盘共有200个磁道,磁道编号为0-199,磁头在140道上服务完后,现在正在143道上进行读/写操作,此间有如下按时间先后排列的请求序列:1、882、1473、914、1775、946、1507、1028、1759、130试给出:用SSTF和扫描策略时的磁盘请求服务次序。SSTF策略:2697531847+62+89=158扫描策略:26849753134+89=123假定有一台可移动的磁鼓设备。磁头可读写的位置有3个(道0,1,2),每道有8个记录(0~7),磁鼓转一周需8MS,在8MS中磁头也可在相邻道之间运动,如图1所示0,00,10,20,31,01,11,21,32,02,12,22,3图1

道号记录号021213152424假设处理这台磁鼓的程序如图2所示图21.按给定的次序(FCFS)执行以上的I/O请求将占多少时间?设磁头开始的位置为(0,0)2.为这些请求服务的最佳次序是什么?1.由于磁鼓单向旋转,所以从某个记录号N道另一个磁道(相邻)的记录号N所需的时间最长(8MS)所需时间2+8+1+2+7+7=27MS2.最佳次序(0,2)(1,3)(1,5)(1,2)(2,3)(2,4)9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMeMbJ7G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK9H5E2A+A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$r$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThPeMbJ7G4D1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlTiQfNbK8K8H5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8G5D2A-x*t$qZnVkShPdMaI7F4C0z)w&s!pXmUjRfOcL9H6E2B+y(u%r#oWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t!qYnVjSgPdLaI6F3C0y)v&s#pXlUiRfNcK9H5E2A+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiQfNcK8H5E2A+x*u$rZnWkThPeMaJ7G4C1z-w&t!pYmVjRgOdL9I6E3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmUjRgOcL9I6E3B+y(v%r#oXlTiQeNbK8G5D2A-x*t$qZnVkShPdMaMaI7F4C0z)w&s!pXmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbJ8G5D1A-x*t$qYnVkSgPdMaI7F3C0z)v&s!pXmUiRfOcK9H6E2B+x(u%rZoWlThQeMbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u$rZoWkThQeMbJ7G4D1z-w*t!qYmVjSgOdLaI6F3B0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjRgOdL9I6F3B0y(v%s#oXlUiQfNbK8H5D2A+x*u$qZnWkShPeMaJ7F4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnVkShPdMaJ7F4C0z)w&s!pYmUjRfOcL9H6E3B+y(u%r#oWlTiQeNbK8G5D1A-x*t$qZnVkSgPdMdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G4D1A-w*t$qYnVjSgPdLaI7F3C0y)v&s#pXmUiRfNcK9H5E2B+x(u%rZoWkThQeMbJ8G4D1z-w*t!qYnVjSgOdLaI6F3C0y)v%s#pXlUiRfNcK8H5E2A+x(u$rZnWkThPeMbJ7G4C1z-w&t!qYmVjSgOdL9I6F3B0y)v%s#oXlUiQfNcK8H5D2A+x*u$rZnWkShPeMaJ7G4C1z)w&t!pYmVjRgOcL9I6E3B0y(v%r#oXlTiQfNbK8G5D2A-x*u$qZnWkShPdMaJ7F4C1z)w&s!pYmUjRgOcL9H6E3B+y(v%r#oWlTiQeNbK8K8G5D1A-x*t$qZnVkSgPdMaI7F4C0z)v&s!pXmUjRfOcK9H6E2B+y(u%rZoWlThQeNbJ8G5D1A-w*t$qYnVkSgPdLaI7F3C0z)v&s#pXmUiRfOcK9H5E2B+x(u%rZoWkThQeMbJ8G4D

温馨提示

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

评论

0/150

提交评论