第8章 设备管理_第1页
第8章 设备管理_第2页
第8章 设备管理_第3页
第8章 设备管理_第4页
第8章 设备管理_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

第8章设备管理8.1引言8.2数据传送控制方式8.3中断技术8.4缓冲技术8.5设备分配8.6I/O进程控制8.7设备驱动程序

文件系统的主要功能有哪些?逻辑文件发能为几类?物理文件有几类?优缺点?成组块链的分配过程(示意图)?磁盘结构中的物理块通常使用哪些参数描述?

根据磁盘结构特点,如何访问磁盘速率较高?思考题

I/O设备的特点

1)I/O性能经常成为系统性能的瓶颈

CPU性能不等于系统性能;

响应时间也是一个重要因素

CPU性能越高,与I/O差距越大; 弥补:多进程并发执行进程切换多,系统开销大;

2)OS中设备资源多、杂,并发性受I/O影响大外设种类繁多,结构各异;输入输出数据信号类型不同;速度差异很大;8.1引言

I/O设备的特点

3)理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键。

4)与其他功能联系密切,特别是文件系统8.1引言

设备分类

1)按使用特性分:存储型设备输入型设备(外设主机)输出型设备(主机外设)

输入输出型设备(交互型设备)

2)按数据组织分

块设备:以数据块为单位存储、传输信息,如磁盘、磁带等;

字符设备:以字符为单位存储、传输信息,键盘、终端、打印机;8.1引言

设备分类

3)按资源分配角度分

独占设备在一段时间内只能有一个进程使用的设备,一般为低速I/O设备(如打印机,磁带等);共享设备在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘);8.1引言

设备分类

4)按设备的从属关系系统设备系统设备是指那些在操作系统生成时就已配置好的各种标准设备。例如:键盘、打印机以及文件存储设备等。用户设备用户设备则是那些在系统生成时没有配置,而由用户自己安装配置后由操作系统统一管理的设备。例如,网络系统中的各种网板、图像处理系统的图像设备等。8.1引言

设备分类

4)从程序使用角度分逻辑设备、物理设备

5)按数据传输率分高速设备、低速设备8.1引言8.1引言

设备管理的功能和任务(1)选择和分配设备;(2)控制设备和CPU(或内存)之间交换数据;(3)为用户提供友好的透明接口,便于用户使用;(4)保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作。(5)保护设备传送或管理的数据应该是安全的、不被破坏的、保密的8.1引言

设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送。选择和衡量控制方式有如下几条原则:

(1)数据传送速度足够高;

(2)系统开销小,所需的处理控制程序少;

(3)能充分发挥硬件资源的能力,使得I/O设备尽量忙,而CPU等待时间少。8.2数据传送方式

外围设备和内存之间的常用数据传送控制方式有4种。即:

(1)程序直接控制方式;

(2)中断控制方式;

(3)DMA方式;

(4)通道方式。8.2数据传送方式

程序直接控制方式由用户进程来直接控制内存或CPU和外围设备之间的信息传送。这种方式的控制者是用户进程。当用户进程需要传输数据时,它通过CPU发出启动设备命令,然后,用户进程进入测试等待状态,直到相应设备空闲,且准备好,即开始传输数据。8.2数据传送方式

程序直接控制方式优点:控制简单,不需要多少硬件支持;

缺点:(1)CPU和外围设备串行工作,CPU利用率低;(2)CPU只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作;(3)由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。因此,该方式只适用于CPU速度慢,外围设备较少的系统。8.2数据传送方式中断方式为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程度,中断(interrupt)方式被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,且在设备控制器的控制状态寄存器中保存中断允许位。数据的输入步骤:

(1)进程通过CPU发出启动外围设备准备数据指令,同时将中断允许位置1,以便在需要时,中断程序可以被调用执行。8.2数据传送方式8.2数据传送方式中断方式

(2)在进程发出指令启动设备之后,该进程放弃处理机,等待输入完成。

(3)当输入完成时,I/O控制器通过中断请求线向CPU发出中断信号。CPU在接收到中断信号之后,转向中断处理程序对数据进行处理。

(4)进程调度选中该进程后,该进程即从约定的内存特定单元中取出数据继续工作。中断控制方式的处理过程:8.2数据传送方式8.2数据传送方式中断方式优点:中断方式支持多道程序和设备的并行操作,提高CPU利用率缺点:(1)中断发生在I/O设备数据缓冲器装满数据时,而数据缓冲器通常较小,因此,一次数据传送发生中断次数较多,将耗去大量CPU处理时间。(2)如果很多设备通过中断处理方式进行并行操作,则OS可能由于中断次数急剧增加而造成CPU无法响应中断和出现数据丢失现象。(3)如果外围设备速度较高,可能造成数据缓冲器的数据由于CPU来不及取走而丢失。8.2数据传送方式

