《操作系统课件_08设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统课件_08设备管理.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 设备管理设备管理(一)(一)设备管理的基本概念设备管理的基本概念(二)(二)缓冲技术缓冲技术(三)(三)设备分配技术设备分配技术(四)(四)输入输入/输出控制输出控制(一)(一)设备管理的基本概念设备管理的基本概念1 1、计算机设备定义计算机设备定义在计算机系统中除在计算机系统中除CPU和内存储外所有的其它设备,和内存储外所有的其它设备,又称为计算机外部设备。又称为计算机外部设备。按照设备的功能分类:按照设备的功能分类:1 1)存储设备)存储设备 用来存放各种信息的设备称为存储设备(硬盘,用来存放各种信息的设备称为存储设备(硬盘,U盘,光盘,移动硬盘等等)。盘,光盘,移动硬盘等等
2、)。2 2)I/OI/O设备设备 (Input/OutputInput/Output)用来向计算机输入和输出信息的设备(键盘,鼠用来向计算机输入和输出信息的设备(键盘,鼠标,显示器,打印机,扫描仪等等)。标,显示器,打印机,扫描仪等等)。3 3)通信设备)通信设备 如以太网卡、无线网卡等。如以太网卡、无线网卡等。从不同的角度,可以对设备进行不同的分类从不同的角度,可以对设备进行不同的分类1.按信息传输单位分类按信息传输单位分类(1)块设备)块设备(2)字符设备)字符设备2.按资源分配方式分类按资源分配方式分类(1)独占设备)独占设备(2)共享设备)共享设备(3)虚拟设备)虚拟设备32.设备管理
3、的目标设备管理的目标提高设备利用率提高设备利用率l合理分配设备合理分配设备l提高设备与提高设备与CPU、各外部设备之间的并行性、各外部设备之间的并行性方便用户的使用方便用户的使用 提供使用方便且独立于设备的界面提供使用方便且独立于设备的界面l统一:对各种不同的设备提供一致的界面统一:对各种不同的设备提供一致的界面l独立于设备:用户使用的设备与物理设备无关独立于设备:用户使用的设备与物理设备无关二二.设备管理功能设备管理功能1.1.状态跟踪状态跟踪 通通过过设设备备控控制制块块(DCB,Device Control Block)动动态态的的记录各种设备的状态。记录各种设备的状态。2.2.设备分配
4、与回收设备分配与回收 作业级作业级静态分配静态分配 作业进入系统时一次性分配,退出系统时收回全部资源。作业进入系统时一次性分配,退出系统时收回全部资源。进程级进程级动态分配动态分配 进程提出设备申请时进行分配,使用完毕后立即收回。进程提出设备申请时进行分配,使用完毕后立即收回。3.3.设备控制设备控制 实实施施设设备备驱驱动动和和中中断断处处理理的的工工作作。设设备备控控制制包包括括设设备备的的驱动、完成和故障中断处理。驱动、完成和故障中断处理。三三.设备独立性设备独立性1 1、问题的引出、问题的引出 为了方便用户使用各种设备,需屏蔽设备的物理特性为了方便用户使用各种设备,需屏蔽设备的物理特性
5、 2.2.设备独立性的概念设备独立性的概念 即即应用程序应用程序独立于具体使用的独立于具体使用的物理设备物理设备。为了实现。为了实现设备设备独立性而引入了独立性而引入了逻辑设备逻辑设备和和物理设备物理设备这两个概念。在这两个概念。在应用程序应用程序中,中,使用逻辑使用逻辑设备设备名称来名称来请求使用某类设备;而系统在实际执行时,请求使用某类设备;而系统在实际执行时,还必须使用还必须使用物理设备物理设备名称。名称。3 3、两类设备独立性、两类设备独立性(1)一一个个程程序序应应独独立立于于分分配配给给它它的的某某种种类类型型的的具具体设备体设备即即在在用用户户程程序序中中只只指指明明I/O使使用
6、用的的设设备备类类型型即即可可。如如在在系系统统中中配配备备了了两两台台打打印印机机,用用户户要要打打印时只要告诉系统要将信息送到打印机即可。印时只要告诉系统要将信息送到打印机即可。(2)程序要尽可能地与它使用的设备类型无关)程序要尽可能地与它使用的设备类型无关即即在在用用户户程程序序中中只只要要指指出出要要输输入入或或输输出出信信息息,至于信息至于信息I/O使用的设备不需用户指明。使用的设备不需用户指明。8n在在Linux/UNIXLinux/UNIX系系统统中中,把把设设备备与与文文件件统统一一处处理理,这这比比前前两两种种设设备备独独立立性性又又算算了了一一步步,对对于于用用户户来来说说
7、,就没有设备的概念。就没有设备的概念。73、设备独立性的实现、设备独立性的实现1)在高级语言中用软通道实现)在高级语言中用软通道实现使用高级语言提供的指派语句,通过指派一个逻辑设 备名 来定义一个设备或文件。如:fd=open(“/dev/lp”,mode)2)在批处理系统中,用联接说明语句来定义)在批处理系统中,用联接说明语句来定义 如:OUTPUT1=LPT3)在交互系统中,用指派命令来定义在交互系统中,用指派命令来定义 如:PDP系列机上的RT11系统 ASSIGN 设备物理名 设备逻辑名4.4.设备独立性的优点设备独立性的优点n方便用户编程方便用户编程n提高系统资源的利用率提高系统资源
8、的利用率 n提高系统的可扩展性和可适应性提高系统的可扩展性和可适应性5.5.设备控制块设备控制块(DCB)(DCB)设设备备控控制制块块是是设设备备管管理理的的数数据据结结构构,用用来来存存放放设设备备的的硬硬件件特特性性、连连接接和和使使用用情情况况,每每类类设设备备有有一一个设备控制块。个设备控制块。设备名设备名设备属性设备属性指向命令转换表的指针指向命令转换表的指针在在I/O总线上的设备地址总线上的设备地址设备状态设备状态当前用户进程指针当前用户进程指针I/O请求队列指针请求队列指针 n设备设备转换表(设备开关表)转换表(设备开关表)设备设备开关表存放设备驱动开关表存放设备驱动和控制程序
9、人口地址。和控制程序人口地址。(二)(二)缓冲技术缓冲技术一、缓冲的概念一、缓冲的概念1、定义:、定义:缓冲是两种不同速度的设备之间传输信息时平滑传输过缓冲是两种不同速度的设备之间传输信息时平滑传输过 程的常用手段。程的常用手段。为什么要使用缓冲为什么要使用缓冲 解决两种设备之间传输信息时速度不匹配解决两种设备之间传输信息时速度不匹配 慢速设备快速设备慢速设备快速设备中速设备缓冲2.2.缓冲的实现缓冲的实现(1)缓冲器(硬件实现)缓冲器(硬件实现)用来暂时存放数据的一种硬件存储装置,容量较小。用来暂时存放数据的一种硬件存储装置,容量较小。(2)软件缓冲区(软件实现)软件缓冲区(软件实现)I/O
10、操作期间,用来临时存放操作期间,用来临时存放I/O数据的一块主存区域。数据的一块主存区域。123.利用缓冲技术如何进行利用缓冲技术如何进行I/O操作操作 进程请求从输入设备进行读操作的图示进程请求从输入设备进行读操作的图示输入设备输入设备BUF进程进程 与与需要同步需要同步 13进程请求从输入设备进行读操作的步骤进程请求从输入设备进行读操作的步骤 当用户要求在某个设备上进行读操作时,首先从系统中获得一个空的缓冲区;将一个物理记录送到缓冲区中;当用户请求这些数据时,系统将依据逻辑记录特性 从缓冲区中提取并发送到用户进程存储区中;当缓冲区空而进程又要从中取用数据时该进程被迫 等待。此时,操作系统需
11、要重新送数据填满缓冲 区,进程才能从中取数据继续运行。要注意操作要注意操作与操作与操作的同步关系的同步关系14进程进程请求从输出设备进行写操作的图示请求从输出设备进行写操作的图示 与与需要同步需要同步 输出设备输出设备BUF进程进程 15进程请求从输出设备进行写操作的步骤进程请求从输出设备进行写操作的步骤 当用户要求进行写操作时,首先从系统中获得一个 空的缓冲区;将一个逻辑记录从进程存储区传送到缓冲区中;当缓冲区写满时,系统将缓冲区的内容作为物理记 录文件写到设备上,使缓冲区再次为空 ;只有在系统还来不及腾空缓冲区之前,进程又企图 输出信息时,它才需要等待。要注意操作要注意操作与操作与操作的同
12、步关系的同步关系二、常用的缓冲技术二、常用的缓冲技术常用的缓冲技术:常用的缓冲技术:双缓冲双缓冲、环形缓冲、环形缓冲、缓冲池缓冲池16双双缓冲缓冲 在双缓冲方案下,为输入或输出分配两个缓冲区buf1、buf2。输入数据时,如何利用双缓冲输入数据时,如何利用双缓冲输出数据时,如何利用双缓冲输出数据时,如何利用双缓冲17输入数据时,如何利用双缓冲输入数据时,如何利用双缓冲输入设备输入设备BUF1进程进程 BUF218输出数据时,如何利用双缓冲输出数据时,如何利用双缓冲输出设备输出设备BUF1进程进程 BUF2 缓冲池缓冲池系系统统设设置置多多个个缓缓冲冲区区,形形成成一一个个缓缓冲冲池池。这这个个
13、池池中中的的缓冲区为系统中所有的进程共享使用。缓冲区为系统中所有的进程共享使用。为了管理这些缓冲区,建立相应的数据结构为了管理这些缓冲区,建立相应的数据结构:缓冲区管理信息数据结构缓冲区管理信息数据结构 空闲缓冲区队列空闲缓冲区队列 满缓冲区队列等满缓冲区队列等(三)设备分配(三)设备分配静态分配静态分配 当当一一个个作作业业(或或进进程程)运运行行时时,根根据据作作业业要要求求的的设设备备,系系统统如如果果能能满满足足,则则将将其其要要求求的的设设备备全全部部分分配配给给它它,然然后后开开始始运运行行,运运行行完完成成释释放放其其占占用用的所有设备。的所有设备。这这种种分分配配方方式式的的优
14、优点点是是系系统统绝绝不不会会出出现现死死锁锁,缺缺点点是是设设备备利用率太低利用率太低。动态分配动态分配这这种种分分配配方方法法是是在在作作业业(或或进进程程)运运行行的的过过程程中中,需需要要使使用用设设备备时时,就就向向系系统统申申请请,系系统统根据某种分配原则进行分配。根据某种分配原则进行分配。这这种种方方法法的的优优点点是是设设备备的的利利用用率率高高,缺缺点点是是系系统统有有出出现现死死锁锁的可能的可能。设备分配的主要技术:设备分配的主要技术:n独享分配独享分配n共享分配共享分配n虚拟分配虚拟分配独享分配独享分配独享设备独享设备1.1.什么是独享设备什么是独享设备在一段时间内,由一
15、个作业或进程独自占用(即使没在一段时间内,由一个作业或进程独自占用(即使没有使用)的设备,例如打印机等等。有使用)的设备,例如打印机等等。2.2.什么是独享分配(使用静态分配)什么是独享分配(使用静态分配)在一个作业执行前,或进程提出资源申请后,将所要在一个作业执行前,或进程提出资源申请后,将所要使用的设备分配给它;当作业结束,或进程释放后,使用的设备分配给它;当作业结束,或进程释放后,才将分配给它的这类设备收回(不能强行收回)。才将分配给它的这类设备收回(不能强行收回)。共享分配共享分配1.1.什么是共享设备什么是共享设备由多个作业、进程共同使用的设备称为共享设备,例如磁由多个作业、进程共同
16、使用的设备称为共享设备,例如磁盘等等。盘等等。2.2.什么是共享分配什么是共享分配 (使用动态分配)(使用动态分配)当进程提出资源申请时,由设备管理模块进行分配。进程当进程提出资源申请时,由设备管理模块进行分配。进程使用完毕后,立即收回。使用完毕后,立即收回。虚拟分配虚拟分配虚拟分配虚拟分配虚拟分配虚拟分配当进程需要与独占型设备交换信息时,系统将分配磁盘空当进程需要与独占型设备交换信息时,系统将分配磁盘空当进程需要与独占型设备交换信息时,系统将分配磁盘空当进程需要与独占型设备交换信息时,系统将分配磁盘空 间,并建立相应的数据结构,这种分配方法称为设备的虚间,并建立相应的数据结构,这种分配方法称
17、为设备的虚间,并建立相应的数据结构,这种分配方法称为设备的虚间,并建立相应的数据结构,这种分配方法称为设备的虚拟分配。拟分配。拟分配。拟分配。虚拟设备虚拟设备虚拟设备虚拟设备 通常把用来代替独占型设备的那部分外存空间通常把用来代替独占型设备的那部分外存空间(包括有关的包括有关的控制表格控制表格)称为虚拟设备。称为虚拟设备。虚拟技术虚拟技术虚拟技术虚拟技术 所谓虚拟技术,是在一类物理设备(如外存)上模拟另所谓虚拟技术,是在一类物理设备(如外存)上模拟另一类物理设备(如打印机)的技术,是将独占设备转化一类物理设备(如打印机)的技术,是将独占设备转化为共享设备的技术。为共享设备的技术。nSPOOLi
18、ngSPOOLing,全全名名:Simultaneous Simultaneous Peripheral Peripheral Operations Operations OnOnLineLine,即即外外部部设设备备联联机机并并行行操操作作,通通常常也也叫叫做做“假假脱脱机机技技术术”。是是一一种种预预输入、缓输出和转储的管理技术。输入、缓输出和转储的管理技术。必要条件必要条件1(互斥条件):难以否定(互斥条件):难以否定,解决办法:假脱机技术解决办法:假脱机技术(1)(1)预输入预输入在作业需要数据前,操作系统已将所需数据预先输入到辅在作业需要数据前,操作系统已将所需数据预先输入到辅存输入
19、井存放。当作业(或进程)需要数据时,可以从辅存输入井存放。当作业(或进程)需要数据时,可以从辅存中读入内存。存中读入内存。(2)(2)缓输出缓输出在作业执行时,将输出数据写入辅存输出井中。当作业在作业执行时,将输出数据写入辅存输出井中。当作业(或进程)执行完毕(或需要数据时),由操作系统将数(或进程)执行完毕(或需要数据时),由操作系统将数据输出。据输出。共享打印机共享打印机 共共享享打打印印机机技技术术已已被被广广泛泛地地用用于于多多用用户户系系统统和和局局域域网网络络中中。当当用用户户进进程程请请求求打打印印输输出出时时,SPOOLing系系统统同同意意为为它它打打印印输输出出,但但并并不
20、不真真正正立立即即把把打打印印机机分分配配给给该该用用户户进进程程,而而只只为为它它做做两两件件事事:由由输输出出进进程程在在输输出出井井中中为为之之申申请请一一个个空空闲闲磁磁盘盘块块区区,并并将将要要打打印印的的数数据据送送入入其其中中;输输出出进进程程再再为为用用户户进进程程申申请请一一张张空空白白的的用用户户请请求求打打印印表表,并并将将用用户户的的打印要求填入其中,打印要求填入其中,再将该表挂到请求打印队列上。再将该表挂到请求打印队列上。SPOOLSPOOL系统的优点:系统的优点:u提高了提高了I/OI/O速度速度u提高了设备利用率和系统的吞吐能力(提高了设备利用率和系统的吞吐能力(
21、将独享设备改造为共享设备););u实现对独占设备的改造和提高了进程的并发度和执行效率实现对独占设备的改造和提高了进程的并发度和执行效率(实现了虚拟设备功能)(四)(四)输入输出控制输入输出控制1、设备、设备I/O(数据传输)方式(数据传输)方式1 1)程序查询方式)程序查询方式2 2)中断控制方式)中断控制方式3 3)DMADMA方式方式4 4)通道方式)通道方式程序程序I/O方式方式 在在程程序序I/O方方式式中中,由由于于CPU的的高高速速性性和和I/O设设备备的的低低速速性性,致致使使CPU的的绝绝大大部部分分时时间间都都处处于于等等待待I/O设设备备完完成成数数据据I/O的的循循环环测
22、测试试中中,造造成成对对CPU的的极极大大浪浪费费。在在该该方方式中,式中,CPU之所以要不断地测试之所以要不断地测试I/O设备的状态。设备的状态。I/OI/O中断方式中断方式在在I/O设备输入每个数据的过程中,由于无须设备输入每个数据的过程中,由于无须CPU干预,因而可使干预,因而可使CPU与与I/O设备并行工作。设备并行工作。仅当输完一个数据时,才需仅当输完一个数据时,才需CPU花费极短的时间花费极短的时间去做些中断处理。可见,这样可使去做些中断处理。可见,这样可使CPU和和I/O设设备都处于忙碌状态,从而提高了整个系统的资源备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。利用率
23、及吞吐量。DMA(Direct Memory Access)控制方式的引入控制方式的引入 该方式的特点是:该方式的特点是:数据传输的基本单位是数据块,即在数据传输的基本单位是数据块,即在CPU与与I/O设备之间,每次传送设备之间,每次传送 至少一个数据块;至少一个数据块;所传送的数据是从设备直接送入内存的,或者相反;所传送的数据是从设备直接送入内存的,或者相反;仅在传送一个或多个数据块的开始和结束时,才需仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数干预,整块数 据的传送是在控制器的控制下完成的。据的传送是在控制器的控制下完成的。可可见见,DMA方方式式较较之之中中断断驱驱动动
24、方方式式,又又是是成成百百倍倍地地减减少少了了CPU对对I/O的的干干预预,进进一一步提高了步提高了CPU与与I/O设备的并行操作程度。设备的并行操作程度。I/O通道控制方式通道控制方式 I/O通通道道方方式式是是DMA方方式式的的发发展展,它它可可进进一一步步减减少少CPU的的干干预预,即即把把对对一一个个数数据据块块的的读读(或或写写)为为单单位位的的干干预预,减减少少为为对对一一组组数数据据块块的的读读(或或写写)及及有有关关的的控控制制和和管管理理为为单单位位的的干干预预。通通道道是是一一种种专专用用处处理理部部件件,它它能能控控制制一一台台或或多多台台外外设设工工作,负责外部设备和储
25、存之间的信息传输。作,负责外部设备和储存之间的信息传输。设备驱动程序设备驱动程序u操作系统与设备交互的惟一模块,由生产设备的操作系统与设备交互的惟一模块,由生产设备的厂商提供。厂商提供。u操作系统对设备驱动的管理:操作系统对设备驱动的管理:n上层提供统一的系统调用接口;上层提供统一的系统调用接口;n下层通过设备开关表与设备驱动程序直接关联。下层通过设备开关表与设备驱动程序直接关联。u设备驱动主要完成的工作:设备驱动主要完成的工作:n对设备进行初始化;对设备进行初始化;n从设备接收数据并回传系统或将数据从系统送到设备;从设备接收数据并回传系统或将数据从系统送到设备;n检测和处理设备错误。检测和处理设备错误。作业n第第8章章 11