计算机设备管理教学课件PPT.ppt_第1页
计算机设备管理教学课件PPT.ppt_第2页
计算机设备管理教学课件PPT.ppt_第3页
计算机设备管理教学课件PPT.ppt_第4页
计算机设备管理教学课件PPT.ppt_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

2019/4/18,第6章 设备管理,“设备”泛指计算机系统中的外部设备,即除主机以外的其他所有设备。在多道程序设计环境下,计算机系统允许多个用户作业同时在内存,它们的运行势必涉及到I/O设备。于是,对于设备本身,有一个如何有效利用的问题;对于设备和CPU,有一个如何发挥并行工作能力的问题;对于设备和用户,有一个如何方便使用的问题。,2019/4/18,设备管理的任务,是完成用户提出的I/O请求,为用户分配I/O设备,提高CPU与I/O设备的利用率,提高I/O设备的速度,方便用户使用I/O设备。,2019/4/18,6.1.1I/O系统的基本功能,方便用户使用I/O设备 隐藏物理设备的细节 与设备的无关性 提高CPU和I/O设备的利用率 提高CPU和I/O设备的利用率 对I/O设备进行控制 为用户的共享设备时提供方便 确保对设备的正确共享 错误处理,2019/4/18,6.1.2 I/O系统的层次和结构模型,I/O层次结构 用户层I/O软件 设备独立性软件 设备驱动程序 中断处理程序,2019/4/18,2019/4/18,I/O层次结构,用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,实现与用户交互的接口,产生I/O请求,负责实现与设备驱动器的统一接口、设备命名,设备的保护,设备的分配与释放,缓冲等。,与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序,保护环境,转入相应处理程序,恢复现场等,执行I/O操作,2019/4/18,2019/4/18,操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是(2012) A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序 B、用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序 C、用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序 D、用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序 用户程序发出磁盘I/O请求后,系统的处理流程是:用户程序-系统调用处理程序-设备驱动程序-中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是(2011,2013) A、用户程序 B、系统调用处理程序 C、设备驱动程序 D、中断处理程序,2019/4/18,2019/4/18,I/O层次视图,用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件,I/O系统接口,RW/HW接口,2019/4/18,6.1.3 I/O系统接口,块设备接口 块设备:数据的存取和传输都是以数据块为单位的设备。特点:传输速率高,可寻址,DMA控制方式 隐藏了磁盘的二维结构 将抽象命令映射为低层操作 流设备接口 字符设备。特点:传输速率低,不可寻址,中断驱动方式 Get操作和put操作 In-control指令 网络接口,2019/4/18,6.2 I/O设备和设备控制器,I/O设备由执行I/O操作的机械部分和执行控制I/O的电子部件(设备控制器)组成。,2019/4/18,6.2.1 I/O设备,1、I/O设备的类型 按使用特性分 存储设备:用以存储信息的主要设备 输入输出设备:输入设备,输出设备,交互式设备,2019/4/18,I/O设备的分类,按传输速率分 低速设备:每秒几个到数百字节。如键盘、鼠标 中速设备:每秒数千到数万字节。如打印机 高速设备:每秒数百K到数兆。如磁盘、磁带,2019/4/18,按信息交换的单位分类 块设备 : I/O传输的单位是块,如磁盘、磁带。特征:速率高(几兆)、可寻址(可随机访问任一块)、DMA方式驱动。 字符设备:I/O传输的单位是字节,如打印机、modem等。特征:速率较低、不可寻址、中断驱动。,2019/4/18,按设备共享属性分类 独占型设备:在任一段时间内最多有一个进程占用它,字符设备及磁带机属独占型设备。即临界资源。 共享型设备:多个进程对它的访问可以交叉进行,除磁带机外的块设备属共享设备 虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备,2019/4/18,2、设备与控制器之间的接口,通常,设备不是直接与CPU进行通信,而是与设备控制器通信,因此在I/O设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号,各对应一条信号线,2019/4/18,2、设备与控制器之间的接口,数据信号线 用于在设备和设备控制器之间传送数据信号。 控制信号线 作为由设备控制器向I/O设备发送控制信号时的通路。 状态信号线 用于传送指示设备当前状态的信号。,2019/4/18,6.2.2设备控制器,设备控制器主要负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU与I/O设备之间的接口,接收从CPU发来的命令,并控制I/O设备工作,以使CPU从繁杂的设备控制事务中解脱出来。 是一个可编址设备,每一个地址对应一个设备。 设备控制器可分为两类,一类用于控制字符设备的控制器,另一类是用于控制块设备的控制器。 在微型机中的控制器,常做成印刷电路卡,因而也常称为接口卡,2019/4/18,设备控制器的基本功能,接收和识别命令 数据交换 标识和报告设备的状态 地址识别 数据缓冲 差错控制,2019/4/18,设备控制器的组成,由于设备控制器位于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU所发来的命令去控制设备的工作的功能,因此现有的大多数控制器都是由三部分组成 设备控制器与处理机的接口 设备控制器与设备的接口 I/O逻辑,2019/4/18,设备控制器的组成,2019/4/18,6.2.3内存映像I/O,2019/4/18,6.2.3内存映像I/O,2019/4/18,I/O通道,虽然在CPU与I/O设备之间增加了设备控制器后,已能大大减少CPU对I/O的干预,但当一个系统配置的设备较多时,I/O操作较为频繁的情况下,CPU可能完全陷入I/O处理,这样会大大地降低计算机系统的效率,解决的方法就是用到通道技术。,2019/4/18,通道方式的目的使一些原来由CPU处理的I/O任务转由通道来承担,从而使CPU彻底从I/O中解放出来。当用户发出I/O请求后,CPU就把该请求全部交由通道去完成。通道在整个I/O任务结束后,才发出中断信号,请求CPU进行善后处理。不仅数据传输独立于CPU,而且I/O操作的组织管理也独立于CPU。,I/O通道的引入:,2019/4/18,为使中央处理机从繁忙的I/O处理中摆脱出来,现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。 通道=I/O处理机,通道概念,2019/4/18,I/O通道与一般的处理机不同,主要表现在以下两个方面: 指令类型单一,这是由于通道硬件比较简单, 其所能执行的命令,主要局限于与I/O操作有关的指令; 通道没有自己的内存,通道所执行的通道程序是放在主机的内存中的, 换言之,是通道与CPU共享内存。,2019/4/18,I/O通道,I/O通道的分类 字节多路通道 数据选择通道 数组多路通道,2019/4/18,通道的种类,字节多路通道: 字节多路通道是以字节为基本传输单位,通常含有许多非分配型子通道,其数量从几十到数百个,每一个子通道连接一台I/O设备,并控制该设备的I/O操作。这些子通道按时间片轮转主式共享主通道。 当一个子通道控制的某台外设交换了一个字节后,就转向下一个子通道,以控制下一台设备传送一个字节。这就实现了子通道的循环轮转,以达到多路控制的目的,字节多路通道主要用来控制低速、并且以字节为基本传送单位的设备。如打印机。,2019/4/18,2019/4/18,数组选择通道: 字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。这种通道虽然可以连接多台高速设备,但由于它只含有一个分配型子通道,在一段时间内只能执行一道通道程序, 控制一台设备进行数据传送, 致使当某台设备占用了该通道后,便一直由它独占, 即使是它无数据传送,通道被闲置, 也不允许其它设备使用该通道, 直至该设备传送完毕释放该通道。它的优点是传输速度高,缺点是一次只能控制一台设备进行I/O操作,利用率低。它主要用来控制高速外设。如磁盘,2019/4/18,数组多路通道: 这种通道是上述两种通道的折中,可以分时的方式执行多道程序,每道程序可传送一组数据。因而这种通道既具有很高的数据传输速率,又能获得令人满意的通道利用率。也正因此,才使该通道能被广泛地用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。 在一大型系统中可以同时存在这三种类型的通道以便控制各种不同类型的设备。,2019/4/18,通道,I/O系统结构 在大型计算机系统中较为典型的I/O系统结构是主机、通道、控制器和外部设备。,2019/4/18,“瓶颈”问题,图 5-4 单通路I/O系统,2019/4/18,图 5-5 多通路I/O系统,解决“瓶颈”问题的最有效方法就是增加设备到主机间的通路而不增加通道,2019/4/18,练习,通道是I/O处理机,它用于实现_之间的信息传输; _用作连接大量的低速或中速设备; A、数据选择通道 B、字节多路通道 C、数据多路通道 按_分类可将设备分为块设备和字符设备。 A、从属关系 B、操作特性 C、共享属性 D、信息交换单位,2019/4/18,练习,硬盘属于( ) A、字符型设备 B、独占型设备 C、块设备 D、虚拟设备 所有的块型设备都是共享设备。( ) 打印机是一类典型的块设备。() 选择通道主要用于连接低速设备. (),2019/4/18,6.3中断机构和中断处理程序,中断的简介 中断是由于某些事件的出现,中止现行进程的执行,而转去处理出现的事件,中断事件处理完后,再继续运行被中止进程的过程。 在这里引起中断的事件称为中断源。中断事件通常由硬件发现 中断的处理 对出现的事件进行处理的程序称为中断处理程序。中断处理程序是由操作系统处理的,属于操作系统的组成部分,2019/4/18,中断的简介,2019/4/18,中断的简介,2019/4/18,中断的处理,中断处理过程 测定是否有未响应的中断信号。 保护被中断进程的CPU环境。 转入相应的设备处理程序。 中断处理。 恢复现场,退出中断。,2019/4/18,图 6-10 中断现场保护示意图,2019/4/18,图 6-11 中断处理流程,2019/4/18,6.4 设备驱动程序,设备处理程序通常又称为设备驱动程序,它是I/O进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,所以简称之为设备驱动进程 主要任务:接收上层软件发来的抽象要求,把它转换为具体要求后,发送给设备控制器,启动设备去执行。也将由设备控制器发来的信号传送给上层软件。 通常,每一类设备配置一种驱动程序。,2019/4/18,设备驱动程序的功能和特点,设备驱动程序的功能 一是接收设备独立性软件发来的命令和参数,把抽象要求转化为具体要求。 二是检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。 三是发出I/O 命令,启动分配到的I/O设备,完成指定的I/O操作。 四是及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。,2019/4/18,设备驱动程序的功能和特点,设备驱动程序的特点 一是驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。 二是驱动程序与I/O设备的特性密切相关。 三是驱动程序与I/O控制方式紧密相关。 四是驱动程序与硬件紧密相关,其部分被固化在ROM 中。 五是驱动程序应允许可重入 六是驱动程序不允许系统调用。,2019/4/18,设备驱动程序的功能和特点,设备处理的方式 一是为每一类设备设置一个进程,它专门执行这类设备的I/O操作。 二是在整个系统中设置一个I/O进程,专门负责对系统中所有各类设备的I/O操作。 三是不设置专门的设备处理进程,只为各类设备设置相应的设备处理程序,供用户进程或系统进程调用。,2019/4/18,设备驱动程序的处理过程,主要任务:启动指定设备 将抽象要求转化为具体要求 检查I/O请求的合法性 读出和检查设备的状态 传送必要的参数 设置工作方式 启动I/O 设备,2019/4/18,练习,设备驱动程序与()密切相关,如果计算机中配置有一个光盘,一个软盘,一个硬盘,此时应为它们配置()种外存设备驱动程序。如果系统中连接有四个相同的终端设备,此时应为它们配置()个终端设备驱动程序,2019/4/18,6.4.3 对I/O设备控制方式,轮询的可编程I/O方式 I/O中断方式 DMA方式 通道方式,中断,DMA,通道,2019/4/18,1 程序I/O方式,早期,I/O控制器是OS同硬件之间的接口p(147)。它有两个寄存器:数据缓冲寄存器、控制/状态寄存器。状态控制寄存器有一个标志忙/闲的标志位busy。,2019/4/18,工作过程,以输入为例 1、 把busy置1 2、 反复测试busy,为1表示输入机尚未输完一个字,处理机应继续对该标志进行测试,转2,为0表示输入机已将输入数据送入控制器的数据寄存器中,转3 3、 把数据从数据缓冲区中读走,并置busy为1。 所谓“程序循环测试”的数据传输方式,就是指用户进程使用启动设备后,不断地执行测试指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。忙-等待方式,2019/4/18,在程序I/O方式中,由于CPU的高速性和I/O设备的低速性, 致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中, 造成对CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构, 使I/O设备无法向CPU报告它已完成了一个字符的输入操作。,2019/4/18,2 I/O中断方式,I/O控制器能发中断。 工作过程: 1、发出启动某设备的命令,本进程(A)变为等待状态,转进程调度,调度另一进程B。 2、输入完成时,控制器发出中断,中断B,通过中断进入中断处理程序。 3、在中断处理程序中把数据缓冲寄存器中的数取走,放入内存特定位置M,唤醒等待进程A,中断返回到B的断点继续执行。 4、在以后的某个时刻OS调度要求输入的进程A。A从M取数处理。,2019/4/18,2019/4/18,在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。例如,从终端输入一个字符的时间约为100 ms, 而将字符送入终端缓冲区的时间小于 0.1 ms。 若采用程序I/O方式,CPU约有 99.9 ms的时间处于忙等待中。 采用中断驱动方式后,CPU可利用这 99.9 ms的时间去做其它事情,而仅用 0.1 ms的时间来处理由控制器发来的中断请求。 可见,中断驱动方式可以成百倍地提高CPU的利用率。,2019/4/18,分析,同前相比,CPU利用率大大提高。 缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会很多,使CPU的计算时间大大减少。 为减少中断对CPU造成的负担,可采用DMA方式和通道方式。,2019/4/18,3 直接存储器访问(DMA)方式,直接存储器存取控制方式的概念 是指对I/O设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用CPU的干涉。,2019/4/18,5.2.3 DMA方式,直接存储器存取控制方式的概念 该方式的特点是: 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块; 所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。 可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。,2019/4/18,DMA方式,控制器功能更强,除有中断功能外,还有一个DMA控制机构。在DMA控制器的控制下,设备同主存之间可成批交换数据,不用CPU干预。 DMA控制器组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑,2019/4/18,DMA方式,DMA控制器组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑 为了实现在主机与控制器之间的成块数据的直接交换,须在DMA控制器中设置如下四类寄存器:命令/状态寄存器CR;内存地址寄存器MAR;数据寄存器DR;数据计数器DC。,2019/4/18,DMA方式工作过程,直接存储器存取控制方式的步骤(P197) 当进程要求设备输入一批数据时,CPU将设备存放输入数据的内存始址以及要传送的字节数分别送入DMA控制器中的地址寄存器MAR和数据计数器DC;另外,还要将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上。 发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。 输入设备不断从磁盘中读入一个字的数据并送入数据寄存器DR中,再挪用一个存储器周期,将数据寄存器中的数据写入内存,MAR+1,DC-1,若DC不为0则继续传下一个字。 DMA控制器在传送字节数完成时,通过中断请求线发出中断信号,CPU收到中断信号后转中断处理程序,唤醒等待输入完成的进程,并返回被中断的程序。 在以后的某个时刻,进程调度程序选中提出请求输入的进程,该进程从指定的内存始址取出数据做进一步处理。,2019/4/18,3. DMA工作过程,图 5-9 DMA方式的工作流程,2019/4/18,直接存储器存取控制,直接存储器存取控制方式的特点 I/O数据传输速度快,CPU负担少。 在DMA方式下,数据的传送方向、存放数据的内存始址及传送数据的长度等都由CPU控制。每台设备需要配一个DMA控制器。,2019/4/18,DMA方式与中断的主要区别,中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的,2019/4/18,实现流程,2019/4/18,4 I/O通道控制方式,1. I/O通道控制方式的引入,虽然DMA方式比起中断方式来,已经显著地减少了CPU的干预,即已由以字(节)为单位的干预减少到以数据块为单位的干预,但CPU每发出一条I/O指令,也只能去读一个连续的数据块,要是一次去读多个数据块且将它们分别传送到不同的内存区域,则须由CPU发出多条I/O指令,进行多次中断。,2019/4/18,5.2.4 I/O通道控制方式,1. I/O通道控制方式的引入,I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。,2019/4/18,2 通道程序,通道有它自己的指令系统,用一系列通道指令构成的程序叫通道程序。 通道通过执行通道程序,并与设备控制器共同实现对I/O设备的控制。 通道只能执行通道程序,不可能执行用户进程。,2019/4/18,通道有自己的指令系统,它与一般的机器指令不同,在它的每条指令中都包含下列诸信息:操作码;内存地址;计数;通道程序结束位P;记录结束标志R,2019/4/18,2019/4/18,若干通道命令字构成一个“通道程序”,它规定了设备应该执行的各种操作和顺序。在CPU启动通道后,由通道执行通道程序,完成CPU所交给的I/O任务。通常,通道程序存放在通道自己的存储部件里。当通道中没有存储部件时,就存放在内存储器里。这时,为了使通道能取到通道程序去执行,必须把存放通道程序的内存起始地址告诉通道。存放这个起始地址的内存固定单元,被称为“通道地址字”。,2019/4/18,通道的工作过程,某进程在运行过程中,若提出了I/O请求,只需向通道I/O通道发一条I/O指令,以给出其所要执行的通道程序的始址和要访问的I/O设备; 用户进程阻塞以等待I/O完成 通道则通过执行通道程序控制设备控制器,控制设备完成指定的I/O任务。 发出中断信号通知CPU通道程序已执行完成。 CPU响应中断,进行善后处理并唤醒被阻塞的用户进程,2019/4/18,通道是一种特殊的(),具有()能力。主机的CPU与通道可以并行工作,并通过()实现彼此之间的通信和同步 。 1、I/O设备 2、设备控制器 3、处理机 4、I/O控制器 1、执行I/O指令集 2、执行CPU指令集 3、传输I/O命令 4、运行I/O进程 1、I/O指令 2、I/O中断 3、I/O指令和I/O中断 4、操作员,2019/4/18,在程序I/O方式中,对于输出设备,准备就绪就是指 1、输出缓冲区已空 2、输出缓冲区已有数据 3、输出设备已开始工作 4、输出设备已收到I/O指令 不使用中断机制的I/O控制方式是_ 如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是_。 A、程序查询 B、中断方式 C、DMA方式 在中断驱动方式中,CPU是以_为单位对I/O进行干预的;DMA方式时,是以_为单位进行干预的;I/O通道方式是以_为单位进行干预的。,2019/4/18,6.5设备无关的I/O软件,设备独立性概念(设备无关性) 应用程序中所使用的设备,不局限于使用某个具体的物理设备。 应用程序独立于具体使用的物理设备。在应用程序中,使用逻辑设备名称来请求使用某类设备。系统在实际执行时,必须使用物理设备名称,2019/4/18,设备独立性,设备独立性好处(设备无关性) 设备分配时的灵活性。如果一个系统中有若干台相同的设备,用户编程时不指定使用哪一个具体的设备,而仅说明要使用哪一类设备,系统根据当前这一类设备的具体状况给用户分配一台具体的设备。 易于实现I/O重定向。用于I/O操作的设备可以更换(重定向),而不必改变应用程序。例如有一程序要求输入信息,可以从各种不同类型的输入设备上给程序输入数据,则称该程序是独立于不同类型的输入设备的。,2019/4/18,设备独立性,逻辑设备名到物理设备名映射的实现 逻辑设备表LUT 将应用程序中所使用的逻辑设备名映射为物理设备名。,2019/4/18,设备独立性,设备独立性软件 驱动程序是一个与硬件紧密相关的软件,为了实现设备独立性,必须在其上设置一层软件称为设备独立性软件。其功能有 执行所有设备的公有操作 这些公有操作包括:设备驱动程序的统一接口,无论何种设备, 它们向用户所提供的接口应该是相同的。 例如, 对各种设备的读操作,在应用程序中都使用read; 而对各种设备的写操作,也都使用write; 并将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;对设备进行保护,禁止用户直接访问设备; 缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理, 以提高I/O的效率;差错控制。设备独立性软件只处理那些设备驱动程序无法处理的错误。对独立设备的分配与回收; 提供独立于设备的逻辑块。 向用户层(或文件层)软件提供统一接口,2019/4/18,程序员利用系统调用打开I/O设备时,通常使用的设备标识是(2009) A.逻辑设备名 B.物理设备名 C.主设备号 D.从设备号 本地用户通过键盘登陆系统是,首先获得键盘输入信息的程序是()。(2010) A. 命令解释程序 B. 中断处理程序 C. 系统调用程序 D. 用户登录程序,2019/4/18,6.5.3 设 备 分 配,在多道程序环境下,系统中的设备供所有进程共享,为防止诸进程对系统资源的无序竞争,特规定系统设备不允许用户自行使用,必须由系统统一分配。 每当进程向系统提出请求时,只要是可能和安全的,按一定策略分配 为了实现独占设备分配,必须在系统中设置相应的数据结构,2019/4/18,设备分配中的数据结构,从前面所学内容中我们知道,创建一个进程时,开辟一个进程控制块PCB,以便随时记录进程的信息;在把一个作业提交给系统时,系统也是开辟一个作业控制块JCB,以便随时记录作业的信息。为了管理系统中的外部设备,操作系统仍然采用这种老办法:为每一台设备开辟一个存储区,随时记录系统中每一个设备的基本信息,这个存储区被称为“设备控制表DCT(Device Control Table)”。,2019/4/18,设备分配中的数据结构,设备控制表(DCT) 系统为每个设备配置一张设备控制表,用于记录设备的特性及I/O控制器连接的情况。 控制器控制表(COCT) 每个控制器配置一张表,它反映控制器的使用情况等。 通道控制表(CHCT) 为每个通道配置一张表,它反映通道的使用状态。 系统设备表(SDT) 它记录已被连接到系统中的所有物理设备的情况,每个物理设备占一个表目。整个系统配置一张。,2019/4/18,下图左侧的“DCT”,表示系统中所有外部设备的DCT的集合;中间是对其中的第i个设备的DCT放大,给出了DCT中可能有的一些表项。不难理解,随着系统的不同,DCT中所含的内容也不同。,DCT,2019/4/18,忙/闲 等待/不等待,与设备连接的控制器表指针 重复执行次数(出错时重新传送的次数),2019/4/18,DCT,由于设备控制表DCT中存放的是一台具体设备的有关信息,找到一个设备的DCT,就得到了该设备的特性、各种参数、使用情况等,所以DCT是设备管理中最重要的一种数据结构。,2019/4/18,控制器控制表和通道控制表,2019/4/18,为了管理设备,系统除了为每个设备设置DCT外,整个系统还要有一张所谓的“系统设备表(SDTSystem Device Table)”。系统初启时,每一个标准的以及用户提供的外部设备,在该表中都有一个表目,表目内容可以有该外部设备的标识、所属的类型以及它的设备控制表DCT的指针(即DCT所在的起始地址),如下图所示。,2019/4/18,2019/4/18,设备分配应考虑的因素,设备的固有属性 设备的分配算法 设备分配的安全性,2019/4/18,设备分配应考虑的因素,设备的固有属性 独占性:在使用上具有排它性的设备。当一个作业进程在使用某种设备时,别的作业进程就只能等到该进程使用完毕后才能用,那么这种设备就是独享设备。键盘输入机、磁带机和打印机等都是典型的独享设备。 独占设备:采用独享分配策略,即将一个设备分配给某进程后,便由该进程独占,直至该进程完成或释放该设备。缺点:设备得不到充分利用,可能引起死锁,2019/4/18,设备分配应考虑的因素,设备的固有属性 共享性:允许多个进程共同时共享。软硬盘、光盘等块设备都是共享设备 共享设备:同时分配给多个进程使用,须注意对这些进程访问该设备的先后次序进行合理调度。,2019/4/18,设备分配应考虑的因素,设备的固有属性 虚拟性:本身虽是独占设备,但经过某种技术处理,可以把它改造成虚拟设备。将一台打印机虚拟成多台打印机 虚拟设备:一台可虚拟设备是可共享的设备,可以将它同时分配给多个进程使用,并对这些访问该(物理设备)的先后次序进行控制,2019/4/18,设备分配应考虑的因素,设备分配算法 先来先服务:当有多个进程对同一个设备提出I/O请求时,该算法根据诸进程对某设备提出请求的先后次序,将这些进程排成一个设备请求队列,总是把设备首先分配给队首进程 优先级高者优先:将优先权高的进程排在设备队列前面,对于优先级相同的I/O请求,则按先来先服务原则排队,2019/4/18,设备分配应考虑的因素,设备分配的安全性 安全分配方式:每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。一旦获得某种设备后便阻塞,使该进程不可能再请求任何资源,在它运行时又不保持任何资源。摒弃了“请求和保持” 不安全分配方式:进程在发出I/O请求后仍继续运行,需要时又发出第二个I/O请求、第三个。仅当进程所请求的设备已被另一进程占用时,请求进程才进入阻塞状态。可能造成死锁。须进行安全性计算.,2019/4/18,独占设备的分配程序,步骤: 分配设备 分配控制器 分配通道 只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功。才可启动该I/O设备进行数据传送。,2019/4/18,独占设备的分配程序,改进: 基本分配程序的缺点: 进程是以物理设备名来提出I/O请求的; 采用的是单通路的I/O系统结构,容易产生“瓶颈”现象 改进方法 增加设备独立性:进程使用逻辑设备名请求I/O 考虑多通路情况,2019/4/18,设备独立性,逻辑设备名到物理设备名映射的实现 逻辑设备表LUT LUT设置可采用两种方式: 整个系统中只设置一张LUT 为每个用户设置一张LUT,2019/4/18,独占设备的分配程序,改进:,2019/4/18,6.6用户层的I/O软件,大部分的I/O软件都在操作系统内部,但仍有一小部分在用户层,包括与用户程序链接在一起的库函数,以及完全运行于内核之外的一些程序。 用户层软件必须通过一组系统调用来取得操作系统的服务。,2019/4/18,6.6用户层的I/O软件,2019/4/18,系统调用与库函数,2019/4/18,6.6.2 SPOOLing技术,虚拟性是OS的四大特征之一。可以通过多道程序技术将一台物理CPU虚拟为多台逻辑CPU,从而允许多个用户共享一台主机,那么通过SPOOLing技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I

温馨提示

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

最新文档

评论

0/150

提交评论