计算机操作系统(第四版)输入输出系统_第1页
计算机操作系统(第四版)输入输出系统_第2页
计算机操作系统(第四版)输入输出系统_第3页
计算机操作系统(第四版)输入输出系统_第4页
计算机操作系统(第四版)输入输出系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1设备管理

教学目的:设备管理不但要管理实际I/O操作的设备(如磁盘机、打印机),还要管理诸如设备控制器、DMA控制器、中断控制器、I/O处理机(通道)等支持设备。设备管理包括各种设备分配、缓冲区管理和实际物理I/O设备操作,通过管理达到提高设备利用率和方便用户的目的。 设备管理是操作系统中最繁杂而且与硬件紧密相关的部分。2教学要求:了解设备的分类,熟悉设备管理的目标和功能。熟悉程序I/O方式、中断方式、DMA方式和通道方式四种I/O的控制方式;掌握通道的概念,熟悉通道类型。熟悉缓冲的概念,熟悉单缓冲、双缓冲、多缓冲和缓冲池工作原理,了解UNIX系统的缓冲技术。了解在进行设备分配时应考虑的设备的固有属性、设备的分配算法、设备分配的安全性和设备的独立性等因素;掌握设备分配中数据结构,熟悉设备分配的流程;掌握SPOOLing技术概念和SPOOLing系统的组成。熟悉设备处理程序的功能和处理方式,熟悉设备处理程序的处理过程。3

存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;

I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备,例如,软盘、硬盘等。

设备管理就是I/O管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。计算机外部设备:在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。4计算机外部设备种类繁多,特性各异。主要表现在以下几个方面:1.速度

不同的外部设备的传输速度的差别相当大,如键盘的传输速度不过几十,上百个字符,而磁盘的传输速度则是60万字节/每秒。2.传输单位

有的设备的传输单位是字节,如键盘、打印机、显示器;有的传输单位是字符块(数据块),如软盘、硬盘、磁带有的传输单位是位,如个人计算机中的SerialPort(s)COM1、COM23.容许的操作(操作特性)

设备完成的操作种类各不相同,如允许写操作,只能做读操作,既可读,也可写。4.出错条件

不同的设备,其出错条件也不相同,即数据传输失败的原因各种各样,如打印机有缺纸错,磁盘I/O有奇偶校验错等。5设备管理功能

设备管理的主要任务,是完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备。设备管理应具有设备分配与去配、外围设备的启动、磁盘的驱动调度、设备处理和虚拟设备、缓冲管理等功能。设备分配与去配的基本任务是根据用户的I/O请求,为之分配其所需的设备。运行结束及时收回.设备处理(设备驱动程序)的基本任务是实现CPU和设备控制器之间的通信。虚拟设备的功能是把一个物理设备变换为多个对应的逻辑设备,以使一个物理设备能供多个用户共享。缓冲管理的基本任务是管理好各种类型的缓冲区,以缓和CPU和I/O速度不匹配的矛盾,最终达到提高CPU和I/O设备利用率。

6I/O系统

把I/O设备及其接口线路、控制部件、通道以及管理软件统称为I/O系统.主存与处围设备之间的信息传输操作,称为I/O操作.I/O系统

把I/O设备及其接口线路、控制部件、通道以及管理软件统称为I/O系统。主存与外围设备之间的信息传输操作,称为I/O操作。典型的I/O系统具有四级结构:主机、通道、设备控制器和I/O设备。中央处理器(CPU)主存储器(MM)通道1(CH1)通道2(CH2)通道3(CH3)磁盘控制器磁盘机卡片控制器打印机控制器卡片机打印机磁带控制器磁带机7I/O设备的种类繁多,其重要性能指标有:数据传输单位、数据传输速率和设备的共享属性等。从不同的角度可以对I/O设备进行不同分类:1按使用特性分

存储型设备

输入输出型设备(交互型设备)2按传输速率分低速设备:传输速率每秒几个字节至数百个字节;中速设备:传输速率每秒数千个字节;高速设备:传输速率每秒数百个千字节至千兆字节;I/O设备分类83按信息交换的单位分块设备:以数据块为单位存储、传输信息,如磁盘、磁带。字符设备:以字符为单位存储、传输信息,如打印机、终端。4按设备的共享属性分

独占设备:在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等)

共享设备:在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘)

虚拟设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚拟设备。目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率。95按外部设备的从属关系分

系统设备:指操作系统生成时,登记在系统中的标准设备(如终端、打印机、磁盘机等)

用户设备:指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。(如A/D,D/A转换器,CAD所用专用设备)6从程序使用角度分逻辑设备物理设备10I/O设备一般由机械和电子两部分组成。把这两部分分开处理,以提供更加模块化,更加通用的设计。1.物理设备机械部分是设备本身(物理装置)。2.设备控制器(是设备与CPU的接口)电子部分叫做设备控制器或适配器、接口卡在小型和微型机中,它常采用印刷电路卡插入计算机中。设备组成11设备控制器

