《[精选]设备管理培训教材(PPT 48页)25676.pptx》由会员分享,可在线阅读,更多相关《[精选]设备管理培训教材(PPT 48页)25676.pptx(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第七章第七章 设备管理设备管理操作系统课程组操作系统课程组操作系统课程组操作系统课程组一、引言一、引言设备的概念设备的概念设备的概念设备的概念v一个计算机系统就是由大量的设备构成的,例如:一个计算机系统就是由大量的设备构成的,例如:CPU,磁盘,显卡、显示器、鼠标、键盘等。这些设备的特,磁盘,显卡、显示器、鼠标、键盘等。这些设备的特点和功能各不相同。在这些设备中,有一类是作为计算点和功能各不相同。在这些设备中,有一类是作为计算机系统与外界交互的工具使用的,它具体负责计算机与机系统与外界交互的工具使用的,它具体负责计算机与外部的输入输出工作,我们称这类设备为外部设备简称外部的输入输出工作,我们
2、称这类设备为外部设备简称为外设,本章重点研究的就是操作系统中对这类设备的为外设,本章重点研究的就是操作系统中对这类设备的管理策略。管理策略。设备管理的目标设备管理的目标设备管理的目标设备管理的目标v如何提高设备的利用率:就是提高如何提高设备的利用率:就是提高CPU与与I/O设备之间的设备之间的并行操作程度。并行操作程度。v为用户提供方便统一的界面:方便是指用户能独立于具为用户提供方便统一的界面:方便是指用户能独立于具体设备的复杂物理特性之外而方便地使用设备;统一是体设备的复杂物理特性之外而方便地使用设备;统一是指对不同的设备尽量使用统一的操作方式。指对不同的设备尽量使用统一的操作方式。2一、引
3、言一、引言设备管理的任务设备管理的任务设备管理的任务设备管理的任务v动态地掌握并记录设备的状态动态地掌握并记录设备的状态v设备分配和释放设备分配和释放v缓冲区管理缓冲区管理v实现物理实现物理I/O设备的操作设备的操作v提供设备使用的用户接口提供设备使用的用户接口v设备的访问和控制设备的访问和控制vI/O缓冲和调度缓冲和调度3二、二、I/O系统概述系统概述I/OI/O系统的结构系统的结构系统的结构系统的结构v单总线结构单总线结构v具有通道系统的具有通道系统的I/O系统系统bus4二、二、I/O系统概述系统概述I/OI/O系统的控制方式系统的控制方式系统的控制方式系统的控制方式v直接控制方式直接控
4、制方式CPU优点:简单。优点:简单。缺点:缺点:CPU的大部分时间都的大部分时间都用于对硬件进行测试,效率用于对硬件进行测试,效率低下。低下。5二、二、I/O系统概述系统概述v中断驱动中断驱动I/OCPU启动外设启动外设data发出中断发出中断优点:在外设进行数据优点:在外设进行数据处理时,处理时,CPU不必等待,不必等待,可以继续执行该程序或可以继续执行该程序或其他程序。提高了其他程序。提高了CPU的利用率。中断技术使的利用率。中断技术使得得CPU和外设之间的并和外设之间的并行工作成为可能。行工作成为可能。缺点:数据仍然需要通过缺点:数据仍然需要通过CPU进行传输,由于进行传输,由于CPU每
5、每次处理的数据量少,因此这种方式只适于数据传输率次处理的数据量少,因此这种方式只适于数据传输率较低的设备。较低的设备。6二、二、I/O系统概述系统概述v直接存储访问直接存储访问I/O(DMA,Direct Memory Access)CPU启动外设启动外设data发出中断发出中断DMA控制器控制器启动指令启动指令中断中断优点:优点:CPU只需干预只需干预I/O操作的开始和结束,而其中的数据读操作的开始和结束,而其中的数据读写无需写无需CPU控制,适于高速设备。控制,适于高速设备。7CPU二、二、I/O系统概述系统概述v通道控制方式通道控制方式I/OI/O处处理机理机一个一个CPU可以连接若干个
6、通道,一个通道可以连接若干可以连接若干个通道,一个通道可以连接若干个控制器,一个控制器可以连接若干个设备。个控制器,一个控制器可以连接若干个设备。优点:解决了优点:解决了I/O操作的独立性和各部件工作的并行性。通道把中央处操作的独立性和各部件工作的并行性。通道把中央处理机从繁琐的输入输出操作中解放出来。采用通道技术后,不仅能实理机从繁琐的输入输出操作中解放出来。采用通道技术后,不仅能实现现CPU和通道的并行操作,而且通道与通道之间也能实现并行操作,和通道的并行操作,而且通道与通道之间也能实现并行操作,各通道上的外围设备也能实现并行操作,从而可达到提高整个系统的各通道上的外围设备也能实现并行操作
7、,从而可达到提高整个系统的效率的根本目的。效率的根本目的。8二、二、I/O系统概述系统概述I/OI/O设备的分类设备的分类设备的分类设备的分类v按数据组织分类按数据组织分类块设备块设备(Block Device):指以数据块为单位来组织和:指以数据块为单位来组织和传送数据信息的设备。这类设备用于存储信息,有磁传送数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。它属于有结构设备。磁盘设备的基本特盘和磁带等。它属于有结构设备。磁盘设备的基本特征是:征是:传输速率较高,通常每秒钟为几兆位;传输速率较高,通常每秒钟为几兆位;它是可寻址的,即可随机地读它是可寻址的,即可随机地读/写任意一块;写任意
8、一块;磁盘磁盘设备的设备的I/O采用采用DMA方式。方式。字符设备字符设备(Character Device):指以单个字符为单位:指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的输来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。它属于无结构入和输出,有交互式终端、打印机等。它属于无结构设备。字符设备的基本特征是:设备。字符设备的基本特征是:传输速率较低;传输速率较低;不可寻址,即不能指定输入时的源地址或输出时的不可寻址,即不能指定输入时的源地址或输出时的目标地址;目标地址;字符设备的字符设备的I/O常采用中断驱动方式。常采用中断驱动方式。9二、二
9、、I/O系统概述系统概述v从资源分配角度分类从资源分配角度分类独占设备:指在一段时间内只允许一个用户(进程)独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的访问的设备,大多数低速的I/O设备,如用户终端、设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。所以多个并发进程必须互斥地进行访问。共享设备:指在一段时间内允许多个进程同时访问的共享设备:指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘。共享设备不仅可以获设备。典型的共享设备是磁盘。共享设备不仅可以获得良
10、好的设备利用率,而且是实现文件系统和数据库得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。系统的物质基础。虚拟设备:指通过虚拟技术将一台独占设备变换为若虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技术(利用假脱机技术(SPOOLing技术)实现虚拟设备。技术)实现虚拟设备。10二、二、I/O系统概述系统概述v按数据传输率分类按数据传输率分类低速设备:指传输速率为每秒钟几个字节到数百个字低速设备:指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入等;
11、节的设备。典型的设备有键盘、鼠标、语音的输入等;中速设备:指传输速率在每秒钟数千个字节至数十千中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印个字节的设备。典型的设备有行式打印机、激光打印机等;机等;高速设备:指传输速率在数百千个字节至数兆字节的高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。设备。典型的设备有磁带机、磁盘机、光盘机等。11三、三、I/O软件的组成软件的组成设备管理软件的组成部分设备管理软件的组成部分设备管理软件的组成部分设备管理软件的组成部分vI/O交通管制程序:负责各交通管制程序:负责各I
12、/O设备之间的协调工作;设备之间的协调工作;vI/O调度程序:负责设备的分配和调度;调度程序:负责设备的分配和调度;vI/O设备处理程序:负责每类设备的具体操作。设备处理程序:负责每类设备的具体操作。I/OI/O软件的设计目标软件的设计目标软件的设计目标软件的设计目标v设备独立性设备独立性(device independence)通过某种技术使得软件和硬件彼此相对比较独立。这通过某种技术使得软件和硬件彼此相对比较独立。这样,除了直接与设备打交道的低层软件之外,其他部样,除了直接与设备打交道的低层软件之外,其他部分的软件并不依赖于硬件。分的软件并不依赖于硬件。优点:优点:降低操作系统和底层硬件之
13、间的耦合性,增强了降低操作系统和底层硬件之间的耦合性,增强了操作系统的适应能力。操作系统的适应能力。方便了用户的使用。方便了用户的使用。12三、三、I/O软件的组成软件的组成v统一命名统一命名系统中,每种设备都是有名称的,如何命名以方便系系统中,每种设备都是有名称的,如何命名以方便系统管理和用户使用是一个重要的问题。统管理和用户使用是一个重要的问题。这里的统一命名是指在系统中采取预先设计的、统一这里的统一命名是指在系统中采取预先设计的、统一的逻辑名称,对各类设备进行命名,并且应用在同设的逻辑名称,对各类设备进行命名,并且应用在同设备有关的全部软件模块中。备有关的全部软件模块中。命名方式:通常的
14、做法是,用一个序列字符串或一个命名方式:通常的做法是,用一个序列字符串或一个整数来表征一个输入输出设备的名字。这个统一命名整数来表征一个输入输出设备的名字。这个统一命名不依赖于设备,也就是说在同一个名称,其对应的物不依赖于设备,也就是说在同一个名称,其对应的物理设备可能发生了变化,但它并不在该名称上体现。理设备可能发生了变化,但它并不在该名称上体现。例如在例如在UNIX中,设备采用统一命名和处理的方式。中,设备采用统一命名和处理的方式。13三、三、I/O软件的组成软件的组成I/OI/O软件的结构软件的结构软件的结构软件的结构外部外部I/O设备设备用户用户设备驱动程序设备驱动程序与设备无关的系统
15、软件与设备无关的系统软件用户级软件用户级软件分层设计思想分层设计思想中断处理程序中断处理程序14三、三、I/O软件的组成软件的组成中断处理程序中断处理程序中断处理程序中断处理程序v中断机制原理中断机制原理v设备管理程序与中断的关系设备管理程序与中断的关系设置中断的目的:解决高速处理设备和低速输入输出设置中断的目的:解决高速处理设备和低速输入输出设备之间的矛盾,提高系统工作效率。设备之间的矛盾,提高系统工作效率。设备管理设备管理程序程序外设外设启动指令启动指令中断请求中断请求data15三、三、I/O软件的组成软件的组成设备驱动程序设备驱动程序设备驱动程序设备驱动程序v设备驱动程序是直接同硬件打
16、交道的软件模块。一般而设备驱动程序是直接同硬件打交道的软件模块。一般而言,设备驱动程序的任务为:接受来自与设备无关的上言,设备驱动程序的任务为:接受来自与设备无关的上层软件的抽象请求;进行与设备相关的处理。具体说来,层软件的抽象请求;进行与设备相关的处理。具体说来,其功能主要有:其功能主要有:控制和监督各控制和监督各I/O控制器的正确执行,并进行必要的控制器的正确执行,并进行必要的错误处理。错误处理。处理和设备相关的操作,如排队、挂起、唤醒等。处理和设备相关的操作,如排队、挂起、唤醒等。缓冲区管理。缓冲区管理。进行一些较为底层的和具体设备相关的处理工作。进行一些较为底层的和具体设备相关的处理工
17、作。16三、三、I/O软件的组成软件的组成v设备驱动程序的特点设备驱动程序的特点与与I/O设备的硬件结构密切联系,是操作系统底层中设备的硬件结构密切联系,是操作系统底层中唯一知道各种输入输出设备的控制器细节及其用途的唯一知道各种输入输出设备的控制器细节及其用途的部分。部分。例如,只有磁盘驱动程序具体了解磁盘的区段、磁道、例如,只有磁盘驱动程序具体了解磁盘的区段、磁道、柱面、磁头、磁臂的运动、交错访问系数、马达驱动柱面、磁头、磁臂的运动、交错访问系数、马达驱动器、磁头定位次数以及所有保证磁盘正常工作的机制,器、磁头定位次数以及所有保证磁盘正常工作的机制,其他软件根本不过问这些硬件操作的细节。其他
18、软件根本不过问这些硬件操作的细节。17三、三、I/O软件的组成软件的组成v设备驱动程序的结构设备驱动程序的结构由于驱动程序和硬件的结构有着密切的联系,因此不由于驱动程序和硬件的结构有着密切的联系,因此不同的硬件其启动程序的结构以也不同。同的硬件其启动程序的结构以也不同。但是对于略有差异的同一类设备,为了方面使用,系但是对于略有差异的同一类设备,为了方面使用,系统往往会提供一个通用的设备驱动程序。当然为了追统往往会提供一个通用的设备驱动程序。当然为了追求更好的性能,用户可以使用厂家提供的专门为该设求更好的性能,用户可以使用厂家提供的专门为该设备编写的设备驱动程序。备编写的设备驱动程序。18三、三
19、、I/O软件的组成软件的组成与设备无关的系统软件与设备无关的系统软件与设备无关的系统软件与设备无关的系统软件v是建立在设备驱动程序之上的,与具体设备无关的是建立在设备驱动程序之上的,与具体设备无关的I/O功功能的集合能的集合(例如所有设备都需要的例如所有设备都需要的I/O功能功能)。v功能:功能:统一命名:将统一命名:将设备的符号名映射到相应的设备驱动程设备的符号名映射到相应的设备驱动程序上,对外提供同一的命名方式。序上,对外提供同一的命名方式。设备保护:对设备进行必要的保护,防止无授权的应设备保护:对设备进行必要的保护,防止无授权的应用或用户的非法使用。用或用户的非法使用。提供与设备无关的逻
20、辑块:屏蔽底层各种提供与设备无关的逻辑块:屏蔽底层各种I/O设备空设备空间大小、处理速度和传输速率的差异,只向上层提供间大小、处理速度和传输速率的差异,只向上层提供大小统一的逻辑块尺寸。大小统一的逻辑块尺寸。缓冲管理缓冲管理19三、三、I/O软件的组成软件的组成存储设备的块分配:查找一个存储设备的空闲块并进存储设备的块分配:查找一个存储设备的空闲块并进行分配。行分配。独占设备的分配和释放独占设备的分配和释放出错处理:一般来说出错处理:一般来说I/O错误有两种错误有两种操作故障:由驱动程序处理。操作故障:由驱动程序处理。非操作故障:如磁盘受损而不能再读,由与设备非操作故障:如磁盘受损而不能再读,
21、由与设备无关的系统软件处理,并向上层返回出错信息。无关的系统软件处理,并向上层返回出错信息。用户空间的用户空间的用户空间的用户空间的I/OI/O软件软件软件软件v常见的主要有常见的主要有I/O系统调用系统调用Spooling系统:构成虚拟设备。系统:构成虚拟设备。20三、三、I/O软件的组成软件的组成I/OI/O系统的层次结构与每层的主要功能系统的层次结构与每层的主要功能系统的层次结构与每层的主要功能系统的层次结构与每层的主要功能21四、具有通道的设备管理四、具有通道的设备管理通道通道通道通道CPUI/O处处理机理机22四、具有通道的设备管理四、具有通道的设备管理通道的类型通道的类型通道的类型
22、通道的类型v字节多路通道(字节多路通道(Byte Multiplexor Channel)v数组选择通道(数组选择通道(Block Selector Channel)主通道主通道子通道子通道1子通道子通道2子通道子通道n设备设备1设备设备2设备设备n低速设备,传低速设备,传输单位为字节输单位为字节可以获得较好的通道利用率可以获得较好的通道利用率 可分配可分配型通道型通道设备设备1设备设备2设备设备n高速设备,一次高速设备,一次传输一组数据传输一组数据可以获得较好的数据传输速率可以获得较好的数据传输速率23四、具有通道的设备管理四、具有通道的设备管理v数组多路通道(数组多路通道(Block Mu
23、ltiplexor Channel)“瓶颈瓶颈瓶颈瓶颈”问题问题问题问题主通道主通道子通道子通道1子通道子通道2子通道子通道n设备设备1设备设备2设备设备n高速设备,一次高速设备,一次传输一组数据传输一组数据即具有很高的数据传输速率,又能获得令人满意的通道利用率。即具有很高的数据传输速率,又能获得令人满意的通道利用率。CPU24四、具有通道的设备管理四、具有通道的设备管理术语:术语:术语:术语:v通道命令通道命令(Channel Command Word,CCW):通道又:通道又称为称为I/O处理机,具有自己的指令系统,常常把处理机,具有自己的指令系统,常常把I/O处理处理机的指令称通道命令。
24、机的指令称通道命令。v通道程序:用通道命令编写的程序称通道程序,通道通通道程序:用通道命令编写的程序称通道程序,通道通过执行通道程序控制过执行通道程序控制I/O设备运行。设备运行。v通道地址字通道地址字(Channel Address Word,CAW):用来存:用来存放通道程序首地址的内存单元称通道地址字。放通道程序首地址的内存单元称通道地址字。v通道状态字通道状态字(Channel Status Word,CSW):是通道向:是通道向操作系统报告工作情况的状态汇集。操作系统报告工作情况的状态汇集。25四、具有通道的设备管理四、具有通道的设备管理通道的工作原理通道的工作原理通道的工作原理通道
25、的工作原理26五、与设备管理有关的技术五、与设备管理有关的技术DMADMA技术技术技术技术(Direct Memory Access,DMA)(Direct Memory Access,DMA)CPU启动外设启动外设data发出中断发出中断DMA控制器控制器启动指令启动指令中断中断优点:优点:CPU只需干预只需干预I/O操作的开始和结束,而其中的数操作的开始和结束,而其中的数据读写无需据读写无需CPU控制,适于高速设备。控制,适于高速设备。内存内存传送一个传送一个数据块数据块高速高速设备设备27五、与设备管理有关的技术五、与设备管理有关的技术缓冲技术缓冲技术缓冲技术缓冲技术v缓冲区是一种交换数
26、据的区域。缓冲区是一种交换数据的区域。缓冲技术的分类缓冲技术的分类缓冲技术的分类缓冲技术的分类v单缓冲技术单缓冲技术(single buffer)只设置一个缓冲,只设置一个缓冲,CPU和外设轮流使用。和外设轮流使用。CPU28五、与设备管理有关的技术五、与设备管理有关的技术v双缓冲双缓冲(double buffer)适合于外设速度较高的情况。适合于外设速度较高的情况。29五、与设备管理有关的技术五、与设备管理有关的技术v环形缓冲环形缓冲用于低速用于低速I/O设备设备结构结构30五、与设备管理有关的技术五、与设备管理有关的技术v环形缓冲的两种现象环形缓冲的两种现象系统受限计算:系统受限计算:Ne
27、xti追上追上Nextg系统受限系统受限I/O:Nextg追上追上Nexti31五、与设备管理有关的技术五、与设备管理有关的技术v缓冲池缓冲池(buffer pool)可供多个进程共享的双向缓冲技术。可供多个进程共享的双向缓冲技术。缓冲池缓冲池空缓冲队列空缓冲队列输入队列输入队列输出队列输出队列32五、与设备管理有关的技术五、与设备管理有关的技术总线技术总线技术总线技术总线技术v总线的定义:计算机中连接各个部件的一组线路。总线的定义:计算机中连接各个部件的一组线路。v优点:便于部件和设备的扩充,使不同设备间的互连更优点:便于部件和设备的扩充,使不同设备间的互连更加容易。加容易。总线的结构总线的
28、结构总线的结构总线的结构v单总线单总线bus优点:简单优点:简单缺点:总线只能分时工作,使信息传送的吞吐量受到限制。缺点:总线只能分时工作,使信息传送的吞吐量受到限制。33五、与设备管理有关的技术五、与设备管理有关的技术v双总线双总线bus存储存储总线总线在双总线结构中,因为在双总线结构中,因为CPU可以通过存储总线访问主存,故减轻了系统总可以通过存储总线访问主存,故减轻了系统总线的负担,同时加大了信息传送的吞吐量。线的负担,同时加大了信息传送的吞吐量。34五、与设备管理有关的技术五、与设备管理有关的技术v三总线三总线三总线结构采用了通道三总线结构采用了通道(I/O处理机处理机),它减轻了,它
29、减轻了CPU的数据的的数据的I/O控制,是控制,是整个系统的效率得到了很大的提高,所以,在中型、大型计算机系统中采整个系统的效率得到了很大的提高,所以,在中型、大型计算机系统中采用三总线结构。用三总线结构。35五、与设备管理有关的技术五、与设备管理有关的技术总线的类型总线的类型总线的类型总线的类型v内部总线内部总线计算机内部各外围芯片与处理器之间的总线,用于芯计算机内部各外围芯片与处理器之间的总线,用于芯片一级的互连。片一级的互连。v系统总线系统总线系统总线是计算机中各插件板与系统板之间的总线,系统总线是计算机中各插件板与系统板之间的总线,用于插件板一级的互连。用于插件板一级的互连。v外部总线
30、外部总线计算机和外部设备之间的总线,它用于设备一级的互计算机和外部设备之间的总线,它用于设备一级的互连。连。36六、六、UNIX设备管理设备管理UNIXUNIX的设备种类的设备种类的设备种类的设备种类v块设备块设备v字符设备字符设备UNIXUNIX设备管理的主要特点设备管理的主要特点设备管理的主要特点设备管理的主要特点v块设备与字符设备具有相似的层次结构。这是指对它们块设备与字符设备具有相似的层次结构。这是指对它们的控制方法和所采用的数据结构、层次结构几乎相同。的控制方法和所采用的数据结构、层次结构几乎相同。v将设备作为一个特殊文件,并赋予一个文件名。这样,将设备作为一个特殊文件,并赋予一个文
31、件名。这样,对设备的使用类似于对文件的存取,具有统一的接口。对设备的使用类似于对文件的存取,具有统一的接口。v采用完善的缓冲区管理技术。引入采用完善的缓冲区管理技术。引入“预先读预先读”、“异步写异步写”和和“延迟写延迟写”方式,进一步提高系统效率。方式,进一步提高系统效率。37六、六、UNIX设备管理设备管理UNIXUNIX设备管理用到的主要数据结构设备管理用到的主要数据结构设备管理用到的主要数据结构设备管理用到的主要数据结构v缓存与缓存控制块缓存与缓存控制块缓冲池缓冲池容量:容量:512/2048字节字节struct buf int b_flage;/*缓冲区标志缓冲区标志*/struct
32、 buf*b_forw;/*设备队列前向指针设备队列前向指针*/struct buf*b_back;/*设备队列后向指针设备队列后向指针*/struct buf*av_forw;/*自由队列前向指针自由队列前向指针*/struct buf*av_back;/*自由队列后向指针自由队列后向指针*/dev_tb_dev;/*逻辑设备号逻辑设备号*/unsigned b_bcount;/*传送数据字节数传送数据字节数*/union caddr_t b_addr;/*缓冲区内存首地址缓冲区内存首地址*/int b_words;/*要刷新的起始地址要刷新的起始地址*/struct filsys*b_fi
33、lsys;/*超级块超级块*/struct dinode*b_dino;/*磁盘磁盘inode表表*/daddr_t *b_daddr;/*间接块间接块*/b_un;daddr_t b_blkno;/*磁盘上数据的块号磁盘上数据的块号*/char b_error;/*返回给调用者的出错信息返回给调用者的出错信息*/unsigned int b_resid;/*因出错而未被传送的数据字节数因出错而未被传送的数据字节数*/time_t b_start;/*I/O请求起始时间请求起始时间*/struct proc*b_proc;/*执行物理或兑换执行物理或兑换I/O的进程的进程*/bufNBUF;3
34、8六、六、UNIX设备管理设备管理v块设备表块设备表UNIX中为每个块设备设置了一张管理表,称为块设中为每个块设备设置了一张管理表,称为块设备表。备表。结构:结构:块设备表块设备表struct iobuf int b_flags;/*设备队列的状况标志设备队列的状况标志*/struct buf*b_forw;/*指向本设备的第一个缓冲区指向本设备的第一个缓冲区*/struct buf*b_back;/*指向本设备的最后一个缓冲区指向本设备的最后一个缓冲区*/struct buf*b_actf;/*指向本设备指向本设备I/O请求队列中的第一个缓冲区请求队列中的第一个缓冲区*/struct buf
35、*b_actl;/*指向本设备指向本设备I/O请求队列中的最后一个缓冲区请求队列中的最后一个缓冲区*/dev_t b_dev;/*设备名设备名*/char_b_active;/*设备正在执行一个设备正在执行一个I/O请求的标志请求的标志*/char_b_errcnt;/*出错计数出错计数*/struct eblock*io_erec;/*指向块设备错误记录块指向块设备错误记录块*/int io_nreg;/*设备寄存器的个数设备寄存器的个数*/physadr io_addr;/*设备控制状态寄存器地址设备控制状态寄存器地址*/physadr io_mba;/*MBA配置结构寄存器地址配置结构寄
36、存器地址*/struct iostat*io_stp;/*指向部件指向部件I/O统计块统计块*/time_t io_start;/*输入输出启动时间输入输出启动时间*/int io_s1;/*驱动程序留用位数驱动程序留用位数*/int io_s2;/*驱动程序留用位数驱动程序留用位数*/;39六、六、UNIX设备管理设备管理块设备开关表块设备开关表块设备开关表块设备开关表vUNIX中每类设备都有驱动程序,每个驱动程序都包含了中每类设备都有驱动程序,每个驱动程序都包含了用于执行不同操作的多个函数,如打开、关闭、启动设用于执行不同操作的多个函数,如打开、关闭、启动设备、读和写等函数。为了方便操作,
37、系统为每类设备设备、读和写等函数。为了方便操作,系统为每类设备设置了一个设备开关表。置了一个设备开关表。v设备开关表:是每个设备驱动程序的一系列接口函数的设备开关表:是每个设备驱动程序的一系列接口函数的入口地址表,文件系统可通过开关表中的各函数入口地入口地址表,文件系统可通过开关表中的各函数入口地址转向适当的驱动程序入口。址转向适当的驱动程序入口。40六、六、UNIX设备管理设备管理41六、六、UNIX设备管理设备管理字符设备的缓存管理字符设备的缓存管理字符设备的缓存管理字符设备的缓存管理v字符缓存用于解决字符缓存用于解决CPU与字符设备间速度不匹配的矛盾,与字符设备间速度不匹配的矛盾,由于字
38、符缓存很短,所以由于字符缓存很短,所以UNIX在实现上没有设置专门的在实现上没有设置专门的缓存控制块,其字符缓存的结构如下:缓存控制块,其字符缓存的结构如下:struct cblock struct cblock*c_next;/*字符缓存指针字符缓存指针*/char info6;/*字符缓存信息区字符缓存信息区*/;c_next缓冲池缓冲池42六、六、UNIX设备管理设备管理v自由字符缓存队列自由字符缓存队列由空闲的字符缓存构成自由队列。由空闲的字符缓存构成自由队列。struct cblock*cfreelist 字符缓存的分配和释放都是在队首进行。字符缓存的分配和释放都是在队首进行。43六
39、、六、UNIX设备管理设备管理vI/O字符缓存队列字符缓存队列字符设备通过字符缓存进行输入或输出。各个正被使字符设备通过字符缓存进行输入或输出。各个正被使用的字符缓存按照它们的不同用途形成多个用的字符缓存按照它们的不同用途形成多个I/O队列,队列,每个队列设置一个控制块,其结构如下每个队列设置一个控制块,其结构如下:struct list int c_cc;/*字符计数器字符计数器*/int c_cf;/*缓存队列首指针缓存队列首指针*/int c_cl;/*缓存队列尾指针缓存队列尾指针*/;c_ccc_cfc_cl44六、六、UNIX设备管理设备管理45六、六、UNIX设备管理设备管理字符缓存管理字符缓存管理字符缓存管理字符缓存管理v取字符和释放字符缓存取字符和释放字符缓存 46六、六、UNIX设备管理设备管理v送字符和分配字符缓存送字符和分配字符缓存47作业作业作业作业P313 习题习题1,5,8,48演讲完毕,谢谢观看!