DMA(DirectMemoryAccess)又称直接存取方式。基本思想是在外围设备和内存之间开辟直接的数据交换通路。在DMA方式中,I/O控制器具有比中断方式和程序直接控制方式时更强的功能。

DMA方式采用窃取或挪用系统的总线控制权把数据直接送到内存。即,DMA控制器可用来代替CPU控制内存和设备之间进行成批的数据交换。8.2数据传送方式DMA方式

DMA方式除了在数据块传送开始时需要CPU的启动指令和在整个数据块传送结束时需发中断通知CPU进行中断处理之外,不再像中断控制方式时那样需要CPU的频繁干涉。DMA方式的数据输入处理过程如下:(1)当进程输入数据时,CPU把内存始址和要传送的字节数送入DMA控制器;中断允许位和启动位置1;从而启动设备开始进行数据输入。8.2数据传送方式图8.5DMA方式的传送结构8.2数据传送方式

DMA方式

(2)发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。

(3)输入设备不断地挪用CPU工作周期,直到所要求的字节全部传送完毕。

(4)DMA控制器在传送字节数完成时通过中断请求线发出中断信号,CPU在接收到中断信号后转中断处理程序进行善后处理。

(5)中断处理结束时,CPU返回被中断进程处执行或被调度到新的进程上下文环境中执行。DMA方式的处理过程如图8.6所示。8.2数据传送方式8.2数据传送方式

DMA方式

DMA方式与中断方式的主要区别:(1)中断方式时是在数据缓冲寄存器满之后发中断要求CPU进行中断处理,而DMA方式则是在所要求转送的数据块全部传送结束时要求CPU进行中断处理。减少了CPU进行中断处理的次数。(2)中断方式的数据传送由CPU控制完成,而DMA方式是在DMA控制器的控制下完成的。这就排除了因并行操作设备过多时CPU来不及处理或因速度不匹配而造成数据丢失等现象。8.2数据传送方式

DMA方式优点:减少了中断次数,DMA控制器与CPU并行,避免了设备缓冲器中的数据丢失问题;缺点:(1)DMA方式对外围设备的管理和某些操作仍由CPU控制。(2)功能较差,不能满足复杂的I/O要求。因此,大中型计算机系统中除了设置DMA器件,还设置专门的硬件装置—通道。8.2数据传送方式通道控制方式通道又称输入输出处理器,它能完成主存储器和外围设备之间的信息传送,与中央处理器并行地执行操作。此外,外围设备和中央处理器能实现并行操作;通道和通道之间能实现并行操作;各通道上的外围设备也能实现并行操作,以达到提高整个系统效率这一根本目的。(优点)8.2数据传送方式

通道控制方式具有通道装置计算机的主机、通道、控制器和设备之间采用四级连接,实施三级控制。通常,一个中央处理器可以连接若干通道,一个通道可以连接若干控制器,一个控制器可以连接若干台设备。中央处理器执行输入输出指令对通道实施控制,通道执行通道命令(CCW)对控制器实施控制,控制器发出动作序列对设备实施控制,设备执行相应的输入输出操作。8.2数据传送方式

通道控制方式输入输出过程如下:(1)CPU遇到IO请求,启动指定通道上的外设;(2)通道启动成功,通道进行IO操作;(3)此时,CPU与通道并行工作;(4)IO结束,通道发出中断请求;(5)CPU响应请求,处理IO操作结束事件。(6)中断处理结束后,CPU调度进程运行。8.2数据传送方式

通道控制方式通道分类:按照信息交换方式和加接设备种类不同,通道可分为三种类型:(1)字节多路通道。连接大量慢速外围设备,如软盘机、纸带机、卡片机等。以字节为单位交叉地为多个设备轮流服务。(2)选择通道。它用于连接高速磁带机和磁盘机等设备。选择通道在一段时间内只能执行一个通道程序,选择一台设备进行数据传输,传输完成后再选择另一设备。8.2数据传送方式

通道控制方式通道分类:(3)数组多路通道。对于磁盘类似设备,虽然传输时间短,但移臂定位时间长。使用选择通道在移臂时间内,通道只能空等。数组多路通道则先为一台设备执行一条通道命令,然后再为另一台设备执行一条通道命令。对于若干台磁盘机,可以按次序交叉传输一批批信息,这样就避免了移臂操作过长地占用通道。数组多路通道的实质是:对通道程序采用多道程序设计技术的硬件实现。8.2数据传送方式8.2数据传送方式8.2数据传送方式