通常,外围设备并不是直接与CPU进行通信,而是与设备控制器通信.在设备与设备控制器之间有一个接口,通过数据线、控制线和状态线传输数据、控制和状态三种类型信号.转换器缓冲控制逻辑I/O设备数据信号线状态信号线控制信号线至设备控制器信号数据设备与控制器之间的接口12

设备控制器位于CPU与设备之间,主要职责是控制一个或多个I/O设备,以实现I/O设备和主机之间的数据交换。它接受从CPU发来的命令,并去控制I/O设备工作。设备控制器是一个可编址的设备,当它只控制一个设备时,它只有一个唯一的设备地址;若它控制多个设备时,则它含有多个设备地址,并使每个设备对应一个设备地址,以区别各个设备。控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,再将它复制到主存中。设备控制器可分为两类:1用于控制字符设备的控制器2用于控制块设备的控制器设备控制器131接受和识别命令通过控制器中的控制寄存器来存放和接受CPU发来的命令和参数,并对这些命令进行译码。2数据交换通过控制器中的数据寄存器来实现CPU与控制器之间、控制器与设备之间的数据交换。3表示和报告设备的状态通过控制器中的状态寄存器记下设备的状态供CPU了解。仅当设备处于发送就绪状态时,CPU才能启动设备控制器从中读出数据。设备控制器基本功能144地址识别通过控制器中的地址译码器来识别各个设备。系统中的每一个设备都有一个地址,用来唯一的标示这台设备,为此设备控制器必须能够识别它所控制的每个设备的地址。5数据缓冲通过控制器中的缓冲器来缓解I/O设备与CPU之间速率不匹配的矛盾。6差错控制

设备控制器兼管数据的差错检查。通过将差错检测码置位来向CPU报告数据出错。15设备控制器的组成设备控制器与CPU的接口:实现CPU与控制器之间的通信;设备控制器与设备的接口:用于与设备的连接,一个设备控制器上可以连接多个设备,因而一个设备控制器便有多个设备接口,一个接口连接一个设备;

I/O逻辑:实现设备的控制;16数据寄存器控制/状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口n…....数据线地址线控制线……数据状态控制数据状态控制CPU与控制器接口控制器与设备接口设备控制器的组成17I/OCPU内存18CPU内存设备控制器I/O19CPU内存设备控制器通道I/O201.定义:I/O通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入/输出操作可与CPU并行操作,又称I/O处理器。通道工作原理

通道相当于一个功能简单的处理机,包含通道指令(读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序。

通道程序启动I/O设备,执行完毕后,如果还有下一条指令,则继续执行,否则表示传输完成。

执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接。

I/O通道212.引入通道的目的

为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力。

建立独立的I/O操作,使一些原来由CPU处理的I/O任务转由通道来承担。3.特点

1)指令类型单一:所执行的命令仅局限于与I/O操作有关的指令。

2)没有自己的内存:通道与CPU共享内存。224.分类根据信息交换的方式不同,通道可分为三种类型:字节多路通道、数组选择通道和数组多路通道。1)字节多路通道

字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息。主要连接以字节为单位的低速I/O设备。如打印机,终端。以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节23子通道子通道子通道子通道控制器A控制器B控制器C控制器N……设备主通道字节多路通道的工作原理242)数组选择通道数组选择通道是以块为单位成批传送数据,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输,当一台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。

主要连接磁盘,磁带等高速I/O设备。选择通道253)数组多路通道

它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令。

主要连接高速设备。这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移动定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现。26

由于通道的价格较贵,致使计算机系统中通道的数量远比设备少。这样,往往因通道数量不足,产生一种“瓶颈”现象,影响整个系统的处理能力。解决“瓶颈”问题的最有效的方法,便是增加设备到主机间的通路而不增加通道。也就是,把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。

“瓶颈”问题272829总线:控制器和设备之间的接口以及计算机系统中的各个子系统(CPU、内存、外设等)相互连接的线路,且连接是共享的。优点:低成本(一线多用)灵活性(易于增加设备,便于两个计算机系统之间共享外设)总线分类:

数据总线(DB)、地址总线(AB)、控制总线(CB)总线30I/O控制方式

按照I/O控制器功能的强弱以及和CPU之间联系方式的不同,把I/O设备的控制方式分为以下四类:1程序I/O方式2中断驱动I/O控制方式3直接存储器访问(DMA)I/O控制方式4I/O通道控制方式

I/O控制方式发展的目标是尽量减少主机对I/O控制的干预,更多地进行数据处理,提高计算机效率和资源的利用率。主要差别在于CPU与外围设备并行工作的方式不同,并行工作的程度不同。31程序I/O方式

程序I/O控制方式是指由程序直接控制内存或CPU和外围设备之间进行信息传送的方式。通常又称为“忙/等待”方式或询问方式。

