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

下载本文档

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

文档简介

设备控制器是计算机中的一个实体,主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU与I/O设备之间的接口,接收从CPU发来的命令,并去控制I/O设备工作,使处理机从繁杂的设备控制事务中解脱出来。第七章设备管理7.2I/O控制方式7.3I/O系统7.4磁盘管理7.5缓冲管理7.2

I/O控制方式

7.2.1程序I/O方式7.2.2中断驱动I/O控制方式7.2.3直接存储器访问(DMA)I/O控制方式

DMA控制器,使传输以字节为单位转为以数据块为单位。7.2.4I/O通道控制方式

使I/O的组织和数据的传送,都能独立进行,无需CPU干预。7.2

I/O控制方式

7.2.1程序I/O方式(程序直接控制方式)早期的计算机系统中,由于无中断机构,处理机对I/O设备的控制采取程序I/O(ProgrammedI/O)方式,或称为忙—等待方式,即在处理机向控制器发出一条I/O指令启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy。当busy=1时,表示输入机尚未输完一个字(符),处理机应继续对该标志进行测试,直至busy=0,表明输入机已将输入数据送入控制器的数据寄存器中。于是处理机将数据寄存器中的数据取出,送入内存指定单元中,这样便完成了一个字(符)的I/O。接着再去启动读下一个数据,并置busy=1。程序I/O方式流程图

7.2.2中断驱动I/O控制方式

进程执行过程中发i/o请求进程转入睡眠状态cpu调度新进程I/O完毕,设备控制器发中断信号,cpu收到中断,处理中断并接收数据使发出I/O请求的进程就绪cpu可以调度一个进程执行。7.2.3直接存储器访问(DMA)I/O控制方式

1.DMA(DirectMemoryAccess)控制方式的引入虽然中断驱动I/O比程序I/O方式更有效,但须注意,它仍是以字(节)为单位进行I/O的,每当完成一个字(节)的I/O时,控制器便要向CPU请求一次中断。换言之,采用中断驱动I/O方式时的CPU是以字(节)为单位进行干预的。如果将这种方式用于块设备的I/O,显然是极其低效的。例如,为了从磁盘中读出1KB的数据块,需要中断CPU1K次。为了进一步减少CPU对I/O的干预而引入了直接存储器访问方式。该方式的特点是:

(1)数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;

(2)所传送的数据是从设备直接送入内存的,或者相反;

(3)仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。

2.DMA控制器的组成

DMA控制器由三部分组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑。下图示出了DMA控制器的组成。这里主要介绍主机与控制器之间的接口。

图5-8

DMA控制器的组成

为了实现在主机与控制器之间成块数据的直接交换,必须在DMA控制器中设置如下四类寄存器:

(1)命令/状态寄存器(CR)。用于接收从CPU发来的I/O命令,或有关控制信息,或设备的状态。

(2)内存地址寄存器(MAR)。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。

(3)数据寄存器(DR)。用于暂存从设备到内存,或从内存到设备的数据。

(4)数据计数器(DC)。存放本次CPU要读或写的字(节)数。

3.DMA工作过程我们以从磁盘读入数据为例,来说明DMA方式的工作流程。当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令。该命令被送到其中的命令寄存器(CR)中。同时,还须发送本次要将数据读入的内存起始目标地址,该地址被送入内存地址寄存器(MAR)中;本次要读数据的字(节)数则送入数据计数器(DC)中,还须将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上。然后,启动DMA控制器进行数据传送,以后,CPU便可去处理其它任务。此后,整个数据传送过程便由DMA控制器进行控制。当DMA控制器已从磁盘中读入一个字(节)的数据并送入数据寄存器(DR)后,再挪用一个存储器周期,将该字(节)传送到MAR所指示的内存单元中。接着便对MAR内容加1,将DC内容减1。若减1后DC内容不为0,表示传送未完,便继续传送下一个字(节);否则,由DMA控制器发出中断请求。图5-9是DMA方式的工作流程。

图5-9DMA方式的工作流程图

7.2.4I/O通道控制方式

1.I/O通道控制方式的引入虽然DMA方式比起中断方式来已经显著地减少了CPU的干预,即已由以字(节)为单位的干预减少到以数据块为单位的干预,但CPU每发出一条I/O指令,也只能去读(或写)一个连续的数据块。而当我们需要一次去读多个数据块且将它们分别传送到不同的内存区域,或者相反时,则须由CPU分别发出多条I/O指令及进行多次中断处理才能完成。

I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。

2.通道程序通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。通道程序是由一系列通道指令(或称为通道命令)所构成的。通道指令与一般的机器指令不同,在它的每条指令中都包含下列诸信息:

(1)操作码。操作码规定了指令所执行的操作,如读、写、控制等操作。

(2)内存地址。内存地址标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址。

(3)计数。该信息表示本条指令所要读(或写)数据的字节数。

(4)通道程序结束位P。该位用于表示通道程序是否结束。P=1表示本条指令是通道程序的最后一条指令。

(5)记录结束标志R。R=0表示本通道指令与下一条指令所处理的数据是同属于一个记录;R=1表示这是处理某记录的最后一条指令。

下面示出了一个由六条通道指令所构成的简单的通道程序。该程序的功能是将内存中不同地址的数据写成多个记录。其中,前三条指令是分别将813~892单元中的80个字符和1034~1173单元中的140个字符及5830~5889单元中的60个字符写成一个记录;第4条指令是单独写一个具有300个字符的记录;第5、6条指令共写含500个字符的记录。

7.3