中断的概念中断(Interrupt)是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。引起中断发生的事件被称为中断源。中断源向CPU发出的请求中断处理信号称为中断请求,而CPU收到中断请求后转相应的事件处理程序称为中断响应。8.3中断技术系统允许CPU响应中断称为禁止中断。禁止中断也称为关中断,PSW的中断允许位的设置也被称为开中断。中断请求、关中断、开中断等都由硬件实现。其中开中断和关中断是操作原语。中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。8.3中断技术

中断的分类与优先级操作系统一般对中断进行分类并对不同的中断赋予不同的处理优先级,以便在不同的中断同时发生时,按轻重缓急进行处理。根据中断源产生的条件,可把中断分为外中断和内中断。

外中断指来自处理机和内存外部的中断,包括I/O中断、外部信号中断、时钟中断、调试中断等。外中断在狭义上一般被称为中断。8.3中断技术中断的分类与优先级内中断主要指在处理机和内存内部产生的中断。内中断一般称为陷阱(trap)。它包括程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行系统调用指令、分时系统中的时间片中断以及从用户态到核心态的切换等都是陷阱的例子。8.3中断技术

中断和陷阱的区别

(1)陷阱由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。

(2)陷阱处理程序提供的服务为当前进程所用,而中断处理程序的服务则不是为了当前进程的。

(3)CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。8.3中断技术软中断中断和陷阱都可以看作是硬中断,因为这些中断和陷阱要通过硬件产生相应的中断请求。软中断是通信进程之间用来模拟硬中断的一种信号通信方式。相同:其中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。8.3中断技术中断处理过程一旦CPU响应中断,转入中断处理程序,系统就开始进行中断处理。

(1)CPU检查响应中断的条件是否满足:有中断请求、CPU允许中断。

(2)如果CPU响应中断,则CPU关中断,使其进入不可再次响应中断的状态。

(3)保存被中断进程现场。必须保存处理机状态字PSW和程序计数器PC等的值。8.3中断技术中断处理过程

(4)分析中断原因,调用中断处理子程序。

(5)执行中断处理子程序。

(6)退出中断,恢复被中断进程的现场或调度新进程占据处理机。

(7)开中断,CPU继续执行。8.3中断技术

缓冲的引入(1)匹配外设与CPU之间的处理速度;(2)减少中断次数和CPU的中断处理时间;(3)解决DMA或通道方式时的瓶颈问题;为此,在设备管理中引入了用来暂存数据的缓冲技术。硬缓冲:在设备中设置缓冲区,由硬件实现。软缓冲:在内存中开辟一个空间,用作缓冲区。8.4缓冲技术

缓冲的种类根据系统设置的缓冲器的个数,可把缓冲技术分为单缓冲、双缓冲和多缓冲以及缓冲池几种。单缓冲是在设备和处理机之间设置一个缓冲器。设备和处理机交换数据时,先把被交换数据写入缓冲器,然后,需要数据的设备或处理机从缓冲器取走数据。由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作,因此,设备和设备之间不能通过单缓冲达到并行操作。8.4缓冲技术缓冲的种类解决两台外设、打印机和终端之间的并行操作问题的办法是设置双缓冲。有了两个缓冲器之后,CPU可把输出到打印机的数据放入其中一个缓冲器(区),让打印机慢慢打印;然后,它又可以从另一个为终端设置的缓冲器(区)中读取所需要的输入数据。8.4缓冲技术

缓冲的种类现代计算机系统中一般使用多缓冲或缓冲池结构。多缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。缓冲池则是把多个缓冲区连接起来统一管理,既可用于输入又可用于输出的缓冲结构。显然,无论是多缓冲,还是缓冲池,由于缓冲器是临界资源,在使用缓冲区时都有一个申请、释放和互斥的问题。8.4缓冲技术

缓冲池的结构缓冲池由多个缓冲区组成。而一个缓冲区由两部分组成:一部分是用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。这两部分有一一对应的映射关系。对缓冲池的管理是通过对每一个缓冲器的缓冲首部进行操作实现的。缓冲首部包括设备号、设备上的数据块号(块设备时)、互斥标识位以及缓冲队列连接指针和缓冲器号等。8.4缓冲技术缓冲池的结构系统把各缓冲区按其使用状况连成三种队列:(1)空白缓冲队列em,其队首指针为F(em),队尾指针为L(em);(2)装满输入数据的输入缓冲队列in,其队首指针为F(in),队尾指针为L(in);(3)装满输出数据的输出缓冲队列out,其队首指针为F(out),队尾指针为L(out)。8.4缓冲技术图8.10缓冲区队列8.4缓冲技术