以数据输入为例,当用户进程需要输入数据时,由处理机向设备控制器发出I/O指令启动设备进行输入,同时把状态寄存器中的忙/闲状态busy置为1。在设备输入期间,CPU通过循环执行测试指令不间断地检测设备状态寄存器的值,当状态寄存器的值显示设备输入完成时,处理机将数据寄存器中的数据取走,送入内存指定单元,然后再启动设备去读下一个数据。反之,当用户进程需要向设备输出数据时,也必须同样发启动命令启动设备输出并等待输出操作完成。32向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器读入字向主存中写字传送完成?下条指令完成忙就绪未完CPUI/OI/OCPU出错I/OCPUCPU主存程序I/O方式33(1)把一个启动位为“1”的控制字写入该设备的控制状态寄存器;

(2)将需输出数据的一个字(节)送到数据缓冲寄存器;

(3)测试控制状态寄存器中的“busy”,若为1,转(2),否则转(4);

(4)输出设备将数据缓冲寄存器中的数据取走进行实际的输出。直接控制方式的输出数据时的工作过程:优点:控制简单,不需要多少硬件支持。(循环测试方式)缺点:CPU和外设只能串行工作,CPU利用率低。设备之间不能并行工作。(忙—等待方式)34

为了提高CPU和设备的利用率,就应使CPU与设备并行工作。在现代计算机系统中,对I/O设备的控制广泛采用I/O中断方式。采用这种方式要求CPU与设备之间有相应的中断请求线,且在控制寄存器中有一个中断位。中断驱动I/O控制方式

计算机在运行过程中,可能会发生运算溢出、除数为零、无休止循环或电压下降等事先无法预料的故障,这些都是运行中非正常的现象。

CPU收到中断请求后转相应事件处理程序的过程称为中断响应。35向I/O控制器发读命令读I/O控制器的状态检查状态?从I/O控制器读字向主存中写字传送完成?下条指令完成就绪未完CPUI/OI/OCPU出错I/OCPUCPU主存CPU做其他事中断中断驱动方式流程36

优点:实现主机和外部设备并行工作,CPU原来用于查询外设状态的时间被充分地利用起来了,其工作效率得到了显著的提高,大大地提高了CPU的利用效率。

缺点:传送信息的单位通常是一个字(节),对于块设备(磁盘、磁带)数据交换是成批的,且单位数据之间的时间间隔较短,如果也采用程序中断方式,将造成信息的丢失。且每传送一个字符或一个字,都要发生一次中断。37DMA方式又称直接存储器访问I/O控制方式

程序中断控制方式提高了主机和外设并行工作的效率,但是每传送一个字或一个字节的数据就要执行一遍中断服务程序,数据传送时仍然要占用CPU的时间,整个系统的效率还是没有充分发挥。对于一些高速传送的外部设备,这种传送方式的传输速度就显得太低了。其基本思想是在外设和主存之间开辟直接的数据交换通路。如图所示,使CPU不介入传送时的操作,数据也不经过CPU。这样就减少了CPU的开销,系统效率得到了提高。CPU主存DMA接口接口38向I/O控制器发布读块命令CPUDMACPU做其他事读DMA控制器的状态中断DMACPU下条指令DMA方式39DMA方式的特点是:

(1)数据传送的基本单位是数据块。(2)所传送的数据是从设备送内存,或者相反。(3)仅在传送一个或多个数据块的开始和结束时,才需中断CPU,请求干预,整块数据的传送是在DMA控制器控制下完成的。

采用DMA方式时,允许DMA控制器接管地址线的控制权,直接控制DMA控制器与内存的数据交换。从而使磁盘设备与存储器之间的数据传送不需要CPU介入,因而减轻了CPU负担。当采用DMA时,除向控制器提供要读块的磁盘地址外,还要向控制器提供两个信息:要读块送往内存的起始地址和要传送的字节数40DMA方式与中断方式的主要区别

1)中断方式是每传送一个字节之后发中断请求,请求CPU进行中断处理;

DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数

2)中断方式的数据传送是由CPU控制完成的;

DMA方式则是在DMA控制器的控制下不经过CPU控制完成的41DMA方式的一个显著特点是数据传送时,CPU仍然执行主程序,那么,有可能DMA控制逻辑与CPU同时要访问主存,引起主存使用权的冲突。如何处理这种冲突呢?周期挪用法:

当DMA要求访问主存时,CPU暂时停顿一个存储周期。一个数据传送结束后,CPU立即继续运行。由于CPU现场并没有变动,只是延缓了对指令的执行,因此,这种技术称为周期挪用,或称周期窃取。思考:M1M2

存储周期

M3DMA挪用42

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

由于DMA每次只能执行一条I/O指令,不能满足复杂的I/O操作要求。在大、中型计算机系统中,普遍采用由专用的I/O处理器来接受CPU的委托,独立执行自己的通道程序来实现I/O设备与内存之间的信息交换,这就是通道技术。

通道技

温馨提示

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

评论

0/150

提交评论