版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统设备管理1 第五章 设备管理 在现代计算机系统中,为了实现与外界间的信息交往,更好地方便用户使用计算机,一般都配置了一系列各种类型的外围设备,例如:键盘,打印机,显示器,磁带机,卡片机,磁盘,磁鼓等。这些外围设备,由于其构造和物理特性各异,故在应用方式上风格各不相同,在管理方法上也有很大差别。操作系统设备管理1磁带机硬盘光盘绘图仪扫描仪键盘打印机操作系统设备管理1 为了有效地完成对各类外围设备的管理,更好地提高外设资源的利用率,并在用户面前提供一种方便、统一的接口界面,在操作系统的设备管理子系统中,承担了各种设备的分配、管理及I/O操作控制任务。让用户使用的设备与系统中实际连接的物理设
2、备分离开,使用户在不需要了解底层设备资源的状况下,就可以采用逻辑设备名方便地使用外围设备,而逻辑设备到物理设备的转换工作则由系统自己完成。操作系统设备管理1引言设备类型 在计算机系统中,除了作为操作处理时使用的CPU以及存储信息时用的存储器之外,还有一类比较重要的硬件资源I/O设备。I/O设备是计算机与外界进行信息交换的装置,因此,在各种类型的计算机中都配置有一定数量的I/O设备,这些设备可以从不同的角度进行分类。操作系统设备管理1常见I/O设备分类I/O类外设:显示器、键盘、打印机、扫 描仪、 传感器、控制杆、鼠标存储类型的设备:磁盘设备、磁带设备、光盘等网络通信设备:网络接口、调制解调器等
3、操作系统设备管理1存储设备输入输出设备终端设备脱机设备外部设备图1 按使用特性对外部设备的分类操作系统设备管理1常见的分类有下列几种:1.以设备的隶属关系划分:1)系统设备(System Device):这类设备属于计算机中最基本的标准配置设备,常常在操作系统启动时自动完成设备的登录。如打印机、键盘、显示器和磁盘驱动器等都属于这种类型的设备。2)用户设备(User Device):这类设备属于非标准配置,可由用户根据实际需要连入系统,在使用之前通过运行对应的驱动程序进行安装、登录。如绘图仪、扫描仪等。操作系统设备管理12 2按信息组织方式划分:按信息组织方式划分:1 1)字块设备)字块设备(B
4、lock DeviceBlock Device):这种设备也):这种设备也称为存储型设备,在其上信息的组织、安排,称为存储型设备,在其上信息的组织、安排,都以块为单位进行,在进行存取访问时,也是都以块为单位进行,在进行存取访问时,也是以块进行计量的。常见的有磁盘驱动器、磁带以块进行计量的。常见的有磁盘驱动器、磁带机、磁鼓等。机、磁鼓等。2 2)字符设备)字符设备(Character DeviceCharacter Device):字符设):字符设备上的信息,是以字符为单位来组织安排的备上的信息,是以字符为单位来组织安排的, ,这类设备也称为输入这类设备也称为输入/ /输出型设备输出型设备. .
5、在信息存取在信息存取调用时调用时, ,都是以字符为单位来访问的。如键盘、都是以字符为单位来访问的。如键盘、纸带输入机、磁卡机等纸带输入机、磁卡机等 属于该类型设备。属于该类型设备。操作系统设备管理13.从资源分配角度进行划分1)1)独占设备独占设备(Independence Device):一次只允许分给一个用户作业使用的设备。设备一旦被分出去后,在作业的整个执行期间都被单独占用,别的作业不能与之共用,必须等占用释放后才可再用。这类设备如果分配不当,可能会造成死锁。多数是一些慢速设备,如磁卡机、打印机、A/D、D/A转换器等。操作系统设备管理12)2)共享设备共享设备(Share Device
6、):一次可以允许多个作业同时进行访问的设备。各作业在执行期间内,可以交替分时地对共享设备进行占用。常见的有磁盘、磁鼓等。3)3)虚拟设备虚拟设备(Virtual Device):严格来讲,虚拟设备是一种设备管理的技术。采用该技术可以使慢速独占设备的使用方式变为共享设备的使用方式,以利于独占设备使用效率的提高。在现代计算机系统中,主要采用了SPOOLING系统来实现以完成此功能。操作系统设备管理14按传输速率分类:1 1 低速设备低速设备:它是指传输速率为每秒钟几个字节至数百个字节的一类设备。属于低速率的典型设备有键盘、鼠标器、语音的输入和输出设备;2 2 中速设备中速设备:它指传输速率在每秒钟
7、数千个字节至数十千个字节的一类设备。属于中速率的典型设备有行式打印机、激光打印机等;3 3 高速设备高速设备:它指传输速率在每秒钟数百千个字节至数兆个字节的一类设备。属于高速率的典型设备有:磁带机、磁盘机、光盘机等。操作系统设备管理1设备管理的主要功能设备管理的主要功能 设备管理属于操作系统中最烦琐、最具复设备管理属于操作系统中最烦琐、最具复杂性的部分。为了有效的提高系统中设备的效杂性的部分。为了有效的提高系统中设备的效率,在设备管理中应追求如下的目标:率,在设备管理中应追求如下的目标: (1)(1)建立方便、一致的用户界面建立方便、一致的用户界面 (2)(2)尽量使尽量使CPUCPU与外围设
8、备、外设与外设之与外围设备、外设与外设之间的并行处理能力提高间的并行处理能力提高 (3)(3)充分发挥充分发挥 I/OI/O设备的效率设备的效率操作系统设备管理1 为实现目标要求,作为设备管理子系统,应具备以下功能: 1)完成设备的分配和回收。 2)实现缓冲区的管理。 3)控制I/O设备的启动。 4)进行I/O事件的中断处理。 5)管理共享设备的驱动调度。 6)提供虚拟设备。操作系统设备管理1I/O设备通常包含:一个机械部件和一个电子部件电子部分称为I/O部件或设备控制器,在个人计算机中它常常是一块可以插入主板扩展槽的印刷电路板。大多数小型和微型机的CPU /内存和设备控制器之间的通路采用多总
9、线模型处理机处理机主存主存显卡总线控制器外设控制器SCSI控制器控制器控制器磁盘磁盘磁盘PCI外设总线主板总线操作系统设备管理1设备驱动程序设备驱动程序接口函数一般包含下列子程序:1、驱动程序初始化函数2、驱动程序卸载函数3、申请设备函数4、释放设备函数5、I/O操作函数6、中断处理函数设备驱动程序通常都是在核心状态下运行的,但是驱动程序代码常位于核心之外。操作系统设备管理1显示器的类型 字符显示器 图形显示器 矢量显示器 位映象显示器CRT(阴极射线管显示器Cathode Ray Tube)发光二极管显示器(LDD)液晶显示器(LCD)等离子显示器(PD)显示驱动程序的功能: 将用户程序送来
10、的输出数据转换写入视频缓存。 ASCII (GB) 字型数组 (存储编码) (字库中)操作系统设备管理1 汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用的代码标准。自国家标准GB231280公布以来,我国一直延用该标准所规定的国标码作为统一的汉字信息交换码。 GB231280标准包括了67636763个汉字个汉字,按其使用频度分为一级汉字37553755个和二级汉字30083008个。一级汉字按拼音排序,二级汉字按部首排序。此外,该标准还包括标点符号、数种西文字母、图形、数码等符号682个。 字形存储码 字形存储码是指供计算机输出汉字(显示或打印)用的二进制信息,也
11、称字模。通常,采用的是数字化点阵字模。一般的点阵规模有1616,2424,6464等,每一个点在存储器中用一个二进制位(bit)存储。 为了节省存储空间,普遍采用了字形数据压缩技术。所谓的矢量汉字是指用矢量方法将汉字点阵字模进行压缩后得到的汉字字形的数字化信息。字模点阵只能用来构成汉字库,而不能用于机内存储。字库中存储了每个汉字的点阵代码。当显示输出或打印输出时才检索字库,输出字模点阵,得到字形。 操作系统设备管理1CRTCRT显示器的工作原理显示器的工作原理由电子枪(Electron gun)、偏转线圈(Deflection coils)、荫罩(Shadow mask)、荧光粉层(phosp
12、hor)和玻璃外壳五部分组成。 灯丝加热阴极,阴极发射电子,然后在加速极电场的作用下,经聚焦集聚成很细的电子束,在阳极高压作用下,获得巨大的能量,以极高的速度去轰击荧光粉层。这些电子束轰击的目标就是荧光屏上的三原色。为此,电子枪发射的电子束不是一束,而是三束,它们分别受电脑显卡R、 G、 B三个基色视频信号电压的控制,去轰击各自的荧光粉单元。 操作系统设备管理1 液晶是一种介于固体与液体之间,具有规则性分子排列的有机化合物,一般最常用的液晶型式为向列液晶,分子形状为细长棒形,长宽约1nm10nm,在不同电流电场作用下,液晶分子会做规则旋转90度排列,产生透光度的差别,如此在电源ON/OFF下产
13、生明暗的区别,依此原理控制每个像素,便可构成所需图像。 液晶显示器需要强大的背光系统。背光模组的作用就是把线光源发出的光通过漫反射使之成为面光源在得到均匀的面光源之后,紧贴在背光模组上的液晶面板就负责对光线进行调制以得到最终画面.因为液晶面板比较脆弱,所以需要加入几层玻璃基板来增加强度并起到保护作用。 上下两层相互垂直的偏振膜和被扭转的液晶分子相配合使光线得以被显示信号调制成不同强度的输出信号,液晶上的RGB滤色片(Color Filter,CF)把可见光滤成三原色,进而组成各种颜色来还原画面。操作系统设备管理1键盘驱动程序的功能1、对键入的数据进行加工处理2、将键入数据送至显示器进行回显 打
14、印机针式打印机(点阵打印机):9针、24针、7针、8针 80列(A4)、132列(A3)喷墨打印机 水性喷墨打印机 油性喷墨打印机激光打印机硬字库操作系统设备管理1常见的存储外设1磁带存储设备一条宽1/2英寸,长约700米的磁带,表面平行的涂有79条磁道源盘接受盘操作系统设备管理1硬盘当容量不足时,通常最多可以接4台硬盘盘片:5.25 3.5 2.5 1.8 0.9重要数据的存放位置 0面0道 1面0道磁头复位时才接触盘片逻辑扇区 物理扇区0 1面0道1扇区1 1面0道2扇区. .62 1面0道63扇区63 2面0道1扇区64 2面0道2扇区. . 128 3面0道1扇区操作系统设备管理1I/
15、O系统中数据的传输控制 在一个完整的I/O系统内,包含了I/O设备、设备控制器、通道及相关的管理软件。由于计算机应用领域的拓宽,使得信息的输入输出工作量加大,I/O操作在计算机中占有了重要的地位。好的I/O控制方式,不但有利于提高计算机中CPU与外围设备的并行处理效率,而且还可以形成多种外设间的并行操作。特别是在多通道程序设计环境下,I/O操作控制能力已经成为计算机系统综合处理能力的重要构成因素。操作系统设备管理1 一般选取衡量I/O控制方式的好坏时应考虑如下因素: 1)信息传输效率尽量高,以形成大的吞吐量。 2)I/O系统资源利用率好,实现资源的均衡使用。 3)尽量减少CPU用于进行I/O处
16、理的开销,使CPU效率得以充分发挥。操作系统设备管理1 为此,按照I/O数据传输控制能力的强弱程度,以及CPU与外设并行处理程度的不同,将I/O系统中信息的传输控制方式分为四类:1)程序直接控制方式(CPU直接询问方式)2)中断方式3)DMA方式4)通道方式 这四种方式代表了计算机系统中I/O控制的四个不同的发展阶段。每个阶段的发展都受到计算机硬件组织结构发展变迁的影响。操作系统设备管理1程序直接控制方式程序直接控制方式(CPU(CPU直接询问方式直接询问方式) ) 适用于简单的、外设很少的计算机系统,缺点耗适用于简单的、外设很少的计算机系统,缺点耗费大量的费大量的CPUCPU时间,且设备和时
17、间,且设备和CPUCPU、设备和设备之间只、设备和设备之间只能串行工作,现在已较少使用能串行工作,现在已较少使用。中断方式中断方式 引入了中断机构,在某种程度上使引入了中断机构,在某种程度上使CPUCPU摆脱了等摆脱了等待待I/OI/O设备空转现象,主机和外设可并行工作,提高设备空转现象,主机和外设可并行工作,提高了主机的利用率。缺点中断次数多,每次中断都要作了主机的利用率。缺点中断次数多,每次中断都要作现场保护和恢复工作,系统开销大,占据现场保护和恢复工作,系统开销大,占据CPUCPU时间仍时间仍然较多,且能并行操作的设备的台数也受到中断处理然较多,且能并行操作的设备的台数也受到中断处理时间
18、的限制。时间的限制。操作系统设备管理1DMADMA方式方式( (直接存取方式直接存取方式) ) 采用了外存与内存直接交换数据的方式。只有在一采用了外存与内存直接交换数据的方式。只有在一段数据传送结束时,才发出中断信号要求段数据传送结束时,才发出中断信号要求CPUCPU做善后处做善后处理,从而大大减少理,从而大大减少CPUCPU的负担。的负担。通道方式通道方式 采用了外设和内存直接交换数据的方式。采用了外设和内存直接交换数据的方式。DMADMA方式方式与通道方式的区别在于:与通道方式的区别在于:DMADMA方式要求方式要求CPUCPU执行设备驱动执行设备驱动程序启动设备,给出存放数据的内存起始地
19、址以及操作程序启动设备,给出存放数据的内存起始地址以及操作方式和传送字节长度等;通道则是在方式和传送字节长度等;通道则是在CPUCPU发出发出I/OI/O启动命启动命令后,由通道程序来完成这些工作。令后,由通道程序来完成这些工作。操作系统设备管理1 通道也称为I/O处理机,在通道机构中含有通道指令,每一条通道命令规定了设备的一种操作,由通道指令可构成指挥外设工作的通道程序。不同的计算机系统中,通道的命令格式和命令码可能不同,所以通道程序的编制方式上也是不同的。操作系统设备管理1 在计算机中,按信息交换方式不同,通道可分为三类:1)字节多路通道:它连接控制的是大量的慢速设备,如终端、打印机、磁卡
20、机、纸带机等。2)数组选择通道:对于磁盘、磁鼓这样的快速设备,用按成批方式传送数据的选择通道。选择通道虽然可连接多台高速设备,但一段时间内只能为一台设备服务,只有一个输入或输出请求完成后释放了通道,通道才可再转向另一台设备服务。其工作方式是独占的,利用效率也不高。操作系统设备管理13)数组多路通道:这种通道是将前两者的优点抽取出来所设计的一种效率很高的通道。其信息量的交换按成批方式进行,而通道的占用选用了分时交叉使用的办法,从而在数据传输率及通道利用率两方面都获得了满意的效果。它被认为是多道程序设计技术思想在通道中的体现,广泛用于中、高速外设的连接中。 操作系统设备管理1设备管理中的两种支撑技
21、术中断技术中断(中断(Interrupt) :Interrupt) :指计算机在执行期间,系统内指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得发生任何非寻常的或非预期的急需处理事件,使得CPUCPU暂存中断当前正在执行的程序而转去执行相应的暂存中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行过程。引起中断发生继续执行或调度新的进程执行过程。引起中断发生的事件称为中断源。中断源向的事件称为中断源。中断源向CPUCPU发出的请求中断处发出的请求中断处理信号称为中断请求,而
22、理信号称为中断请求,而CPUCPU收到中断请求后转相应收到中断请求后转相应的事件处理程序称为中断响应。的事件处理程序称为中断响应。操作系统设备管理1开中断开中断关中断关中断(开中断、关中断是为了保证某些程序执行的原子(开中断、关中断是为了保证某些程序执行的原子性。)性。)中断屏蔽中断屏蔽:是通过每一类中断源设置一个中断屏蔽是通过每一类中断源设置一个中断屏蔽触发器来屏蔽它们的中断请求而实现的。不过,触发器来屏蔽它们的中断请求而实现的。不过,有些中断是不能屏蔽中断的甚至不能禁止的。有些中断是不能屏蔽中断的甚至不能禁止的。操作系统设备管理1中断的分类和优先级中断的分类和优先级根据中断产生的条件,可把
23、中断分为外中断和内中断。根据中断产生的条件,可把中断分为外中断和内中断。外中断外中断是指来自处理机和内存外部的中断,在狭义上是指来自处理机和内存外部的中断,在狭义上外中断一般被称为中断。外中断一般被称为中断。内中断内中断主要指在处理机和内主要指在处理机和内存内部产生的中断,一般称为陷阱存内部产生的中断,一般称为陷阱traptrap。为了按中断。为了按中断源的轻重缓急处理响应中断,操作系统对不同的中断源的轻重缓急处理响应中断,操作系统对不同的中断赋予不同的优先级。赋予不同的优先级。操作系统设备管理1软中断软中断:来源于:来源于UNIXUNIX系统,是通信进程之间用来模拟系统,是通信进程之间用来模
24、拟硬中断(中断和陷阱都可以看成是硬中断)的一种硬中断(中断和陷阱都可以看成是硬中断)的一种信号通信方式。信号通信方式。中断处理过程中断处理过程:一旦:一旦CPUCPU响应中断,转入中断处理程响应中断,转入中断处理程序,系统就开始进行中断处理,过程为:序,系统就开始进行中断处理,过程为: 1 CPU 1 CPU检查响应中断的条件是否满足,如果条件不检查响应中断的条件是否满足,如果条件不满足,则中断处理无法进行。满足,则中断处理无法进行。 2 2 如果如果CPUCPU响应中断,则响应中断,则CPUCPU关中断,使其进入不可关中断,使其进入不可再次响应中断的状态。再次响应中断的状态。操作系统设备管理
25、13 3 保存被中断进程现场。保存被中断进程现场。4 4 分析中断原因,调用中断处理子程序。在多个中断分析中断原因,调用中断处理子程序。在多个中断请求同时发生时,处理优先级最高的中断源发出的请求同时发生时,处理优先级最高的中断源发出的中断请求。中断请求。5 5 执行中断处理子程序。执行中断处理子程序。6 6 退出中断,恢复被中断进程的现场或调度新进程占退出中断,恢复被中断进程的现场或调度新进程占据处理机。据处理机。7 7 开中断,开中断,CPUCPU继续执行。继续执行。操作系统设备管理1缓冲技术引入缓冲的原因引入缓冲的原因 在设备管理中,引入缓冲的原因可归结为:在设备管理中,引入缓冲的原因可归
26、结为:1 1 缓缓和和CPUCPU和和I/OI/O设备间速度不匹配的矛盾;设备间速度不匹配的矛盾;2 2 减少中断减少中断CPUCPU的次数,放宽对中断响应的要求;的次数,放宽对中断响应的要求;3 3提高提高CPUCPU、通、通道和道和I/OI/O设备间的并行性,设备间的并行性,从而使系统的资源利用率及吞吐量增高。缓冲的种类缓冲的种类 按组织方式分为单缓冲、双缓冲、多缓冲及缓冲按组织方式分为单缓冲、双缓冲、多缓冲及缓冲池。按使用方式可将缓冲区设置为:专用缓冲区和通池。按使用方式可将缓冲区设置为:专用缓冲区和通用缓冲区。用缓冲区。操作系统设备管理1缓冲技术的实现原理缓冲技术的实现原理 当某个进程
27、进行数据输出操作时,先将数据送入缓冲区,当缓冲区满时再将缓冲区的内容送到输出设备上;反之,当一个进程完成输入操作时,先将输入设备上的数据送入缓冲区,当缓冲区满时,再由CPU将数据取走。在缓冲管理中必须建立缓冲区,缓冲区设定有两种方式:可以采用专门的硬件方法来实现,但会增加硬件成本,除了在关键的地方采用少量必要的硬件缓冲器外,在许多OS中都采用另一种称为软件缓冲的方式,即从主存空间中划定出一个特殊的内存区域作为缓冲区。操作系统设备管理1单缓冲单缓冲: :是在系统的CPU与外设之间只设立一个缓冲区,输入与输出操作全部经该缓冲区来完成。当输入设备占用缓冲区时,输出设备必须处于等待状态;而当输出设备正
28、在缓冲区将数据取走时,输入设备也必须等待,其工作方式是串行完成的。此时,缓冲区成了可共享的临界资源,必须互斥占用,不可能实现并行工作。操作系统设备管理1单缓冲的结构如图单缓冲的结构如图单缓冲单缓冲CPU缓冲区输入设备输出设备操作系统设备管理1双缓冲管理双缓冲管理 为避免单缓冲造成的设备利用率不高的状况,可引入双缓冲技术。为输入或输出分配两个缓冲区,并让两个缓冲区交替工作,形成并行操作的方式。当输入或是输出时,外设先占用一个缓冲区,等当该缓冲区满后,再转去占用另一个缓冲区,同时第一个缓冲区中的数据可被取走,缓冲区可以释放,当另一个缓冲区满后,设备又可转过来占用被释放的缓冲区。这样交替占用的缓冲区
29、,可以使CPU与外设间的并行度进一步提高。操作系统设备管理1x-2 双缓冲操作系统设备管理1 双缓冲技术提高了I/O设备的并行度,但由于在计算机系统中,CPU的速度总是比外设快得多,真正要实现CPU与外设的并行操作,双缓冲技术还不能达到要求。由于计算机中配备有多种外围设备,CPU与外设的速度匹配全部由双缓冲来承担是不实现的。为此,必须使用多缓冲或是缓冲池结构来解决并行问题。操作系统设备管理1多缓冲及缓冲池管理多缓冲及缓冲池管理 多缓冲是把主存中的多个缓冲区组织成两部分,多缓冲是把主存中的多个缓冲区组织成两部分,一部分作为输入缓冲区,另一部分作为输出缓冲区。一部分作为输入缓冲区,另一部分作为输出
30、缓冲区。缓冲池则是将多个缓冲区连接成一个完整的区域,其缓冲池则是将多个缓冲区连接成一个完整的区域,其中每个区既可以作为输入又可以作为输出用。多缓冲中每个区既可以作为输入又可以作为输出用。多缓冲及缓冲池是系统中的共享资源,可供各进程使用,由及缓冲池是系统中的共享资源,可供各进程使用,由系统统一分配和管理,其使用必须互斥。系统统一分配和管理,其使用必须互斥。 操作系统设备管理1缓冲池缓冲池是若干缓冲区的集合,每一个缓冲区有两部是若干缓冲区的集合,每一个缓冲区有两部分:一部分是标识缓冲器和用于管理缓冲首部,分:一部分是标识缓冲器和用于管理缓冲首部,另一部分是保存信息的缓冲体。这两部分有一一另一部分是
31、保存信息的缓冲体。这两部分有一一对应的映射关系。缓冲池中所有缓冲区,按存储对应的映射关系。缓冲池中所有缓冲区,按存储信息的性质,可以分成空缓冲区、输入缓冲区和信息的性质,可以分成空缓冲区、输入缓冲区和输出缓冲区,分别组成三个队列:空缓冲区队列输出缓冲区,分别组成三个队列:空缓冲区队列列,输入缓冲区队列及输出缓冲区队列列,输入缓冲区队列及输出缓冲区队列 。对每个。对每个缓冲区队列可以由缓冲区队列可以由getbufgetbuf和和putbufputbuf过程实现从某过程实现从某种类型缓冲区队列取出缓冲区和将缓冲区加入某种类型缓冲区队列取出缓冲区和将缓冲区加入某种类型缓冲区队列的操作。种类型缓冲区队
32、列的操作。操作系统设备管理1I/O类外设:显示器、键盘、打印机、扫 描仪、传感器、 控制杆、鼠标等存储类型的设备:磁盘设备、磁带设备、光盘等网络通信设备:网络接口、调制解调器等总线结构、驱动程序、显示器、打印机、光驱按设备的隶属关系:系统设备、用户设备按信息组织方式:字符设备、字块设备从资源分配角度:独占设备、共享设备、虚拟设备按传输速率角度:低速设备、中速设备、高速设备操作系统设备管理11)程序直接控制方式(CPU直接询问方式)2)中断方式3)DMA方式4)通道方式中断:中断源、中断请求、中断响应、中断的处理过程缓冲:单缓冲、双缓冲、多缓冲、缓冲池操作系统设备管理1I/O软件1.I/O软件的
33、设计目标: 提高主机和外设的并行工作能力,提高效率;为用户提供一个简便、易用的逻辑设备接口,保证用户安全、方便地使用各类设备。 与设备无关 统一命名 对错误的处理 缓冲技术 设备的分配和释放 I/O控制方式操作系统设备管理1用户层软件设备独立性软件设备驱动程序中断处理程序硬件中断处理程序I/O应答产生I/O请求、格式化I/O、Spooling映射、保护、分块、缓冲、分配设置寄存器、检查寄存器状态执行I/O操作I/O系统的层次及功能操作系统设备管理12.2.中断处理流程中断处理流程终端中断终端中断处理程序处理程序磁盘中断磁盘中断处理程序处理程序放回被中断放回被中断进程继续执行进程继续执行分析中断
34、原因,转分析中断原因,转入入相应的中断处理程相应的中断处理程序序打印机中断打印机中断处理程序处理程序恢复被中断进恢复被中断进程的程的CPU现场现场唤醒被阻塞的唤醒被阻塞的驱动程序进程驱动程序进程对被中断进程的对被中断进程的CPU环境进行保护环境进行保护中断请求信号中断请求信号操作系统设备管理13.设备驱动程序 设备驱动(设备处理程序),是进程与设备控制器之间的通信程序,也简称为设备驱动进程。用于接受上层软件发来的抽象的I/O要求,转换为具体要求后发送给设备控制器,启动设备去执行,也将由设备控制器发来的信号传送给上层软件。操作系统设备管理1设备驱动程序的功能: 接受由设备独立性软件发来的命令和参
35、数,并将命令中的抽象要求转换为具体要求。 检查用户I/O请求的合法性,了解设备状态,传递参数,设置设备的工作方式 发出I/O命令。如果设备空闲将立即启动设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请求者的请求块挂在设备队列上等待。 及时响应由设备控制器或通道发出的请求,并进行中断处理操作系统设备管理1设备处理方式1.为每一类设备设置一个进程,专门用于执行这类设备的I/O操作。(如:为所有的交互式终端设置一个交互式终端进程,为同一类型的打印机设置一个打印进程。)2.在整个操作系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作,也可以设置一个输入进程和一个输出进程,分别
36、处理系统中所有设备的输入或者输出操作。3.不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。操作系统设备管理1设备驱动程序特点: 驱动程序是在请求I/O的进程与设备控制器之间的一个通信和转换程序。 驱动程序与设备控制器和I/O设备的硬件特性紧密相关,不同类型的设备配置不同的驱动程序。 驱动程序与I/O设备所采用的I/O控制方式紧密相关,常用的I/O控制方式是中断驱动和DMA方式。 因驱动程序和硬件紧密相关,其中一部分用汇编语言编写,目前很多驱动程序已经固化在ROM中。 驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用 驱动程序不
37、允许系统调用。操作系统设备管理1设备独立(无关)性 在计算机系统中,可以配置的外设品种繁多。而且在小型机以上的计算机系统中,可以同时接入多台同样的外设。为了便于对这些外设进行管理,系统对每台进入计算机系统中的设备都给定一个对应的编号,作为调用时识别和区分设备用。这种编号无任何重复,一般被称为设备的绝对号(或物理设备名)设备的绝对号(或物理设备名)。设备分配 操作系统设备管理1 有了设备的绝对号,系统在管理过程中对设备的调用变得简单而方便。但作为用户而言,如果直接让其用绝对号来申请设备,就会造成用户在使用中极不方便。特别是在多通道程序环境下,用户想查找哪台设备是空闲的,哪台是被占用的,根本是不可
38、能的。有时申请的设备可能刚好很忙,而未被申请的其他同类设备即使处于空闲状态也不能使用,造成了设备使用的灵活性降低,设备利用率差。所以在系统中一般不允许用户用绝对号来直接申请所需的设备。操作系统设备管理1 为了方便用户,也为了提高外设利用率,在计算机中规定用户申请外设时,只需要向系统说明所需用的某类设备,至于真正在实际中使用哪台设备,由系统根据这类设备的应用情况作出分配。即使用户所需多台同样的设备,系统也允许用户按自己的使用要求提出编号,这种由用户申请设备时所用的编号称为设备相对号(或称逻辑设备名)设备相对号(或称逻辑设备名)操作系统设备管理1 用户编制程序使用的逻辑设备独立于系统实际用户编制程
39、序使用的逻辑设备独立于系统实际配置的物理设备,这就是设备的独立性配置的物理设备,这就是设备的独立性。具备设备。具备设备独立性的计算机系统中,用户编程时只考虑逻辑设独立性的计算机系统中,用户编程时只考虑逻辑设备,系统调用的是物理设备,逻辑设备与物理设备备,系统调用的是物理设备,逻辑设备与物理设备间的转化工作由设备分配程序来完成。当某台设备间的转化工作由设备分配程序来完成。当某台设备坏了,只要系统改变分配就行了,而程序本身不必坏了,只要系统改变分配就行了,而程序本身不必做任何修改。这对方便用户,改善资源利用率、提做任何修改。这对方便用户,改善资源利用率、提高系统的可扩展性和可适应性都有极大的好处。
40、高系统的可扩展性和可适应性都有极大的好处。操作系统设备管理1 例如,有、号打印机,作业J1要申请其中两台,如果让J1直接申请号、号打印机,此时,如果号打印机为另一作业J2占用,或者是其中一台打印机坏了,即使系统中还有两台可用,J1也必须等待,造成资源浪费。如能让作业J1按相对号来申请设备,则可以避免这种缺陷。J1只要提出某类设备两台,系统可将剩下的两台分给J1,J1就可运行。设备得到充分利用。操作系统设备管理1 设备分配算法的数据结构 任何算法的实现都离不开数据结构的支撑,在设备分配算法中也不例外.不同的系统中对设备分配算法的建立方式上有所不同, 可能会导致所选择的数据基不同。 但作为在多道环
41、境下的设备分配,不仅只是对设备的分配,而且还要实现与设备相联的通道及设备控制器的分配。操作系统设备管理14.设备独立性软件 现代OS中都实现了设备独立性(Device Independence),也称为设备无关性:应用程序独立于具体使用的物理设备。在应用程序中使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,必须使用物理设备名称,因此系统具有将逻辑设备名转换为物理设备名的功能。 设备独立性的好处: 设备分配的灵活性 易于重定向操作系统设备管理1设备独立性软件为了实现设备独立性在驱动程序上设置的软件称为设备独立性软件 主要功能:逻辑设备名到物理设备名映射的实现1.逻辑设备表(Logical
42、 Unit Table)逻辑设备名物理设备名驱动程序入口地址/dev/tty31024/dev/printer52046执行所有设备的公有操作向用户层软件提供统一接口。逻辑设备名系统设备表指针/dev/tty3/dev/printer5逻辑设备表逻辑设备表操作系统设备管理1 在分配算法的实现中,常采用的数据基主要含下述四张表,即 1)系统设备表SDT, 2)设备控制表DCT, 3)控制器控制表COCT, 4)通道控制表CHCT 。 这四张表在分配算法中形成了一个有机整体,有效地记录了外设资源在系统中的情况,设备的每一次分配调用都与这四张表有关。 操作系统设备管理11.系统设备表SDT(Syst
43、em Device Table): 在在SDTSDT表中,每个接入系统中的外围设备都占有表中,每个接入系统中的外围设备都占有一个表目项。登录了该设备的名称、标识及设备控制一个表目项。登录了该设备的名称、标识及设备控制表表DCTDCT的入口地址等相关的信息。的入口地址等相关的信息。SDTSDT表在整个系统中表在整个系统中只有一张,全面反映了系统中的外设资源的类型、数只有一张,全面反映了系统中的外设资源的类型、数量、占用情况等。每个表项的内容有量、占用情况等。每个表项的内容有:1 DCT:1 DCT指针,该指针,该指针指向有关设备的设备控制表;指针指向有关设备的设备控制表;2 2 正在使用设备的正
44、在使用设备的进程标识;进程标识;3 3 设备类型和设备标识符。设备类型和设备标识符。操作系统设备管理12.设备控制表DCT(Device Control Table) :系统中的每台设备都有一张DCT。在DCT中充分体现出了设备的各方面特征,以及与该设备相连的I/O控制器的情况,。其内容如下:1、设备标识符,用来区别设备;2、设备类型,反映设备的特性; 3、设备地址和设备号;4、设备状态;5、等待队列指针;6、I/O控制器指针。操作系统设备管理1 3.3.控制器控制表控制器控制表COCT(Controller Control Table)COCT(Controller Control Tabl
45、e) : :每个控制器都有一张每个控制器都有一张COCTCOCT,它反映,它反映I/OI/O控制器的使用控制器的使用状态以及和通道的连接情况等(在状态以及和通道的连接情况等(在DMADMA方式时,该项方式时,该项是没有的)。具体表项如下:控制器标识;控制器状是没有的)。具体表项如下:控制器标识;控制器状态;态;CHCTCHCT指针指针; ;控制器等待队列首;控制器等待队列控制器等待队列首;控制器等待队列尾等。尾等。4.4.通道控制表通道控制表CHCT(Channel Control Table)CHCT(Channel Control Table):CHCT CHCT 表反映了通道的情况,系统
46、中的每个通道一张表反映了通道的情况,系统中的每个通道一张CHCTCHCT。其内容如下:通道标识符;其内容如下:通道标识符; 通道状态;通道等待队通道状态;通道等待队列首;通道等待队列尾等。列首;通道等待队列尾等。操作系统设备管理1表目表目i设备类型设备标识符DCT驱动入口DCT1DCT2DCTn设备类型:type设备标识符:deviceid设备状态:等待/不等待 忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针控制器标识符:controllerid控制器状态:忙/闲与控制器相连的通道表指针控制器队列的队首指针控制器队列的队尾指针通道标识符:channelid通道状态与通道相连的控制
47、器表首址通道队列的队首指针通道队列的队尾指针操作系统设备管理1设备分配原则1设备分配原则:1)1)充分发挥设备的使用效率;充分发挥设备的使用效率;2)2)避免不合理分配算法造成进程死锁;避免不合理分配算法造成进程死锁;3)3)把用户程序和具体的物理设备隔离开来。把用户程序和具体的物理设备隔离开来。 操作系统设备管理12.设备分配方式: 在设备分配中分配方式主要有两种:静态分配与动态分配。 静态分配方式主要适用对独占型设备的分配,这种类型的分配在使用上必须是互斥地占用。通常是在某个作业执行之前,根据作业需求,全部一次性分出,当作业撤离时,再由系统收回。由于是预分配,一般不会出现死锁,但设备使用效
48、率低,不符合设备分配的总原则。操作系统设备管理1 动态分配的方式则是由进程在执行中再来动态申请,资源分配的灵活性大,利用率高。在此方式下,设备不是进行预分配,而是用时向系统提出设备请求,一旦用完便立即释放,缺点是如果分配算法使用不当,则有可能造成进程死锁。 系统对设备分配的常见措施:1先请求先分配;2 优先级高者先分配。操作系统设备管理1(1)(1)先请求先分配先请求先分配:当若干进程对某一设备提出I/O请求时,得不到满足须排入等待队列中。这些进程由于申请的有先后次序,故排入等待队列的次序也是不相同的。当该设备被归还给系统后,就可以重新分配,此时,系统根据进程在等待队列中排队的先后次序进行设备
49、分配。(2)(2)优先级高优先分配优先级高优先分配:在分配中,进程的优先级起了决定作用,即进程的优先级高,它的I/O请求也优先考虑。当从等待某设备的进程队列中挑选下一个可占用设备的进程时,按进程的优先级来处理。高优先级的进程先分配,同优先级的,先申请先分配。操作系统设备管理13.3.独占设备分配程序独占设备分配程序( (算法):算法): 在具有通道的I/O系统中,基本的设备分配程序(对各资源的分配顺序)步骤为: (a)分配设备 ;(b )分配控制器;( c )分配通道。 4 4 影响设备分配的因素:影响设备分配的因素:1 1)I/OI/O设备的固有属性:对于不同属性的设备,通设备的固有属性:对
50、于不同属性的设备,通常采用相应的分配算法。常采用相应的分配算法。2 2)设备分配算法。)设备分配算法。3 3)设备分配的安全性:即避免死锁的发生。)设备分配的安全性:即避免死锁的发生。4 4)设备的独立性)设备的独立性操作系统设备管理1共享设备的驱动调度配置在计算机中的共享设备,由于在使用特征上表现为在同一时间段内允许多作业的进程交替占用,故这类设备在分配方式上就不可能将设备只分给某个进程使用。所以,对共享设备的分配,实质上变成了决定设备在某一时刻到底被谁启动、为谁服务的问题,也就是常说的驱动调度问题。不同的共享设备,由于其构造特征不同,所采用的驱动调度策略也会有差别。以共享设备磁盘来讨论驱动
51、调度问题。操作系统设备管理1操作系统设备管理1磁盘的访问时间构成 磁盘的物理构造决定了一次磁盘的磁盘的物理构造决定了一次磁盘的I/OI/O操作,物理操作,物理记录的位置必须由柱面号,磁头号(盘面号),扇区记录的位置必须由柱面号,磁头号(盘面号),扇区号三个参数共同确定,如何确定这三个参数是磁盘访号三个参数共同确定,如何确定这三个参数是磁盘访问成功的关键。对磁盘的访问时间包括以下三部分:问成功的关键。对磁盘的访问时间包括以下三部分:查找(寻道)时间:磁头在移动臂带动下移到指定柱查找(寻道)时间:磁头在移动臂带动下移到指定柱面所需的时间。面所需的时间。旋转延迟(延迟)时间:指定的扇区旋转到磁头位置
52、旋转延迟(延迟)时间:指定的扇区旋转到磁头位置所需的时间。所需的时间。传输时间:由磁头把扇区中信息读到主存储器或把主传输时间:由磁头把扇区中信息读到主存储器或把主存储器中信息写到扇区中所需的时间。存储器中信息写到扇区中所需的时间。操作系统设备管理1 由由上述上述三三个时间个时间之和构成了一次磁盘之和构成了一次磁盘I/OI/O访问的时访问的时间。要使磁盘利用率高,应尽量减少每次间。要使磁盘利用率高,应尽量减少每次I/OI/O操作的访操作的访问时间,增加单位时间内的问时间,增加单位时间内的I/OI/O操作吞吐量。为操作吞吐量。为此此系统系统应采用一定的管理对策,决定当有多个访问请求发生应采用一定的
53、管理对策,决定当有多个访问请求发生时,让哪个访问者被先访问,这个管理对策被称为时,让哪个访问者被先访问,这个管理对策被称为“驱动调度驱动调度”。具体的磁盘驱动调度算法分为两部分:具体的磁盘驱动调度算法分为两部分:移臂调度算法和旋转调度算法。移臂调度控制的是查移臂调度算法和旋转调度算法。移臂调度控制的是查找操作的先后次序;而旋转调度控制的是哪个扇区先找操作的先后次序;而旋转调度控制的是哪个扇区先被访问的问题。磁盘工作时,应先完成移臂调度,然被访问的问题。磁盘工作时,应先完成移臂调度,然后再进行旋转调度。后再进行旋转调度。操作系统设备管理1移臂调度移臂调度 目前广泛使用的查找策略有:目前广泛使用的
54、查找策略有: 1先来先服务查找算法(FCFS) 这是一种最简单的移臂调度算法,它只考虑对磁盘请求的先后次序,而不考虑访问的物理位置,所有对磁盘有I/O请求的进程先去等待队列中排队,排在先的先给予服务。该算法对于访问进程是平等的。这种算法当访问请求分布不好时,可能会造成磁臂反复来回移动,增加总的访问时间,无法实现查找优化,只适用于访问请求不太多的情况。操作系统设备管理1 图 FCFS算法操作系统设备管理12最短查找时间优先的算法(SSFT,Shortest-Seek-Time-First) 这个算法是FCFS算法的改进。它总是选择请求队列中离当前磁头所在柱面最近的下一个柱面作为即将访问的对象,而
55、不管请求访问者到达请求队列的先后次序。此算法克服了FCFS算法中磁臂大幅度来回移动的缺陷,在吞吐量上有所提高。但对访问者的服务机会是不均衡的,有时会造成内外边缘磁道上的请求被无限推迟响应的现象。操作系统设备管理13扫描算法(SCAN): 该算法是为了克服SSTF算法的缺点而提出的一种查找优化的算法,在SSTF算法中只考虑了请求访问的柱面与磁头当前所处位置的距离,而不考虑磁臂的移动方向。而SCAN算法则既要考虑距离,也要考虑方向,且方向优先考虑。SCAN算法在选下一个访问者时,先选与磁臂移动方向一致的访问请求,在此基础上,选出与磁头当前柱面最近距离的柱面作为下一个访问对象。此方法与自然界中电梯工
56、作的方式极为相象,故也称“电梯调度”算法。 操作系统设备管理1 SCAN算法是一种高效率的算法。它很好地解决了磁头来回移动浪费时间的现象,使系统吞吐量增大,资源利用率好。在实际的磁盘调度策略的使用中,多以SCAN算法为主。在此基础上又演变出了下面的两种算法:N步扫描法与循环扫描法。操作系统设备管理1.N步扫描(N-Step-SCAN)与循环扫描(CSCAN)法 N步扫描算法将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法一次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完之后,再处理其他队列。当正在处理某子队列时,如果出现新的磁盘请求,就将其放入其他队列
57、,可以避免出现粘着现象。 CSCAN循环扫描法也称单向扫描,它对请求者的服务总是每次从柱面号开始,然后移动至最大柱面。遇着访问进行服务。一次完后,磁头再次返回号柱面,又重复上述步骤。操作系统设备管理1图(a)N步扫描操作系统设备管理1(b)循环扫描操作系统设备管理1旋转调度 通过移臂调度后,确定了访问的柱面号,当在同一柱面上有多个访问者等待访问时,如何安排访问者的访问次序?这就是旋转调度应解决的问题。旋转调度应以尽量减少旋转延迟时间为目的。下面介绍一种常见的“最短延迟时间优化”的策略。该方法以时间为衡量指标,对同一柱面上扇区的访问请求不是按申请的先后次序来读写,而是经过重新排序后再处理,使时间
58、上大大缩短。操作系统设备管理1例如:假设号柱面上有四个访问者,它们的访问请求次序如下: 请求次序柱面号磁头号扇区号请求次序柱面号磁头号扇区号()() ()() ()() ()() 操作系统设备管理1 若如不进行优化处理,处理完这四个访问请求若如不进行优化处理,处理完这四个访问请求可能需要两周的旋转时间。而采用(),(),可能需要两周的旋转时间。而采用(),(),(),()的次序处理,一周就可全部访问完(),()的次序处理,一周就可全部访问完毕,节省了一半的时间。毕,节省了一半的时间。有时几个访问请求所需的可能是同一柱面,有时几个访问请求所需的可能是同一柱面,不同磁头号所对应的同一扇区,这样会造成这些扇不同磁头号所对应的同一扇区,这样会造成这些扇区同时到达磁头位置下,这时候可以按请求的先后区同时到达磁头位置下,这时候可以按请求的先后次序,先请求的先读写(也可次序,先请求的先读写(也可从中任选一个磁头从中任选一个磁头进行读写操作)。进行读写操作)。操作系统设备管理1FCFSFCFS算法算法例:从例:从5353# #磁道开始磁道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论