I/O系统设备分配与回收当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换。设备分配策略由于在多道程序系统中,进程数多于资源数,引起资源的竞争。因此,要有一套合理的分配原则考虑的因素:I/O设备的固有属性I/O设备的分配算法设备分配的安全性与设备的无关性

(1)独占设备的分配

要考虑充分发挥效率,避免由于不合理的分配策略造成死锁。

静态分配:在运行前,完成设备分配;运行结束时,收回设备。

缺点:设备利用率低。

动态分配:在进程运行过程中,当用户提出设备要求时,进行分配,一旦停止使用,立即收回。

优点:效率好

缺点:分配策略不好时,产生死锁。

7.3.1设备分配1、设备的固有属性(2)共享设备分配由于同时有多个进程同时访问,且访问频繁,就会影响整个设备使用效率,影响系统效率。要考虑多个访问请求到达时服务的顺序,使平均非无时间越短越好。(3)虚拟设备分配可虚拟设备是指一台物理设备在采用虚拟技术后,可变成多台逻辑上的所谓虚拟设备,因而说,一台可虚拟设备是可共享的设备,可以将它同时分配给多个进程使用,并对这些访问该(物理)设备的先后次序进行控制。2、设备分配中的安全性从进程运行的安全性考虑,设备分配有以下两种方式。(1)

安全分配方式在这种分配方式中,每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。缺点是进程进展缓慢,即CPU与I/O设备是串行工作的。

(2)

不安全分配方式进程在发出I/O请求后仍继续运行,需要时又发出第二个I/O请求、第三个I/O请求等。仅当进程所请求的设备已被另一进程占用时,请求进程才进入阻塞状态。3、设备的独立性设备独立性也称设备无关性指用户程序独立于具体物理设备。即用户只需说明使用哪类设备,如打印机或显示器(逻辑设备名),无需指定某个具体设备(物理设备名)。操作系统统一合理地进行设备分配。设备独立性的优点设备分配时的灵活性易于实现I/O重定向设备独立性的实现——逻辑设备表操作系统实现逻辑设备到物理设备的转换。逻辑设备表(LogicalUnitTable,LUT)

LUT的设置:

整个系统一张(单用户系统)一个用户一张(多用户系统)3、设备独立性应用程序独立于具体使用的物理设备。使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。逻辑设备名称转换为某物理设备名称的功能,类似于存储器管理中所介绍的逻辑地址和物理地址的概念。设备独立性,即不能因为设备的忙碌、故障或更换而影响程序的运行,向用户屏蔽物理设备,呈现给用户的一个操作简单的逻辑设备。4、设备分配中的数据结构

1、设备控制表(DCT)系统为每一个设备都配置了一张设备控制表,用于记录本设备的情况,如图所示。

图设备控制表

2.控制器控制表、通道控制表和系统设备表

(1)控制器控制表(COCT)。系统为每一个控制器都设置了一张用于记录本控制器情况的控制器控制表,如图(a)所示。

(2)通道控制表(CHCT)。每个通道都配有一张通道控制表,如图5-21(b)所示。

(3)系统设备表(SDT)。这是系统范围的数据结构,其中记录了系统中全部设备的情况。每个设备占一个表目,其中包括有设备类型、设备标识符、设备控制表及设备驱动程序的入口等项,如图(c)所示。

COCT、CHCT和SDT5、设备分配算法对设备进行分配的算法,与进程调度的算法有些相似之处,但前者相对简单,通常只采用以下两种分配算法:

(1)先来先服务。当有多个进程对同一设备提出I/O请求时,该算法是根据诸进程对某设备提出请求的先后次序,将这些进程排成一个设备请求队列,设备分配程序总是把设备首先分配给队首进程。

(2)优先级高者优先。在进程调度中的这种策略,是优先权高的进程优先获得处理机。如果对这种高优先权进程所提出的I/O请求也赋予高优先权,显然有助于这种进程尽快完成。在利用该算法形成设备队列时,将优先权高的进程排在设备队列前面,而对于优先级相同的I/O请求,则按先来先服务原则排队。

7.3.2SPOOLing技术

1.什么是SPOOLing为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上;或者相反。事实上,当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便可在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(SimultaneausPeriphernalOperatingOnLine),或称为假脱机操作。

引入:在多道批处理系统中,专门利用一道程序(SPOOLing程序)来完成对设备的I/O操作。无需使用外围I/O处理机。利用假脱机技术可把独享设备转变为具有共享特征的虚拟设备,从而提高设备利用率。

2.SPOOLing系统的组成由上所述得知,SPOOLing技术是对脱机输入、输出系统的模拟。相应地,SPOOLing系统必须建立在具有多道程序功能的操作系统上,而且还应有高速随机外存的支持,这通常是采用磁盘存储技术。

SPOOLing系统主要有以下三部分:

(1)输入井和输出井。这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备,用于暂存I/O设备输入的数据;输出井是模拟脱机输出时的磁盘,用于暂存用户程序的输出数据。

(2)输入缓冲区和输出缓冲区。为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区:输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。

(3)输入进程SPi和输出进程SPo。这里利用两个进程来模拟脱机I/O时的外围控制机。其中,进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;进程SPo模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。

图5-22

SPOOLing系统的组成

3.共享打印机打印机是经常要用到的输出设备,属于独占设备。利用SPOOLing技术,可将之改造为一台可供多个用户共享的设备,从而提高设备的利用率,也方便了用户。共享打印机技术已被广泛地用于多用户系统和局域网络中。当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:①

由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;②

输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。如果还有进程要求打印输出,系统仍可接

温馨提示

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

评论

0/150

提交评论