[精选]第5章 设备管理【南理工王晓峰老师版权所有】.pptx





《[精选]第5章 设备管理【南理工王晓峰老师版权所有】.pptx》由会员分享,可在线阅读,更多相关《[精选]第5章 设备管理【南理工王晓峰老师版权所有】.pptx(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 设备管理操作系统中负责操作系统中负责I/OI/O设备管理的局部称为设备管理的局部称为I/OI/O系统,完成设备管理功能,对系统,完成设备管理功能,对OSOS影响非常大。影响非常大。与处理机管理、存储器管理密切相关,设备与处理机管理、存储器管理密切相关,设备管理因此常常作为操作系统内核的一局部。管理因此常常作为操作系统内核的一局部。设备管理的主要对象:设备管理的主要对象:I/O设备,设备控制设备,设备控制器和器和I/O通道。通道。设备管理的基本任务:完成用户提出的设备管理的基本任务:完成用户提出的I/O请求,提高请求,提高I/O效率,提高效率,提高I/O设备的利用设备的利用率。率。设备管
2、理的主要功能:缓冲区管理,设备分设备管理的主要功能:缓冲区管理,设备分配,设备处理,虚拟设备,实现设备独立性。配,设备处理,虚拟设备,实现设备独立性。I/O设备种类多操作差异大,设备管理是操设备种类多操作差异大,设备管理是操作系统中最繁杂且与硬件最紧密相关的局部。作系统中最繁杂且与硬件最紧密相关的局部。5.1 I/O5.1 I/O系统概述系统概述I/OI/O系统的组成主要包括:系统的组成主要包括:I/OI/O设备、设备控设备、设备控制器及相关接口、总线等,大型主机还包括制器及相关接口、总线等,大型主机还包括I/OI/O通道。通道。5.1.1 I/O设备1 1、I/OI/O设备的类型设备的类型1
3、 1按传输速率分类按传输速率分类低速:键盘、鼠标、语音输入输出设备。低速:键盘、鼠标、语音输入输出设备。中速:行式打印机、激光打印机。中速:行式打印机、激光打印机。高速:磁盘、磁带、光盘。高速:磁盘、磁带、光盘。2 2按信息交换单位分类信息组织方式按信息交换单位分类信息组织方式:块设备:信息的存取以数据块为单位,如磁块设备:信息的存取以数据块为单位,如磁盘适合盘适合DMADMA方式方式字符设备:信息的存取以字符为单位,如打字符设备:信息的存取以字符为单位,如打印机、交互式终端。印机、交互式终端。3 3按设备共享属性分类:按设备共享属性分类:独占:如打印机独占:如打印机共享:如磁盘共享:如磁盘虚
4、拟:通过虚拟技术将一台独占设备变换为虚拟:通过虚拟技术将一台独占设备变换为假设干台逻辑设备,供多个进程同时使用。假设干台逻辑设备,供多个进程同时使用。2 2、设备与控制器之间的接口、设备与控制器之间的接口设备不直接同计算机连接,一般是通过专用设备不直接同计算机连接,一般是通过专用的电缆线连接控制器与设备。的电缆线连接控制器与设备。两者传递的信号主要是三类:两者传递的信号主要是三类:1数据信号:控制器到设备输出、数据信号:控制器到设备输出、设备到控制器输入设备到控制器输入2控制信号:控制器到设备控制信号:控制器到设备3状态信号:设备到控制器状态信号:设备到控制器在小型机和微型机中,控制器一般直接
5、做成在小型机和微型机中,控制器一般直接做成印刷电路板插入计算机在微机中习惯称为印刷电路板插入计算机在微机中习惯称为卡,如图形加速卡,网卡卡,如图形加速卡,网卡5.1.2I/O管理目标管理目标设备管理要到达的主要目标是:设备管理要到达的主要目标是:1.提供统一界面、方便用户使用提供统一界面、方便用户使用使用逻辑操作和逻辑设备名掩盖设备的物使用逻辑操作和逻辑设备名掩盖设备的物理细节。理细节。程序对设备的独立性:在源程序和目标程程序对设备的独立性:在源程序和目标程序中都使用设备符号名逻辑设备名;序中都使用设备符号名逻辑设备名;提供设备管理与文件系统的统一接口;向提供设备管理与文件系统的统一接口;向程
6、序提供设备重定向功能。程序提供设备重定向功能。2.发挥系统的并行性,提高发挥系统的并行性,提高I/O设备使用效设备使用效率。率。采用各种软硬结合的技术使设备、采用各种软硬结合的技术使设备、CPU、用、用户程序、人这四者到达最高程度的并行户程序、人这四者到达最高程度的并行采用的技术有:中断技术、缓冲技术、设备采用的技术有:中断技术、缓冲技术、设备共享和假脱机技术。共享和假脱机技术。3.实现设备的正确、安全使用实现设备的正确、安全使用设备保护设备保护技术:掩盖细节的高级接口;命名与权限管技术:掩盖细节的高级接口;命名与权限管理;只有特权指令才能使用设备硬件接口。理;只有特权指令才能使用设备硬件接口
7、。5.1.3I/O管理功能管理功能1.缓冲区管理缓冲区管理计计算算机机系系统统中中各各个个部部件件速速度度的的差差异异很大。很大。中中央央处处理理机机的的速速度度以以纳纳秒秒计,计,外外部部设设备备的的处处理理速速度度则则以以毫毫秒秒甚甚至至秒秒计。计。在在不不同同时时刻,刻,系系统统各各部部分分的的负负荷荷也也常常常常很很不不均均衡。为充分发挥并行性,衡。为充分发挥并行性,引入缓冲技术。引入缓冲技术。2.外围设备的分配外围设备的分配按按照照设设备备的的类类型型独独享、享、共共享享或或虚虚拟拟和和系系统统中中所所采采用用的的分分配配算算法,法,决决定定把把一一个个I/O设设备备分分配配给给哪哪
8、一一个个要要求求该该类类设设备备的的进进程。程。在在大、大、中中系系统统中,中,分分配配设设备备的的同同时,时,还还应应分分配配相相应应的的控控制制器器和和通通道,道,以以保保证证I/O设设备备与与CPU之之间间有有传传递递信信息息的的通通路;路;凡凡未未分分配配到到所所需需设设备备或或控控制制器器或或通通道道的的进进程,程,应应放入放入相相应应的的等等待待队队列。列。设设备备分分配配程程序序就就是是用用来来实实现现这这一一功功能能的。的。3.设备处理设备处理设备处理程序又叫设备驱动程序。设备处理程序又叫设备驱动程序。4.虚拟设备及实现设备独立性虚拟设备及实现设备独立性5.1.4I/O应用接口
9、应用接口I/O系统必须采用某种技术使系统必须采用某种技术使I/O设备可以设备可以按统一的标准方式对待。按统一的标准方式对待。采用的方式有:抽象、包装与软件分层采用的方式有:抽象、包装与软件分层可以从不同的可以从不同的I/O设备中抽象出一些通用类设备中抽象出一些通用类型。每个通用类型都可以通过一组标准函数型。每个通用类型都可以通过一组标准函数即接口来访问。具体的差异被内核模块即接口来访问。具体的差异被内核模块设备驱动程序所封装。设备驱动程序所封装。不同设备有自己的驱动程序,但提供了一组不同设备有自己的驱动程序,但提供了一组标准接口。标准接口。设备驱动程序层为内核设备驱动程序层为内核I/O子系统隐
10、藏设备子系统隐藏设备控制器之间的差异,从而简化了控制器之间的差异,从而简化了OS开发人员开发人员的任务,也有利于硬件制造商。的任务,也有利于硬件制造商。每种每种OS都有自己的设备驱动程序接口。故一都有自己的设备驱动程序接口。故一个特定设备可能有多种设备驱动程序。个特定设备可能有多种设备驱动程序。而而I/O系统调用又为上层应用程序包装了硬系统调用又为上层应用程序包装了硬件细节。件细节。5.1.5设备管理的总体结构设备管理的总体结构划分为四层:划分为四层:设备中断处理程序;设备中断处理程序;中断处理程序是设备驱动程序中的一局部中断处理程序是设备驱动程序中的一局部设备驱动程序;设备驱动程序;与设备无
11、关的操作系统软件与设备无关的操作系统软件设备无关层设备无关层负责将逻辑设备名转换为物理设备名,实现负责将逻辑设备名转换为物理设备名,实现设备的分配和回收,进行缓冲区管理。设备的分配和回收,进行缓冲区管理。用户级软件指用户空间的用户级软件指用户空间的I/OI/O软件软件用户与设备管理模块的接口,负责解释用户用户与设备管理模块的接口,负责解释用户的应用请求,并将这种请求转化为具体的输的应用请求,并将这种请求转化为具体的输入入/输出操作。输出操作。相关层较低的层用于将硬件特征与无关相关层较低的层用于将硬件特征与无关层较高的层隔离开,而无关层较高的层较高的层隔离开,而无关层较高的层则参与向用户提供一个
12、友好、清晰而标层则参与向用户提供一个友好、清晰而标准的接口。准的接口。从功能上看,无关层是从功能上看,无关层是I/O管理的主要局部,管理的主要局部,从代码量看,驱动层是从代码量看,驱动层是I/O管理的主要局部。管理的主要局部。内核内核I/OI/O结构结构LifeCycleofAnI/ORequest5.1.6I/O控制方式控制方式询问方式,又称程序直接控制方式。询问方式,又称程序直接控制方式。中断方式中断方式DMA方式方式通道技术通道技术5.2内核内核I/O子系统子系统内核内核I/O子系统是建立在硬件和设备驱动程子系统是建立在硬件和设备驱动程序之上的。提供与序之上的。提供与I/O有关的效劳,如
13、调度、有关的效劳,如调度、缓冲、高速缓冲、假脱机、错误处理等。缓冲、高速缓冲、假脱机、错误处理等。5.2.1I/O调度调度I/O调度是指调度是指OS根据一定算法按照一定的顺根据一定算法按照一定的顺序为系统中的序为系统中的I/O请求提供效劳。从而改善请求提供效劳。从而改善系统性能,使进程公平地共享设备。系统性能,使进程公平地共享设备。OS通过为每个设备维护一个请求队列来实现通过为每个设备维护一个请求队列来实现调度。调度。I/O调度根据需要重新安排队列顺序以改善调度根据需要重新安排队列顺序以改善系统总体效率和应用程序的平均响应时间。系统总体效率和应用程序的平均响应时间。5.2.2 缓冲管理缓冲管理
14、缓冲区是用来保存在两个设备之间或在设备和应用缓冲区是用来保存在两个设备之间或在设备和应用程序之间所传输数据的内存区域。程序之间所传输数据的内存区域。1.1.引入缓冲区的原因引入缓冲区的原因1 1处理数据的生产者和消费者速度不匹配。如处理数据的生产者和消费者速度不匹配。如从调制解调器上收到文件并保存到硬盘上。从调制解调器上收到文件并保存到硬盘上。2 2协调传输数据大小不一致的设备。协调传输数据大小不一致的设备。如计算机网络上,发送方消息被分成假设干包,接如计算机网络上,发送方消息被分成假设干包,接收方在缓冲区中重组数据。收方在缓冲区中重组数据。3 3减少对减少对CPUCPU的中断频率的中断频率4
15、 4提高提高CPUCPU和和I/OI/O设备之间的并行性设备之间的并行性2.2.单缓冲单缓冲single buffersingle buffer:当用户进程发出当用户进程发出I/OI/O请求时,请求时,OSOS便在主存中为便在主存中为之分配一个缓冲区。之分配一个缓冲区。一个缓冲区,一个缓冲区,CPUCPU和外设轮流使用,一方处理和外设轮流使用,一方处理完之后接着等待对方处理。完之后接着等待对方处理。3.3.双缓冲双缓冲double bufferdouble buffer:为了加快输入和输出速度,引入双缓冲区。为了加快输入和输出速度,引入双缓冲区。设备输入时,先将数据送入第一缓冲区,装设备输入时
16、,先将数据送入第一缓冲区,装满后再转向第二缓冲区。满后再转向第二缓冲区。此时此时OSOS可以从第一缓冲区移出数据,送入用可以从第一缓冲区移出数据,送入用户进程所在内存。户进程所在内存。两个缓冲区,两个缓冲区,CPUCPU和外设都可以连续处理而无和外设都可以连续处理而无需等待对方。要求需等待对方。要求CPUCPU和外设的速度相近。和外设的速度相近。4.4.循环缓冲循环缓冲环形缓冲环形缓冲circular buffercircular buffer:多个缓冲区,多个缓冲区,CPUCPU和外设的处理速度可以相差较大。可参见和外设的处理速度可以相差较大。可参见“生产者消费者问题,生产者消费者问题,以上
17、的缓冲区仅适用于特定的以上的缓冲区仅适用于特定的I/OI/O进程和计算进程和计算进程,属于专用缓冲区。系统较大时,会有进程,属于专用缓冲区。系统较大时,会有多个专用缓冲区,消耗大量内存空间,利用多个专用缓冲区,消耗大量内存空间,利用率低,目前广泛使用公用缓冲池,池中设置率低,目前广泛使用公用缓冲池,池中设置了多个供假设干进程共享的缓冲区。了多个供假设干进程共享的缓冲区。5.缓冲池缓冲池 1 缓冲池的冲池的组成成既可用于既可用于输入,又可用于入,又可用于输出,出,缓冲池中有冲池中有三三类缓冲区:冲区:空闲缓冲区队列空闲缓冲区队列emqemq输入缓冲区队列输入缓冲区队列inqinq:由装满输入数据
18、的:由装满输入数据的缓冲区链成的队列。缓冲区链成的队列。输出缓冲区队列输出缓冲区队列outqoutq:由装满输出数据的:由装满输出数据的缓冲区链成的队列。缓冲区链成的队列。2 对缓冲池的操作:对缓冲池的操作:收容输入收容输入设备输入数据设备输入数据提取输入提取输入计算进程读入数据计算进程读入数据收容输出收容输出计算进程输出数据计算进程输出数据提取输出提取输出向向设备输出数据。设备输出数据。上述操作访问各个缓冲区队列时,需要进行上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。相应的互斥操作。5.2.3 设备分配与回收与回收当进程向系统提出当进程向系统提出I/OI/O请求时,只要是可能和请求
19、时,只要是可能和安全的,设备分配程序便按照一定的策略把安全的,设备分配程序便按照一定的策略把设备分配给请求进程。设备分配给请求进程。有的系统中还要分配相应的控制器和通道。有的系统中还要分配相应的控制器和通道。1 设备分配中的数据结构1 设备控制表设备控制表DCT,Device Control DCT,Device Control TableTable每个设备一张,描述设备特性和状态。反映每个设备一张,描述设备特性和状态。反映设备的特性、设备和控制器的连接情况。设备的特性、设备和控制器的连接情况。DCTDCT的内容主要包括:的内容主要包括:设备标识:用来区别不同的设备;设备标识:用来区别不同的设
20、备;设备类型:反映设备的特性;如:块设备设备类型:反映设备的特性;如:块设备或字符设备;或字符设备;设备配置:设备配置:I/OI/O地址等;地址等;设备状态:忙设备状态:忙/闲,等待闲,等待/不等待;假设不等待;假设与设备链接的控制器或通道忙,则等待与设备链接的控制器或通道忙,则等待等待队列:等待使用该设备的进程队列;等待队列:等待使用该设备的进程队列;与设备连接的控制器表指针。与设备连接的控制器表指针。2 系统设备表系统设备表SDT,System Device SDT,System Device TableTable系统内一张,反映系统中设备资源的状态,系统内一张,反映系统中设备资源的状态,
21、记录所有设备的状态及其设备控制表的入口。记录所有设备的状态及其设备控制表的入口。SDTSDT表项的主要组成:表项的主要组成:DCTDCT指针:指向相应设备的指针:指向相应设备的DCTDCT;设备使用进程标识:正在使用该设备的进设备使用进程标识:正在使用该设备的进程标识;程标识;DCTDCT信息:为引用方便而保存的信息:为引用方便而保存的DCTDCT信息,信息,如:设备标识、设备类型等;如:设备标识、设备类型等;3控制器控制表控制器控制表COCT,COntroller COCT,COntroller Control TableControl Table每个设备控制器一张,描述每个设备控制器一张,
22、描述I/OI/O控制器的配置控制器的配置和状态。如和状态。如DMADMA控制器所占用的中断号、控制器所占用的中断号、DMADMA数据通道的分配。数据通道的分配。4 4通道控制表通道控制表CHCT,CHannel Control CHCT,CHannel Control TableTable每个通道一张,描述通道工作状态。每个通道一张,描述通道工作状态。控制器标识符控制器标识符控制器状态:忙/空闲与控制器连接的通道指针等待控制器的进程队列指针系统设备表系统设备表设备控制表设备控制表控制器控制器控制表控制表1 1通道控制表通道控制表设备设备控制表控制表1 1控制器控制器控制表控制表2 2控制器控制
23、器控制表控制表n n设备设备控制表控制表n npcbpcbpcbpcb(5)(5)表格之间的关系表格之间的关系pcbpcb2 设备分配时应考虑的因素设备分配的原则是合理使用外设公平和防设备分配的原则是合理使用外设公平和防止死锁,提高设备使用率。止死锁,提高设备使用率。1 1 考虑考虑设备的固有属性设备的固有属性独享设备:打印机等。进程使用完自己释放,独享设备:打印机等。进程使用完自己释放,一般不能剥夺;一般不能剥夺;共享设备:磁盘、网卡等。多个进程并发使共享设备:磁盘、网卡等。多个进程并发使用,需合理调度;用,需合理调度;虚拟设备:虚拟打印机等。可有多个进程使虚拟设备:虚拟打印机等。可有多个进
24、程使用,但用,但FCFS。2 2 设备分配算法设备分配算法与进程调度类似,但简单一些;与进程调度类似,但简单一些;先来先效劳先来先效劳FCFSFCFS:按按I/OI/O请求的先后请求的先后顺序,排成顺序,排成I/OI/O请求命令队列;按请求命令队列;按FCFSFCFS分配分配设备;设备;基于优先级:依据进程的优先级,指定基于优先级:依据进程的优先级,指定I/OI/O请求的优先级,优先级高的排在设备队请求的优先级,优先级高的排在设备队列的队首;同优先级则列的队首;同优先级则FCFSFCFS;按优先级上;按优先级上下分配设备。下分配设备。3 3 设备分配中的安全性设备分配中的安全性安全分配方式安全
25、分配方式进程发出进程发出I/OI/O请求后阻塞,完成后唤醒,即进请求后阻塞,完成后唤醒,即进程运行时不占有任何设备资源,摈弃了程运行时不占有任何设备资源,摈弃了“请请求保持条件。缺点:求保持条件。缺点:CPUCPU与与I/OI/O设备是串行设备是串行工作。工作。不安全分配方式不安全分配方式进程发出进程发出I/OI/O请求后仍继续运行,又可发出请求后仍继续运行,又可发出I/OI/O请求,仅当进程所请求的设备已被另一进请求,仅当进程所请求的设备已被另一进程占用时,进程才进入阻塞状态。优点:多程占用时,进程才进入阻塞状态。优点:多个设备并行操作;缺点:可能造成死锁。个设备并行操作;缺点:可能造成死锁
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 南理工王晓峰老师版权所有 精选第5章 设备管理【南理工王晓峰老师版权所有】 设备管理 理工 王晓峰 老师 版权所有

限制150内