操作系统设备管理.pptx
《操作系统设备管理.pptx》由会员分享,可在线阅读,更多相关《操作系统设备管理.pptx(85页珍藏版)》请在课桌文档上搜索。
1、1,第9章 设备管理,9.1 引言9.2 数据传送控制方式(略)9.3 中断技术(略)9.4 缓冲技术9.5 设备分配9.6 I/O进程控制(略)9.7 设备驱动程序(简)9.8 磁盘调度,2,设备管理是操作系统的重要组成部分之一。本章主要讨论设备管理的基本概念,包括中断、缓冲、设备分配和控制等。9.1 引 言9.1.1 设备的类别 在计算机系统中,除了CPU和内存之外,其他的大部分硬设备称为外部设备。它包括常用的输入输出设备、外存设备以及终端设备等。本节先从系统管理的角度将各种设备进行简单的分类,然后再介绍设备管理的主要功能与任务。早期的计算机系统由于速度慢、应用面窄,外部设备主要以纸带、卡
2、片等作为输入输出介质,相应的设备管理程序也比较简单。,3,由于个人计算机、工作站以及计算机网络系统等的发展,外部设备开始走向多样化、复杂化和智能化。再者,除了硬件设备之外,以某种硬件设备为基础的虚拟设备和仿真设备技术也得到了广泛应用。例如,虚终端技术和仿真终端技术等。实际上,近年来最为流行的窗口系统中的X-WINDOW等都是作为一种设备和操作系统相连的。这使得设备管理变得越来越复杂化。首先,我们介绍设备的分类。按设备的使用特性分,可分为存储设备、输入输出设备、终端设备以及脱机设备等,如图9.1所示。,4,图9.1 按使用特性对外部设备的分类,5,另外,按设备的从属关系,可把设备划分为系统设备和
3、用户设备。系统设备是指那些在操作系统生成时就已配置好的各种标准设备。例如,键盘、打印机以及文件存储设备等。而用户设备则是那些在系统生成时没有配置,而由用户自己安装配置后由操作系统统一管理的设备。例如,网络系统中的各种网卡、实时系统中的A/D、D/A变换器、图像处理系统的图像设备等。对设备分类的目的在于简化设备管理程序。由于设备管理程序是和硬件打交道的,因此,不同的设备硬件对应于不同的管理程序。不过,对于同类设备来说,由于设备的硬件特性十分相似,从而可以利用相同的管理程序或只需做很少的修改即可。,6,除了上述分类方法之外,在有的系统中还按信息组织方式来划分设备。例如,UNIX系统就把外部设备划分
4、为字符设备和块设备。键盘、终端、打印机等以字符为单位组织和处理信息的设备被称为字符设备;而磁盘、磁带等以字符块为单位组织和处理信息的设备被称为块设备。,7,9.1.2 设备管理的功能和任务 设备管理是对计算机输入输出系统的管理,是操作系统中最具多样性和复杂性的部分。其主要任务是:(1)选择和分配输入输出设备以进行数据传输操作;(2)控制输入输出设备和CPU(或内存)之间交换数据;(3)为用户提供友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理
5、程序;,设备管理的功能和任务,(4)提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得最佳效率。,8,9,为了完成上述主要任务,设备管理程序一般要提供下述功能:(1)提供和进程管理系统的接口。当进程要求设备资源时,该接口将进程要求转达给设备管理程序;(2)进行设备分配。按照设备类型和相应的分配算法把设备和其他有关的硬件分配给请求该设备的进程,并把未分配到所请求设备或其他有关硬件的进程放入等待队列;,10,(3)实现设备和设备、设备和CPU等之间的并行操作。这需要有相应的硬件支持。除了装有控制状态寄存器、数据缓冲寄存器等的控制器之外,对应于不同的输入输出(I/
6、O)控制方式,还需要有DMA通道等硬件。从而,在设备分配程序根据进程要求分配了设备、控制器和通道(或DMA)等硬件之后,通道(或DMA)将自动完成设备和内存之间的数据传送工作,从而完成并行操作的任务。在没有通道(或DMA)的系统里,则由设备管理程序利用中断技术来完成上述并行操作;,11,(4)进行缓冲区管理。一般来说,CPU的执行速度和访问内存速度都比较高,而外部设备的数据流通速度则低得多(例如键盘),为了减少外部设备和内存与CPU之间的数据速度不匹配的问题,系统中一般设有缓冲区(器)来暂放数据。设备管理程序负责进行缓冲区分配、释放及有关的管理工作。下面,首先介绍各种输入输出的控制方式,然后再
7、介绍缓冲区管理、中断、陷入以及软中断等基本概念。在此基础上,再介绍设备分配原则及有关分配算法,最后介绍I/O进程的概念及设备驱动过程。,12,设备控制器,I/O设备一般由机械和电子两部分组成,通常将这两部分分开处理,以提供更加模块化、更加通用的设计。电子部分称作设备控制器或适配器(Device Controller或Adapter)。机械部分就是设备本身,控制器通过电缆与设备内部相连。,13,14,设备控制器,设备控制器的主要作用有:接收和识别CPU发来的多种不同命令;实现CPU与控制器之间、控制器和设备之间的数据交换;记录和报告设备的状态。地址识别。识别控制器控制的每个设备的地址。,15,设
8、备控制器,每个 I/O 设备通过设备控制器 与计算机的数据总线和地址总线相连接。设备控制器是用于操作端口、总线或设备的一组电子器件。某些设备(如磁盘设备)有内置的控制器,16,CPU,RAM,设备控制器与设备,地址总线,数据总线,(总线由单独的线路组成),17,设备控制器,处理器如何向控制器发送命令和数据以完成 I/O 传输呢?设备控制器有一个或多个用于数据和控制信号的寄存器。设备控制器可能包含有数据寄存器、状态寄存器、控制寄存器和存储器(这部分存储器称为硬件缓冲区)。处理器通过读写这些寄存器的位组合来与设备控制器通信。,18,设备控制器中的寄存器,状态寄存器:保存是否忙、任务是否完成、是否出
9、错等信息。控制寄存器向设备发送命令或改变设备状态。数据寄存器(输入/出)数据被写入该设备数据寄存器,或从该设备数据寄存器读出数据供处理器使用。Buffer 数据从该设备读出后、处理器对它处理之前临时存放数据,或临时存放正等待写到该设备的数据。,19,设备控制器中的寄存器,控制寄存器,数据寄存器 0,数据寄存器 1,数据寄存器 n-1,设备控制器,忙,已完成,出错,.,状态寄存器,20,内存映射 I/O,传统上,CPU 用特殊的 I/O 指令 和单独的 I/O 总线对每个设备读/写信息。例如,一个读/写命令必须指定设备地址IN AX,80H用内存映射 I/O 时,CPU 使用相同的指令和总线对内
10、存和所有的输入/出设备进行通信。,21,内存映射 I/O,I/O 设备被看作是主存映射图中的某个内存位置。没有专门的设备地址对每个设备寄存器有标准的内存地址。处理器通过标准数据传输指令来完成对设备控制器的读写。思考:我们学习过这样的方式吗?,22,内存映射 I/O,RAM,devicethree,devicetwo,deviceone,RAM,devicethree,devicetwo,deviceone,设备地址,内存地址,内存地址,(内存映射 I/O),(传统的方法),23,内存映射 I/O,个人计算机(PC)使用特殊的 I/O 指令来控制一些设备,而使用内存映射 I/O 指令来控制其他设
11、备(如,图形控制器(视频卡)。图形控制器有一个较大的内存映射区域以保存屏幕内容。处理器通过对图形控制器的内存映射区写数据来向屏幕输出(例如一幅图片)。,24,显卡影子内存设置,25,9.2 数据传送控制方式 设备管理的主要任务之一是控制设备和内存或CPU之间的数据传送,本节介绍常用数据传送控制方式。选择和衡量控制方式有如下几条原则:(1)数据传送速度足够高,能满足用户的需要但又不丢失数据;(2)系统开销小,所需的处理控制程序少;(3)能充分发挥硬件资源的能力,使得I/O设备尽量忙,而CPU等待时间少。为了控制I/O设备和内存之间的数据交换,每台外围设备都按一定规律编码。而且,设备和内存与CPU
12、之间有相应的硬件接口支持同步控制、设备选择以及中断控制等。因此,假定本节的数据传送控制方式都是基于这些硬件基础的,从而不再讨论有关硬件部分。,26,外围设备和内存之间的常用数据传送控制方式有4种。即:(1)程序直接控制方式;(2)中断控制方式;(3)DMA方式;(4)通道方式。下面分别给予介绍。,27,9.3 中 断 技 术 从上节可以看出,除了程序直接控制方式之外,无论是中断控制方式、DMA方式还是通道控制方式,都需在设备和CPU之间进行通信,由设备向CPU发中断信号之后,CPU接收相应的中断信号进行处理。这几种方式的区别只是中断处理的次数、数据传送方式以及控制指令的执行方式等。在计算机系统
13、中,除了上述I/O中断之外,还存在着许多其他的突发事件,例如电源掉电、程序出错等,这些也会发出中断信号通知CPU做相应的处理。本节进一步讨论中断问题。,28,9.3.1 中断的基本概念 中断(Interrupt)是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。引起中断发生的事件被称为中断源。中断源向CPU发出的请求中断处理信号称为中断请求,而CPU收到中断请求后转相应的事件处理程序称为中断响应。,29,在有些情况下,尽管产生了中断源和发出了中断请
14、求,但CPU内部的处理机状态字PSW的中断允许位已被清除,从而不允许CPU响应中断。这种情况称为禁止中断。CPU禁止中断后只有等到PSW的中断允许位被重新设置后才能接收中断。禁止中断也称为关中断,PSW的中断允许位的设置也被称为开中断。中断请求、关中断、开中断等都由硬件实现。开中断和关中断是为了保证某些程序执行的原子性。除了禁止中断的概念之外,还有一个比较常用的概念是中断屏蔽。中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。,30,中断屏蔽是通过每一类中断源设置一个中断屏蔽触发器来屏蔽它们的中断请求而实现的。不过,有些中断请求是不能屏蔽甚至不
15、能禁止的,也就是说,这些中断具有最高优先级。不管CPU是否是关中断的,只要这些中断请求一旦提出,CPU必须立即响应。例如,电源掉电事件所引起的中断就是不可禁止和屏蔽中断。,31,9.3.2 中断的分类与优先级 根据系统对中断处理的需要,操作系统一般对中断进行分类并对不同的中断赋予不同的处理优先级,以便在不同的中断同时发生时,按轻重缓急进行处理。根据中断源产生的条件,可把中断分为外中断和内中断。外中断时指来自处理机和内存外部的中断,包括I/O设备发出的I/O中断、外部信号中断(例如用户键入ESC键)、各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断等。外中断在狭义上一般被称为中断
16、。,32,内中断主要指在处理机和内存内部产生的中断。内中断一般称为陷阱(trap)。它包括程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问控制错、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中的时间片中断以及从用户态到核心态的切换等都是陷阱的例子。为了按中断源的轻重缓急处理响应中断,操作系统对不同的中断赋予不同的优先级。为了禁止中断或屏蔽中断,CPU的处理机状态字PSW中也设置有相应的优先级。如果中断源的优先级高于PSW的优先级,则CPU响应该中断源的中断请求,反之,CPU屏蔽该中断源的中断请求。,33,9.3.3 软中断 上述中断和陷阱都可以看
17、作是硬中断,因为这些中断和陷阱要通过硬件产生相应的中断请求。而软中断则不然,它是通信进程之间用来模拟硬中断的一种信号通信方式。软中断与硬中断相同的地方是:其中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。这里用“适当的时机”几个字是表示接收软中断信号的进程不一定正好在接收时占有处理机,而相应的处理必须等到该接收进程得到处理机之后才能进行。如果该接收进程是占据处理机的,那么,与中断处理相同,该接收进程在接收到软中断信号后将立即转去执行该软中断信号所对应的功能。,34,软中断的概念主要来源于UNIX系统。在前面介绍进程通信的有关章节中,已对
18、UNIX的软中断通信进行了介绍,这里不再重复。需要说明的一点是,在有些系统中,大部分的陷阱是转化为软中断处理的。由于陷阱主要与当前执行进程有关,因此,如果当前执行指令产生陷阱的话,则向当前执行进程自身发出一个软中断信号从而立即进入陷阱处理程序。,35,中断,在现代计算机系统中,对I/O设备的控制,广泛采用中断驱动(Interrupt-driven)方式,即当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器便按照该命令的要求去控制I/O设备,此时,CPU与I/O设备并行操作。,36,向量中断,更为先进的系统采用向量中断。
19、要求中断的设备既发出中断请求信号也给出一个中断号。中断号作为中断服务程序(入口地址)表的偏移量。中断服务程序(入口地址)表称为中断向量。采用这种机制,要求中断的设备可以让 CPU 马上执行特定的中断处理程序。,37,38,Windows XP下中断向量表的地址及大小,39,40,9.4 缓 冲 技 术9.4.1 缓冲的引入 虽然中断、DMA和通道控制技术使得系统中设备和设备、设备和CPU等得以并行工作,但是外围设备和CPU的处理速度不匹配的问题是客观存在的。这限制了和处理机连接的外设台数,且在中断方式时造成数据丢失。从而,外围设备和CPU处理速度不匹配的问题极大地制约了计算机系统性能的进一步提
20、高和限制了系统的应用范围。例如,当计算进程阵发性地把大批量数据输出到打印机上打印时,由于CPU输出数据的速度大大高于打印机的打印速度,因此,CPU只好停下来等待。反之,在计算进程进行计算时,打印机又因无数据输出而空闲无事。,41,外围设备与处理机速度不匹配的问题可以采用设置缓冲区(器)的方法解决。再者,从减少中断的次数看,也存在着引入缓冲区的必要性。在中断方式时,如果在I/O控制器中增加一个100个字符缓冲器,则由前面各字对中断方式的描述可知,I/O控制器对处理机的中断次数将降低100倍,即等到能存放100个字符的字符缓冲区装满之后才向处理机发一次中断。这将大大减少处理机的中断处理时间。即使是
21、使用DMA方式或通道方式控制数据传送时,如果不划分专用的内存区或专用缓冲器来存放数据的话,也会因为要求数据的进程所拥有的内存区不够或存放数据的内存始址计算困难等原因而造成某个进程长期占有通道或DMA控制器及设备,从而产生所谓瓶颈问题。,42,因此,为了匹配外设与CPU之间的处理速度,为了减少中断次数和CPU的中断处理时间,同时也是为了解决DMA或通道方式时的瓶颈问题,在设备管理中引入了用来暂存数据的缓冲技术。根据I/O控制方式,缓冲的实现方法有两种,一种是采用专用硬件缓冲器,例如I/O控制器中的数据缓冲寄存器。另一种方法是在内存划出一个具有n个单元的专用缓冲区,以便存放输入输出的数据。内存缓冲
22、区又称软件缓冲。,43,9.4.2 缓冲的种类 根据系统设置的缓冲器的个数,可把缓冲技术分为单缓冲、双缓冲和多缓冲以及缓冲池几种。单缓冲是在设备和处理机之间设置一个缓冲器。设备和处理机交换数据时,先把被交换数据写入缓冲器,然后,需要数据的设备或处理机从缓冲器取走数据。由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作,因此,设备和设备之间不能通过单缓冲达到并行操作。解决两台外设、打印机和终端之间的并行操作问题的办法是设置双缓冲。有了两个缓冲器之后,CPU可把输出到打印机的数据放入其中一个缓冲器(区),让打印机慢慢打印;然后,它又可以从另一个为终端设置的缓冲器(区)中读取所需要的输入数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设备管理

链接地址:https://www.desk33.com/p-353709.html