缓冲池的结构除了三种缓冲队列之外,申请并获得、处于正在使用的缓冲器称为工作缓冲区。在缓冲池中,有4种工作缓冲区,即:(1)用于收容设备输入数据的收容输入缓冲区hin;(2)用于提取设备输入数据的提取输入缓冲区sin;(3)用于收容CPU输出数据的收容输出缓冲区hout;(4)用于提取CPU输出数据的提取输出缓冲区sout。8.4缓冲技术图8.11缓冲池的工作缓冲区8.4缓冲技术概念当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换。8.5设备分配

设备独立性通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其他途径建立逻辑设备和物理设备之间的对应关系,称设备的这种特性为“设备独立性”。优点:用户应用程序与物理设备无关,系统增减或变更物理设备时程序不必修改;易于对付输入输出设备的故障;提高了系统的可靠性,增加了外围设备分配的灵活性,能更有效地利用外围设备资源,实现多道程序设计技术。8.5设备分配数据结构(1)系统设备表SDT(2)设备控制块DCB(设备控制表DCT)(3)通道控制块CHCB(通道控制表CHCT)(4)控制器控制块COCB(控制器控制表COCT)8.5设备分配

数据结构

1、系统设备表SDT

整个系统一张表,记录系统中所有I/O设备的信息,为每个物理设备设一表项。表目包括:设备类型、设备标识符、进程标识符、DCT表指针等。

2、设备控制表DCT

每个物理设备一张表,包括设备类型、设备标识符、设备状态、与此设备相连的COCT、等待队列的队首和队尾指针、I/O程序地址等。设备表8.5设备分配

数据结构

3、控制器表COCT(COntrolerControlTable)

每个控制器一张,它反映I/O控制器的使用状态以及和通道的连接情况等。

4、通道控制表CHCT(CHannelControlTable)

每个通道一张。包括通道标识符、通道忙/闲标识、等待获得该通道的进程等待队列的队首指针与队尾指针等;显然,一个进程只有获得了通道、控制器和所需设备三者之后,才具备了进行I/O操作的物理条件。8.5设备分配图8.12数据结构表8.5设备分配设备分配的原则设备分配的总原则是既要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免由于不合理的分配方法造成进程死锁;另外还要做到把用户程序和具体物理设备隔离开来,即用户程序面对的是逻辑设备,而分配程序将在系统把逻辑设备转换成物理设备之后,再根据要求的物理设备号进行分配。8.5设备分配设备分配的原则

静态分配方式是在用户作业开始执行之前,由系统一次分配该作业所要求的全部设备、控制器和通道。静态分配方式不会出现死锁,但设备的使用效率低。

动态分配在进程执行过程中通过系统调用命令向系统提出设备请求.动态分配方式有利于提高设备的利用率,但如果分配算法使用不当,则有可能造成进程死锁。8.5设备分配

设备分配策略与进程调度相似,动态设备分配也是基于一定的分配策略的。

1)先请求先分配系统按提出I/O请求的先后顺序,将进程发出的I/O请求命令排成队列,其队首指向被请求设备的DCT。当该设备空闲时,系统从该设备的请求队列的队首取下一个I/O请求消息,将设备分配给发出这个请求消息的进程。8.5设备分配

设备分配策略

2)优先级高者先分配进程的优先级高,它的I/O请求也优先予以满足。对于相同优先级的进程来说,则按先请求先分配策略分配。因此,优先级高者先分配策略把请求某设备的I/O请求命令按进程的优先级组成队列,从而保证在该设备空闲时,系统能从I/O请求队列队首取下一个具有最高优先级进程发来的I/O请求命令,并将设备分配给发出该命令的进程。8.5设备分配设备驱动程序设备驱动程序是驱动物理设备和DMA控制器或I/O控制器等直接进行I/O操作的子程序的集合。为了对驱动程序进行管理,系统中设置有设备开关表DST。设备开关表中给出相应设备的各种操作子程序的入口地址。8.7设备驱动程序

概念

在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备。目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率;(实例:SPOOLing技术,利用虚设备技术

——用硬盘模拟输入输出设备)虚设备

SPOOLING的设计和实现为了存放从输入设备输入的信息以及作业执行的结果,系统在辅助存储器上开辟了输入井和输出井。“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。虚设备虚设备

SPOOLING的设计和实现两个例子:(1)打印机spooling守护进程对于打印机,属于独占设备。系统可创建一个守护进程(daemon)以及一个特殊的目录,称spooling打印目录。在打印之前,进程产生完整的待打印文件并放在spooling

温馨提示

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

评论

0/150

提交评论