《《操作系统原理教程(第二版)》-第4章__设备管理pptConvertor337.docx》由会员分享,可在线阅读,更多相关《《操作系统原理教程(第二版)》-第4章__设备管理pptConvertor337.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章 设备备管理4.1 设备管管理概述述4.2 输入输输出系统统4.3 设备分分配与回回收4.4 设备处处理4.5 设备管管理采用用的技术术本章结束束!4.1 设备备管理概概述4.1.1 设设备管理理的主要要任务 设备是是指计算算机系统统中的外外部设备备,它包包括外存存、输入入设备和和输出设设备(II/O设设备)。外外存的管管理和使使用,请请参考文文件管理理一章。 设备备管理的的主要任任务是完完成用户户提出的的输入输输出请求求,为用用户分配配输入输输出设备备,提高高CPUU与输入入输出设设备的利利用率,提提高输入入输出设设备的速速度,方方便用户户使用输输入输出出设备。第4章 设备管管理4.1
2、 设备备管理概概述4.1.2 设设备管理理的主要要功能1.缓冲冲管理 它是管管理好各各种类型型的缓冲冲区,协协调各类类设备的的工作速速度,提提高系统统的使用用效率。它它通过单单缓冲区区、双缓缓冲区或或缓冲池池等机制制来实现现。2.设备备分配与与回收 它是根根据用户户提出的的输入输输出请求求,为其其分配所所需要的的设备,用用户使用用完后,回回收分配配的设备备。它通通过设备备控制表表、控制制器控制制表、通通道控制制表和系系统设备备表记录录设备的的使用情情况,实实现设备备的分配配与回收收。第4章 设备管管理4.1 设备备管理概概述4.1.2 设设备管理理的主要要功能3.设备备处理 它是实实现CPPU
3、和设设备控制制器之间间的通信信。它通通过相应应的设备备处理程程序来实实现。4.虚拟拟设备 它是是把每次次只允许许一个进进程使用用的物理理设备,改改造为能能同时供供多个进进程共享享的设备备。第4章 设备管管理4.1 设备备管理概概述4.1.3 设设备的分分类1按设设备的从从属关系系分类 (11) 系系统设备备。系统统设备是是指操作作系统生生成时已已经登记记在操作作系统中中的标准准设备,如如键盘、显显示器、打打印机等等。 (22) 用用户设备备。用户户设备是是指操作作系统生生成时未未登记在在操作系系统中的的非标准准设备,如如绘图仪仪、扫描描仪等。2按操操作特性性分类 (11) 存存储设备备。存储储
4、设备是是指用来来存放信信息的设设备,如如磁盘、磁磁带等。 (22) 输输入输出出设备。输输入输出出设备是是指向CCPU传传输信息息和输出出加工处处理信息息的设备备,如键键盘、显显示器、打打印机等等。第4章 设备管管理4.1 设备备管理概概述4.1.3 设设备的分分类3按设设备共享享属性分分类 (1) 独享享设备。独独享设备备是指在在一段时时间内只只允许一一个进程程访问的的设备。系系统一旦旦把这种种设备分分配给一一个进程程后,便便由该进进程独占占,直到到用完释释放,其其他进程程才能使使用。多多数低速速设备都都属于此此类设备备,如打打印机。 (2) 共享享设备。共共享设备备是指在在一段时时间内允允
5、许多个个进程访访问的设设备,如如磁盘。 (3) 虚拟拟设备。虚虚拟设备备是指通通过虚拟拟技术将将一台独独占设备备变换为为若干台台逻辑设设备,供供若干个个进程同同时使用用的设备备,如虚虚拟打印印机。第4章 设备管管理4.1 设备备管理概概述4.1.3 设设备的分分类4按信信息交换换单位分分类 (11) 块块设备。块块设备是是指处理理信息的的基本单单位是字字符块。一一般块的的大小为为5122B44KB,如如磁盘、磁磁带等。 (22) 字字符设备备。字符符设备是是指处理理信息的的基本单单位是字字符,如如键盘、显显示器、打打印机等等。第4章 设备管管理返回4.2 输入入输出系系统4.2.1 输输入输出
6、出系统的的结构 对于于不同规规模的计计算机系系统,其其输入输输出系统统的结构构也有差差异。通通常把输输入输出出系统的的结构分分成两大大类:微微机输入入输出系系统和主主机输入入输出系系统。 1微微机输入入输出系系统 微机输输入输出出系统一一般采用用总线输输入输出出系统结结构,如如图4-1所示示。第4章 设备管管理4.2 输入入输出系系统4.2.1 输输入输出出系统的的结构 1微微机输入入输出系系统 CPPU和主主存是直直接连接接到总线线上的。输输入输出出设备是是通过设设备控制制器连接接到总线线上。CCPU并并不直接接与输入入输出设设备进行行通信,而而是与设设备控制制器进行行通信,并并通过它它去控
7、制制相应的的设备。因因此,设设备控制制器是处处理器和和设备之之间的接接口。应应根据设设备的类类型,给给设备配配置与之之相应的的控制器器,如磁磁盘控制制器、打打印机控控制器等等。第4章 设备管管理4.2 输入入输出系系统4.2.1 输输入输出出系统的的结构2主机机输入输输出系统统 当主机机所配置置的输入入输出设设备较多多时,特特别是配配有较多多的高速速外设时时,采用用总线型型输入输输出系统统结构会会加重CCPU与与总线的的负担。因因此,在在这样的的输入输输出系统统中不宜宜采用单单总线结结构,而而是增加加一级输输入输出出通道,用用来代替替CPUU与各设设备控制制器进行行通信,实实现对控控制器的的控
8、制。具具有通道道的输入入输出系系统结构构如图44-2所所示。第4章 设备管管理4.2 输入入输出系系统4.2.2 设设备控制制器1设备备控制器器的概念念 设备备控制器器是CPPU与外外围设备备之间的的接口,是是一个可可编址设设备,每每一个地地址对应应一个设设备。它它接收从从CPUU发来的的命令,并并去控制制输入输输出设备备的工作作,使CCPU从从繁杂的的设备控控制事务务中解脱脱出来,提提高CPPU的使使用效率率。 设备备控制器器一般分分成两大大类:一一类是用用于控制制字符设设备的控控制器;另一类类是用于于控制块块设备的的控制器器。第4章 设备管管理4.2 输入入输出系系统4.2.2 设设备控制
9、制器2设备备控制器器的功能能。设备控制制器实现现设备与与CPUU的通信信,一般般功能: (11)接收收和识别别命令。接接收和识识别由CCPU发发送来的的各种命命令,并并对这些些命令进进行译码码。为此此,在控控制器中中应设置置相应的的控制寄寄存器,用用来存放放接收的的命令和和参数,并并对所接接收的命命令进行行译码。 (22)交换换数据。实实现CPPU与控控制器、控控制器与与设备之之间的数数据交换换。对于于前者,是是通过数数据总线线,由CCPU并并行地把把数据写写入控制制器,或或从控制制器中并并行地读读出数据据;对于于后者是是设备将将数据输输入到控控制器,或或从控制制器传送送给设备备。为此此,在控
10、控制器中中需要设设置数据据寄存器器。第4章 设备管管理4.2 输入入输出系系统4.2.2 设设备控制制器2设备备控制器器的功能能。 (3)了了解和报报告设备备状态。在在控制器器中应设设立一个个状态寄寄存器用用于记录录设备的的各种状状态,以以供CPPU使用用。例如如,仅当当该设备备处于发发送就绪绪状态时时,CPPU才能能启动控控制器从从设备中中读出数数据。为为此,在在控制器器中应设设置一个个状态寄寄存器,用用其中的的每一位位来反映映设备的的某一种种状态。当当CPUU将该寄寄存器的的内容读读入后,便便可以了了解该设设备的状状态。 (4)识识别地址址。系统统为每个个设备配配置一个个地址,设设备控制制
11、器要能能识别这这些地址址。此外外,为使使CPUU能向寄寄存器中中写入数数据,或或从寄存存器中读读取数据据,这些些寄存器器应具有有惟一的的地址。第4章 设备管管理4.2 输入入输出系系统4.2.2 设设备控制制器3设备备控制器器的组成成 由于设设备控制制器处于于CPUU与设备备之间,它它既要与与CPUU通信,又又要与设设备通信信,还应应具有按按照CPPU发来来的命令令去控制制设备工工作的功功能。因因此,现现有的大大多数控控制器都都是由以以下三部部分组成成的,如如图4-3所示示。第4章 设备管管理4.2 输入入输出系系统4.2.2 设设备控制制器3设备备控制器器的组成成 (11)CPPU与设设备控
12、制制器的接接口。该该接口用用于实现现CPUU与设备备控制器器之间的的通信。共共有三类类信号线线:数据据线、地地址线和和控制线线。 (22)设备备控制器器与设备备的接口口。控制制器中的的输入输输出逻辑辑根据处处理器发发送来的的地址信信号,去去选择一一个设备备接口。一一个设备备接口连连接一台台设备。 (3)输输入输出出逻辑。输输入输出出 逻辑辑用于实实现对输输入输出出设备的的控制。第4章 设备管管理4.2 输入入输出系系统4.2.3 输输入输出出通道1输入入输出通通道的概概念 输入输输出通道道是指专专门负责责输入输输出工作作的处理理器。它它有自己己的指令令系统(包包含数据据传送指指令和设设备控制制
13、指令),能能按照指指定的要要求独立立地完成成输入输输出操作作。中央央处理器器可以做做相应的的计算操操作,从从而使系系统获得得CPUU与外设设的并行行处理能能力。第4章 设备管管理4.2 输入入输出系系统4.2.3 输输入输出出通道2输入入输出通通道的分分类 输入输输出通道道是用于于控制外外围设备备的。根根据信息息交换方方式的不不同,把把通道分分成三种种类型: (1) 字节节多路通通道。通通常都含含有许多多非分配配型子通通道,其其数量可可以从几几十到数数百个,每每一个子子通道连连接一台台输入输输出设备备,这些些子通道道按时间间片轮转转方式共共享主通通道。如如图4-4所示示。 字节节多路通通道连接
14、接低速或或中速设设备时,不不会丢失失信息。第4章 设备管管理4.2 输入入输出系系统4.2.3 输输入输出出通道2输入入输出通通道的分分类 (22) 数数据选择择通道。可可以连接接多台高高速设备备,但是是,由于于它只含含有一个个分配型型子通道道,在一一段时间间内只能能执行一一个通道道程序,控控制一台台设备进进行数据据传送,致致使当某某台设备备占用了了该通道道后,便便一直由由它独占占,(即即使无数数据传送送,通道道被闲置置也不允允许其他他设备利利用)直直至该设设备传送送完毕后后释放该该通道。 数据据选择通通道虽然然有很高高的传输输速率,但但是,它它每次只只允许一一个设备备传输数数据。所所以,这这
15、种通道道利用率率很低。第4章 设备管管理4.2 输入入输出系系统4.2.3 输输入输出出通道2输入入输出通通道的分分类 (3) 数组组多路通通道。将将数据选选择通道道传输速速率高和和字节多多路通道道能使各各子通道道(设备备)分时时并行操操作的优优点相结结合,而而形成的的一种新新通道。它它含有多多个非分分配型子子通道,因因而这种种通道既既具有很很高的数数据传输输速率,又又能获得得令人满满意的通通道利用用率。 该通通道被广广泛地用用于连接接多台高高、中速速的外围围设备,其其数据传传送是按按数组方方式进行行的。第4章 设备管管理4.2 输入入输出系系统4.2.4 输输入输出出系统的的控制方方式1程序
16、序直接控控制方式式 程序序直接控控制方式式也称为为“忙等待”方式,即即在一个个设备的的操作没没有完成成时,控控制程序序一直检检测设备备的状态态,直到到该操作作完成,才才能进行行下一个个操作。步步骤为: (1) 当用用户需要要输入数数据时,由由处理器器向设备备控制器器发出一一条输入入输出指指令,启启动设备备进行输输入。 (2) 当用用户进程程需要向向设备输输出数据据时,也也必须同同样发出出启动命命令启动动设备输输出,并并等待输输出操作作完成。 特点:工作过过程简单单,CPPU的利利用率低低。程序序直接控控制方式式适用于于早期的的无中断断的计算算机系统统。第4章 设备管管理4.2 输入入输出系系统
17、4.2.4 输输入输出出系统的的控制方方式2中断断控制方方式 中断断控制是是指计算算机在执执行期间间,系统统内发生生任何非非寻常的的或非预预期的急急需处理理事件,使使得CPPU暂时时中止当当前正在在执行的的程序而而转去执执行相应应的事件件处理程程序,待待处理完完毕后又又返回原原来被中中止处继继续执行行或调度度新的进进程执行行的过程程。 特点点:中断断控制方方式比程程序直接接控制方方式提高高了CPPU的利利用率。每每输入输输出一个个数据都都会发生生中断,传传输一组组数据需需要多次次中断,浪浪费了CCPU的的处理时时间。中中断控制制方式应应用于现现代计算算机系统统中。第4章 设备管管理4.2 输入
18、入输出系系统4.2.4 输输入输出出系统的的控制方方式3直接接存储器器存取控控制方式式(DMMA) 直接存存储器存存取方式式是指对对输入输输出设备备的控制制由DMMA控制制器完成成,在DDMA控控制器的的作用下下,设备备和主存存之间可可以成批批地进行行数据交交换,而而不用CCPU的的干涉。 特点:数据的的传送方方向、存存放数据据的主存存始址及及传送数数据的长长度等都都由CPPU控制制,具体体的数据据传送由由DMAA控制器器负责,每每台设备备需要配配一个DDMA控控制器,这这样输入入输出数数据传输输速度快快,CPPU负担担少。直直接存储储器存取取控制方方式适用用于块设设备的数数据传输输。第4章
19、设备管管理4.2 输入入输出系系统4.2.4 输输入输出出系统的的控制方方式4通道道控制方方式 通道道控制方方式是一一种以主主存为中中心,是是设备与与主存直直接交换换数据的的控制方方式。CCPU只只需要发发出启动动指令,指指出通道道相应的的操作和和输入输输出设备备,该指指令就可可以启动动通道并并使该通通道从主主存中调调出相应应的通道道指令执执行,完完成一组组数据块块的输入入/输出出。 特点点:通道道所需要要的CPPU干预预更少,并并可以实实现CPPU、通通道和输输入输出出设备三三者之间间的并行行操作,从从而更有有效地提提高整个个系统资资源的利利用率。通通道控制制方式适适用于现现代计算算机系统统
20、中的大大量数据据交换。第4章 设备管管理返回4.3 设备备分配与与回收4.3.1 设设备分配配中的数数据结构构 为了实实现对设设备的管管理和控控制,需需要对每每台设备备、通道道、控制制器的情情况进行行登记。设设备分配配主要采采用的数数据结构构有设备备控制表表、控制制器控制制表、通通道控制制表和系系统设备备表。如如图4-5所示示。第4章 设备管管理4.3 设备备分配与与回收4.3.1 设设备分配配中的数数据结构构1设备备控制表表 系统统为每台台设备配配置一张张设备控控制表,用用于记录录设备的的特性及及与输入入输出控控制器连连接的情情况。设设备控制制表中包包括:设设备标识识符、设设备类型型、设备备
21、状态、设设备等待待队列指指针、输输入输出出控制器器指针、设设备相对对号、占占用作业业名等。 设备备标识符符也称为为设备绝绝对号。它它是指计计算机系系统对每每台设备备的编号号。用户户对每类类设备的的编号称称为设备备相对号号,也称称为设备备类号。第4章 设备管管理4.3 设备备分配与与回收4.3.1 设设备分配配中的数数据结构构2控制制器控制制表 系统统为每个个控制器器配置了了一张控控制器控控制表,以以反映控控制器的的使用状状态,以以及与通通道的连连接状况况等。其其内容包包括控制制器标识识符、控控制器的的状态、与与控制器器连接的的通道表表指针、控控制器队队列的队队首指针针、通道道队列的的队尾指指针
22、等。其其中与控控制器连连接的通通道表指指针指向向该控制制器的通通道控制制表。第4章 设备管管理4.3 设备备分配与与回收4.3.1 设设备分配配中的数数据结构构3通道道控制表表 系统统为每个个通道配配置一张张通道控控制表,以以反映通通道的使使用状态态。其内内容包括括通道标标识符、通通道状态态、等待待获得该该通道的的进程等等待队列列指针等等。第4章 设备管管理4.3 设备备分配与与回收4.3.1 设设备分配配中的数数据结构构4系统统设备表表 系统设设备表也也称为设设备类表表,整个个系统配配置一张张。它记记录已被被连接到到系统中中的所有有物理设设备的情情况,每每个物理理设备占占一个表表目,包包括设
23、备备类型、拥拥有设备备台数、现现存设备备台数、设设备控制制表指针针等。其其中设备备控制表表指针指指向该设设备对应应的设备备控制表表。 这几张张表的关关系:在在系统设设备表中中有指向向设备控控制表的的指针,在在设备控控制表中中有指向向该设备备控制器器控制表表的指针针,在控控制器控控制表中中有指向向与该控控制器连连接的通通道控制制表的指指针。系系统就是是通过这这种关系系进行设设备的分分配与回回收的。第4章 设备管管理4.3 设备备分配与与回收4.3.2 设设备分配配应考虑虑的因素素1设备备的使用用性质 按照照设备自自身的使使用性质质,可以以采用以以下三种种不同的的分配方方式:独独享分配配、共享享分
24、配、虚虚拟分配配。 独享分分配适用用于大多多数低速速设备,如如打印机机。 共享分分配适应应于高速速设备,如如磁盘。 虚拟分分配适应应于虚拟拟设备。根根据设备备的使用用性质来来决定一一台设备备可以分分给几个个进程。第4章 设备管管理4.3 设备备分配与与回收4.3.2 设设备分配配应考虑虑的因素素2设备备的分配配算法 设备备的分配配算法主主要是确确定把设设备先分分给哪个个进程。设设备的分分配算法法有先来来先服务务和优先先权两种种。 先来先先服务算算法是根根据进程程发出请请求的先先后顺序序,把这这些进程程排成一一个设备备请求队队列,设设备分配配程序总总是把设设备分配配给队首首进程。 优先先权算法法
25、是按照照进程的的优先权权的高低低进行设设备分配配,谁的的优先权权高就先先把设备备分给谁谁,对优优先权相相同的按按照先请请求先服服务的算算法排队队。第4章 设备管管理4.3 设备备分配与与回收4.3.2 设设备分配配应考虑虑的因素素3设备备分配的的安全性性 设备分分配的安安全性是是指在设设备分配配中应防防止发生生进程的的死锁。设设备分配配的安全全性采用用的方法法有静态态分配策策略和动动态分配配策略,它它们可以以防止进进程死锁锁。 (11)静态态分配策策略。静静态分配配策略是是在作业业级进行行的,用用户作业业开始执执行前,由由系统一一次分配配给该作作业所要要求的全全部设备备、控制制器和通通道,直直
26、到该作作业撤消消为止。静静态分配配不会出出现死锁锁,但是是,设备备利用率率低。 (22)动态态分配策策略。动动态分配配策略是是在进程程执行过过程中,根根据执行行的需要要所进行行的设备备分配。动动态分配配提高了了设备的的利用率率,但是是分配不不当,会会造成进进程的死死锁。第4章 设备管管理4.3 设备备分配与与回收4.3.2 设设备分配配应考虑虑的因素素4设备备的独立立性 设备的的独立性性是指用用户在编编制程序序时所使使用的设设备与实实际使用用的设备备无关。为为此,要要求用户户程序对对输入输输出设备备的请求求采用逻逻辑设备备名,而而在程序序实际执执行时使使用物理理设备名名,它们们之间的的关系类类
27、似存储储管理中中的逻辑辑地址和和物理地地址的关关系。第4章 设备管管理4.3 设备备分配与与回收4.3.3 设设备分配配 在并发发进程环环境中,设设备分配配是由系系统完成成的,以以防止并并发进程程对设备备的无序序竞争。当当进程提提出设备备请求时时,系统统启动设设备分配配程序,按按照一定定的算法法为进程程分配设设备、设设备控制制器和通通道。 在在这三种种资源中中,通道道是最紧紧缺的资资源,设设备是最最充足的的资源,所所以,设设备分配配的步骤骤是:先先分配设设备,再再分配设设备控制制器,最最后分配配通道。1分配配设备 分配设设备的过过程如图图4-66所示。第4章 设备管管理4.3 设备备分配与与回
28、收4.3.3 设设备分配配1分配配设备 根据进进程提出出的设备备名查找找系统设设备表,若若没有找找到,则则显示出出错信息息,并结结束分配配; 否则,从从中找到到该设备备的设备备控制表表,查看看设备控控制表中中的设备备状态字字段。若若该设备备处于忙忙状态,则则将进程程插入到到该设备备的等待待队列;若设备备空闲,便便按照一一定的算算法来计计算本次次设备分分配的安安全性。若若分配不不会引起起死锁则则进行设设备分配配,修改改设备控控制表,把把状态字字段的值值由“0”改为进进程名,并并修改系系统设备备表,使使“现存设设备台数数”减少分分配的台台数;否否则,将将该进程程插入到到该设备备的等待待队列。第4章
29、 设备管管理4.3 设备备分配与与回收4.3.3 设设备分配配2分配配设备控控制器 分配设设备控制制器的过过程如图图4-77所示。 在系统统把设备备分配给给请求输输入输出出的进程程后,再再到设备备控制表表中找到到与该设设备相连连的控制制器控制制表,从从该表的的状态字字段中可可知该控控制器是是否忙碌碌。若控控制器忙忙,则将将进程插插入到等等待该控控制器的的队列;否则,将将该控制制器分配配给进程程,即修修改控制制器控制制表,把把状态字字段的值值由“0”改为进进程名。第4章 设备管管理4.3 设备备分配与与回收4.3.3 设设备分配配3分配配通道 分配通通道的过过程如图图4-88所示。 在分配配完设
30、备备控制器器后,从从控制器器控制表表中找到到与该控控制器相相连的通通道控制制表,从从该表的的状态字字段中可可知该通通道是否否忙碌。若若通道处处于忙碌碌状态,则则将该进进程插入入到等待待该通道道的队列列;否则则,将该该通道分分配给进进程,即即修改通通道控制制表,把把状态字字段的值值由“0”改为进进程名。第4章 设备管管理4.3 设备备分配与与回收4.3.4 设设备回收收 当进程程撤消或或设备使使用完毕毕后,要要进行设设备的回回收,设设备回收收的过程程如图44-9所所示。设设备回收收的步骤骤:(1)系系统根据据进程名名在设备备分配表表中找到到相应的的记录,把把设备状状态修改改为“0”表示未未分配,
31、若若该设备备的等待待队列不不空,则则唤醒队队首进程程,进行行设备分分配;(2)到到该设备备的控制制器控制制表中,把把其状态态由进程程名改为为“0”,若该该控制器器的等待待队列不不空,则则唤醒队队首进程程,进行行控制器器分配;(3)到到该控制制器的通通道控制制表中,把把其状态态由进程程名改为为“0”,若该该通道的的等待队队列不空空,则唤唤醒队首首进程,进进行通道道分配;(4)在在系统设设备表中中,把回回收设备备台数添添加到“现存设设备台数数”中。 第4章 设备管管理4.3 设备备分配与与回收4.3.5 对对设备分分配程序序的改进进 以上设设备分配配程序有有两个特特点,一一是,进进程是以以物理设设
32、备名来来提出输输入输出出请求的的。二是是,系统统采用的的是单通通路的输输入输出出系统结结构。这这样的系系统容易易产生“瓶颈”现象。为为此,对对设备分分配程序序做以下下改进: (11)增加加设备的的独立性性。进程程应以逻逻辑设备备名请求求输入输输出。系系统首先先根据系系统设备备表找到到第一个个该类设设备的设设备分配配表,若若该设备备忙,则则查找第第二个该该类设备备的设备备分配表表,仅当当所有该该类设备备都忙时时,才把把进程挂挂在该类类设备的的等待队队列上。这这样通过过增加设设备的独独立性,提提高了设设备分配配的安全全性。第4章 设备管管理4.3 设备备分配与与回收4.3.5 对对设备分分配程序序
33、的改进进 (2)考考虑多通通路情况况。系统统采用多多通路的的输入输输出系统统结构,如如图4-10所所示。 即一个个设备可可以由多多个控制制器控制制,一个个控制器器可以由由多个通通道控制制(即增增加图44-100中的虚虚线部分分)。这这样,可可以防止止系统出出现“瓶颈”现象。也也就是对对控制器器和通道道的分配配,同样样经过几几次反复复,只要要有一个个控制器器或通道道可用,系系统就可可以把它它分配给给进程。这这样,就就增加了了分配控控制器和和通道的的可能性性,提高高了设备备分配的的效率。第4章 设备管管理返回4.4 设备备处理设备处理理的任务务是把上上层软件件的抽象象要求变变为具体体要求发发送给设
34、设备控制制器,启启动设备备;将设设备控制制器发来来的信号号传送给给上层软软件。它它主要由由设备处处理程序序完成。设设备处理理程序也也称为设设备驱动动程序,它它是输入入输出进进程与设设备控制制器之间间的通信信程序。4.4.1 设设备驱动动程序的的功能和和特点1设备备驱动程程序的功功能 一是把把抽象要要求转化化为具体体要求。二二是检查查用户输输入输出出请求的的合法性性,了解解输入输输出设备备的状态态,传递递有关参参数,设设置设备备的工作作方式。三三是发出出输入输输出命令令,启动动分配到到的输入入输出设设备,完完成指定定的输入入输出操操作。四四是及时时响应由由控制器器或通道道发来的的中断请请求,并并
35、根据其其中断类类型调用用相应的的中断处处理程序序进行处处理。五五是对设设置有通通道的计计算机系系统,驱驱动程序序还应根根据用户户的输入入输出请请求,自自动地构构成通道道程序。第4章 设备管管理4.4 设备备处理4.4.1 设设备驱动动程序的的功能和和特点2设备备处理的的方式 设备备处理方方式有三三类: 一是是为每一一类设备备设置一一个进程程,专门门执行这这类设备备的输入入输出操操作。 二是是在整个个系统中中设置一一个输入入输出进进程,专专门负责责对系统统中所有有各类设设备的输输入输出出操作。 三是是不设置置专门的的设备处处理进程程,只为为各类设设备设置置相应的的设备处处理程序序,供用用户进程程
36、或系统统进程调调用。第4章 设备管管理4.4 设备备处理4.4.1 设设备驱动动程序的的功能和和特点3设备备驱动程程序的特特点 (11) 驱驱动程序序主要是是在请求求输入输输出的进进程与设设备控制制器之间间的一个个通信程程序。 (22) 驱驱动程序序与输入入输出设设备的特特性密切切相关。 (33) 驱驱动程序序与输入入输出控控制方式式紧密相相关。 (44) 驱驱动程序序与硬件件紧密相相关,其其部分被被固化在在ROMM 中。第4章 设备管管理4.4 设备备处理4.4.2 设设备驱动动程序的的处理过过程1将抽抽象要求求转化为为具体要要求 用户户及上层层软件对对设备控控制器的的具体情情况毫无无了解,
37、只只能向它它们发出出抽象的的要求,借借助设备备驱动程程序,转转化为具具体的要要求传送送给设备备控制器器。如将将盘块号号转换为为磁盘的的盘面、磁磁道号及及扇区号号。2检查查输入输输出请求求的合法法性 任何输输入设备备都只能能完成一一组特定定的功能能,如该该设备不不支持这这次输入入输出请请求,则则认为这这次输入入输出请请求非法法,又如如用户试试图让打打印机输输入数据据。3读出出和检查查设备的的状态 要启动动某个设设备进行行输入输输出操作作,其前前提条件件是该设设备正处处于空闲闲状态。因因此在启启动设备备之前,要要从设备备控制器器的状态态寄存器器中,读读出设备备的状态态。 第4章 设备管管理4.4
38、设备备处理4.4.2 设设备驱动动程序的的处理过过程4传送送必要的的参数 有许多多设备,特特别是块块设备,除除必须向向其控制制器发出出启动命命令外,还还需要传传送必要要的参数数。例如如,在启启动磁盘盘进行读读写之之前,应应先将本本次要传传送的字字节数、数数据应到到达的主主存始址址送入控控制器的的相应寄寄存器中中。5设置置工作方方式 有些设设备有多多种工作作方式,在在启动时时应选定定某种方方式,给给出必要要的数据据。在启启动该接接口之前前,应先先按通信信规程设设定下述述参数:波特率率、奇偶偶校验方方式、停停止位数数目及数数据字节节长度等等。6启动动输入输输出设备备 在完成成上述五五个工作作后,驱
39、驱动程序序可以向向控制器器的命令令寄存器器传送相相应的控控制命令令,启动动输入输输出设备备。基本本的输入入输出操操作是在在控制器器的控制制下进行行的。第4章 设备管管理返回4.5 设备备管理采采用的技技术4.5.1 缓缓冲技术术 为了提提高输入入输出设设备的速速度和利利用率,在在输入输输出设备备与处理理器交换换数据时时引入了了缓冲技技术。缓缓冲技术术是输入入输出设设备在与与主存交交换数据据时使用用缓冲区区的技术术。缓冲冲管理的的主要功功能是组组织好缓缓冲区,并并提供获获得和释释放缓冲冲区的手手段。1缓冲冲的引入入(1)缓缓和CPPU与输输入输出出设备间间速度不不匹配的的矛盾。 (2)减减少对C
40、CPU的的中断频频率,放放宽对中中断响应应时间的的限制。 (3)提提高CPPU与输输入输出出设备间间的并行行性。第4章 设备管管理4.5 设备备管理采采用的技技术4.5.1 缓缓冲技术术2单缓缓冲 单缓冲冲是指在在设备和和处理器器之间设设置一个个缓冲区区,用于于数据的的传输。 单缓冲冲的工作作原理如如图4-11所所示。 特点是是:在主主存中只只有一个个缓冲区区。对于于块设备备,该缓缓冲区可可以存放放一块数数据,对对于字符符设备,该该缓冲区区可以存存放一行行数据。设设备和处处理器对对缓冲区区的操作作是串行行的,传传输速度度慢。在在任一时时刻,只只能进行行单向的的数据传传输,并并且传输输数据量量较
41、少。 第4章 设备管管理4.5 设备备管理采采用的技技术4.5.1 缓缓冲技术术3双缓缓冲 双双缓冲是是指在设设备和处处理器之之间设置置两个缓缓冲区。 双双缓冲的的工作原原理如图图4-112所示示。 特点是是:在主主存中设设置两个个缓冲区区,完成成数据的的传输。两两个缓冲冲区可以以交替使使用,提提高了处处理器和和输入设设备的并并行操作作能力。在在任一时时刻,可可以进行行双向的的数据传传输。一一个缓冲冲区用于于输入,另另一个用用于输出出。适用用于输入入/输出出、生产产者/消消费者速速度基本本相匹配配的情况况。当传传输数据据量较大大,或者者两者的的速度相相差较远远时,双双缓冲区区效率较较低。 第4
42、章 设备管管理4.5 设备备管理采采用的技技术4.5.1 缓缓冲技术术4循环环缓冲 在设备备和处理理器之间间设置多多个大小小相等的的缓冲区区。每个个缓冲区区中有一一个链接接指针指指向下一一个缓冲冲区,最最后一个个缓冲区区指针指指向第一一个缓冲冲区,这这样构成成一个环环形缓冲冲区。 循环缓缓冲的工工作原理理如图44-133所示。 特点是是:在主主存中设设置多个个缓冲区区。读和和写可以以并行处处理,适适用于某某种特定定的输入入输出进进程和计计算进程程,如输输入/输输出、生生产者/消费者者速度不不相匹配配的情况况。循环环缓冲区区属于专专用缓冲冲区。当当系统较较大时,使使用多个个这样的的缓冲区区要消耗
43、耗大量的的主存空空间,降降低缓冲冲区的使使用效率率。 第4章 设备管管理4.5 设备备管理采采用的技技术4.5.1 缓缓冲技术术5缓冲冲池 当系系统较大大时,可可以利用用供多个个进程共共享的缓缓冲池来来提高缓缓冲区的的利用率率。缓冲冲池的组组成包括括空(闲闲)缓冲冲区、装装满输入入数据的的缓冲区区、装满满输出数数据的缓缓冲区,同同类缓冲冲区以链链队的形形式存在在。另外外,还应应有四种种工作缓缓冲区:用于收收容输入入数据的的工作缓缓冲区、用用于提取取输入数数据的工工作缓冲冲区、用用于收容容输出数数据的工工作缓冲冲区、用用于提取取输出数数据的工工作缓冲冲区。 缓缓冲池的的工作原原理如图图4-114所示示。 特特点是:缓冲池池结构复复杂,在在主存中中设置公公用缓冲冲池,在在池中设设置多个个可以供供多个进进程共享享的缓冲冲区。缓缓冲区既既