设备管理方法与信息化课程34894.pptx
《设备管理方法与信息化课程34894.pptx》由会员分享,可在线阅读,更多相关《设备管理方法与信息化课程34894.pptx(173页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章 设 备 管 理 第五章 设备管理 5.1 引言 5.2 操作系统与中断处理 5.3 操作系统与时钟系统 5.4 操作系统对I/O操作的控制 5.5 设备管理的数据结构 5.6 磁盘调度 5.7 UNIX系统V的设备管理5.8 设备分配1第五章 设 备 管 理 第五章 设备管理 5.1 引言 设备管理是指计算机系统中,除中央处理器、主存储器以外的设备的管理,是操作系统的主要功能之一。通常把这些设备及其接口线路、控制部件和管理软件统称为I/O系统。2第五章 设 备 管 理 在I/O系统中,普遍地使用中断、通道、缓冲区等各种技术,使主机和外设并行工作,改善了设备的使用效率。但是,在另一方面却
2、给用户带来困难。用户想使用一台外部设备,除了需掌握相关 I/O部分的原理之外,还要求对接口、控制器以及设备的物理特性都要有一定了解。为了使用户摆脱这些限制,操作系统承担了这项任务,凡是有关外设的驱动、控制、分配等技术问题都统一由设备管理程序负责。3第五章 设 备 管 理 5.1.1 设备的概念和分类 1.设备的概念 它既指进行实际输入输出操作的物理设备,也指控制这些设备并进行I/O操作的支持设备和支持部件,也指为提高设备利用率,采用某种 I/O技术形成的逻辑设备和虚拟设备。因此可以说,输入输出设备可指计算机系统所能控制的一切控制对象或者与控制对象相联系的媒体。4第五章 设 备 管 理 2.设备
3、的分类 按照功能分类:可以分为输入设备、输出设备、存储设备、供电设备、网络联网设备等。从设备的数据组织方式分类:可以分为块设备(blockdevice)和字符设备(characterdevice)。块设备以数据块为单位组织和传送数据。它将数据存储在定长块中,每个数据块都有自己的地址,块的大小与设备和具体的操作系统有关,一般在5124096字节之间。块设备的基本特征是能够单独地读写每一个数据块,所读写的块与其他数据块无关。字符设备以字符为单位组织和传送数据。它传送或接收一连串字符,数据组织不考虑块结构,也不能单独寻址。5第五章 设 备 管 理 从设备的管理模式分类,可以分为物理设备和逻辑设备。物
4、理设备指计算机系统硬件配置的实际设备。这些设备在操作系统内具有一个惟一的符号名称,系统可以按照该名称对相应的设备进行物理操作。逻辑设备是指一种在逻辑意义上存在的设备,在未加以定义前,它不代表任何硬件设备和实际设备。逻辑设备是系统提供的,它也是独立于物理设备而进行输入输出操作的一种“虚拟设备”。6第五章 设 备 管 理 从设备的资源属性分类,可以分为独占设备、共享设备和虚拟设备。独占设备在用户作业或者进程运行期间为该用户所独享,只有等它用完,才能让别的用户和进程使用;共享设备是指能被多个用户或进程交替共用的设备,宏观上似乎多个用户同时在使用,如磁盘等随机存储设备。虚拟设备具有将一种物理设备模拟成
5、另一种设备的能力。用户进行输入输出所使用的设备并不是他所指定的设备,系统用另一种设备代替了用户指定的设备。7第五章 设 备 管 理 SPOOLING技术l系统采用某种 I/O技术(如 SPOOLING),将某个独占设备改进为多用户共享的设备,以提高系统运行效率和资源利用率。l随着SPOOLING技术的引入,I/O 设备不再被看做仅仅是一个孤立的物理设备,而且把它们与文件系统联系起来,看做是一种流式文件(数据流的I/O),建立了设备文件的概念,采用了直接I/O端口控制语句和文件操作语句来进行I/O设备操作,使I/O设备的操作更加灵活。8第五章 设 备 管 理 5.1.2 I/O设备控制与驱动I/
6、O 设备的控制和驱动技术包括了硬件控制驱动技术和驱动软件。前者是 I/O 设备厂商设计建立的与设备密切相关的技术,这些技术根据不同的设备依赖性很大。后者涉及系统所有I/O 处理的软件,通过它们完成整个 I/O 操作。9第五章 设 备 管 理 操作系统中的I/O驱动(处理)软件一般分为几个层次,如中断处理程序、设备驱动程序、操作系统 I/O原语和用户级软件。中断处理程序位于最底层,它作为系统和I/O操作的激励,响应来自系统内部和外部的 I/O请求。设备驱动程序处理一种设备类型或者一类密切相关的设备,程序代码依赖于设备操作,其任务是接收来自与设备无关的上层软件的抽象请求,确保操作的具体实施。操作系
7、统I/O原语是系统和用户进程请求 I/O操作的抽象的高级的操作,它们不针对某个具体设备,而在 I/O处理过程中由设备控制表和设备驱动程序转接到物理设备。用户级软件是用户程序中负责处理 I/O 操作的程序部分,经编译后产生对I/O的高级处理,操作再逐层下交。10第五章 设 备 管 理 5.1.3 设备管理的设计要求和任务1.设计要求 第一,为用户提供方便、统一的设备使用界面;第二,提高外部设备的利用率,尽量提高并行程度。第三,用户程序应独立于设备,即实现程序与设备的无关性,当物理设备发生意外或有更改时,用户程序不必修改,就可使用系统分配的其他设备11第五章 设 备 管 理 2.设备管理的任务为了
8、达到上述目标,管理功能通常包括设备的配置和资源分配、设备的控制和驱动、系统与设备之间的缓冲协调、设备的调度与分配等。(1)设备配置和资源分配是针对 I/O 设备本身的。由于系统要配置各种 I/O 设备和部件,它们都要使用一定的系统资源,包括I/O通道、I/O地址、I/O端口、存储器地址、中断请求号及 DMA 通道等,它们的共享在硬件和软件上可能会产生冲突,必须由操作系统对 I/O 设备进行正确的配置和分配。12第五章 设 备 管 理(2)设备控制和驱动主要是按照 I/O 控制的方式,对不同的设备完成相应的 I/O 中断、设备控制器操作、读写操作等物理过程。针对不同的设备请求,通过设备处理程序或
9、设备驱动程序完成对设备的直接控制。(3)系统与设备间的协调主要是速度上的协调,通常要解决快速的处理器与慢速的I/O 设备之间的操作匹配的问题,在操作系统中采用缓冲区的方式来缓解这个矛盾,设备管理要实现这些缓冲区的建立、分配、释放与回收。(4)设备调度与分配是针对两种不同情况:对等待设备和I/O 操作的进程进行调度;对多个进程争用设备进行分配。13第五章 设 备 管 理 UNIX设备管理在UNIX操作系统中,采用比较统一的方法对外设进行管理。首先将各种外部设备分成特性迥然不同的两大类,即块设备和字符设备;接着又把与设备物理特性密切相关的部分与设备管理的基本方式和使用的基本技术分离开来。系统为各个
10、设备设置单独的数据结构,然后用基本相同的方式和技术对同类设备的I/O操作进行处理。14第五章 设 备 管 理 5.2 操作系统与中断处理中断是参与计算机系统设备管理的一个重要因素和重要结构。它是操作系统中与硬件最接近的一部分,是操作系统和硬件的界面,是由软、硬件结合形成的一套中断机构实施的。15第五章 设 备 管 理 5.2.1 中断的基本概念当一个正在运行的过程被另外一个过程打断,停止运行过程而转向执行另一过程的活动称为中断。中断的过程是打断目前正在进行的工作,转而处理更紧急的事务,处理完成后再继续原来的工作。计算机系统的中断既来自系统内部,也来自系统外部,分别称为内(部)中断和外(部)中断
11、。内部中断是计算机系统本身在工作过程中出现的各种需要紧急处理的事务,如出错中断、程序中断等,也称为软件中断。内部中断多采用程序陷入(trap)的方式。外部中断主要是来自 I/O 设备的中断,如设备请求中断、打印中断、掉电中断、数据传输中断等,大部分是硬件中断。16第五章 设 备 管 理 17第五章 设 备 管 理 5.2.2 中断的类型(1)I/O中断这是来自通道或者各种外部设备的中断,用于反映通道或设备的工作情况。例如,打印机打印结束、磁盘传输完成、利用终端进行 I/O 操作等,也包括外设在执行 I/O 操作时出错而引起的中断。18第五章 设 备 管 理(2)时钟中断一类特殊的 I/O 完成
12、中断,它不一定与具体的 I/O 相连,既可由硬件引起,也可由软件引起。经由硬件定时芯片产生规则的时钟间隔(时间片)或者由软件计数产生的时间间隔,每一次中断都意味着一段固定时间已到,时钟中断需要定时、复位和更新。19第五章 设 备 管 理(3)系统请求中断向操作系统提出的请求服务,是由系统指令产生的。系统调用指令是这一类中断的特例。各种 I/O 指令,如 TRAP、IOT 等均可产生系统请求。该中断把命令传送到操作系统,以确定一个进程需要什么样的服务,操作系统对请求做出分析并提供所需要的服务。20第五章 设 备 管 理(4)报警中断一般由计算机系统的外部条件引起,如计算机的中断键、启动键、求助键
13、等,以及由外部通信信号和网络传输信号到达产生的中断。(5)程序错误中断因编程错误、逻辑条件判断或分支错误、运行参数错误而产生的中断。它通常会通过用户终端或显示器给予提示。这类中断的类型包括:除数为零、浮点运算溢出、存储器使用无效、地址越界、使用特权或非法指令、越权访问、错误的格式化数据等21第五章 设 备 管 理(6)机器错误中断对应于系统硬件的错误中断。如存储器错误、I/O 设备错误、显示器错误、接口通道错误等。一般操作系统只报告这些错误,并终止操作。22第五章 设 备 管 理 UNIX 中断机构处理一切外部设备的 I/O 中断。陷入机构处理在系统内发生的需要立即干预的事件,包括使用指令的陷
14、入(自陷)和由于软、硬件故障或错误造成的陷入。系统调用是UNIX操作系统面向在用户态下运行的程序的界面,在C语言和汇编语言级上都允许用户态程序使用系统调用。23第五章 设 备 管 理(补充)系统调用命令操作系统里预先编制了很多不同功能的子程序。用户可以在自己的程序里调用这些子程序,请求操作系统提供服务。这些子程序称为“系统功能调用”程序。系统调用是操作系统程序模块的一部分,它应该在管态下执行。不能直接被用户程序调用,用户程序只有通过系统提供的“访管”指令,才能实现由目态转为管态、进而调用这些功能程序的目的。24第五章 设 备 管 理 访管指令访管指令:是一条非特权指令,功能是执行它就会产生一个
15、软中断,促使处理器由目态转换到管态,进入操作系统,并处理中断。利用访管指令的这种功能,编译程序就把源程序中的系统调用都转换成访管指令,把具体的功能转换成不同的编码。这样,就能使处理机执行访管指令由目态进入管态,再根据编码,转到相应的功能处理程序去执行。25第五章 设 备 管 理 例:在c语言中,write(fd,buf,count)系统调用命令。C编译程序在编译C的源程序时,总把系统调用命令翻译成能够引起软中断的访管指令trap.该指令长两个字节,第一个字节为操作码,第二个字节为系统调用命令的功能编码。Trap功能码FdBufcountTrap Trap的 的16 16进制操作码 进制操作码8
16、9 89;Write Write的功能码 的功能码04 04;Write Write的机器指令:的机器指令:二进制 二进制1000100100000100 1000100100000100;八进制 八进制104404 10440426第五章 设 备 管 理 Trap指令中的功能码是用来区分不同的功能调用的。在UNIX操作系统中,有一张“系统调用程序入口地址表”。该表表目从0开始、以系统调用命令所对应的功能码为顺序排列。自带参数个数 自带参数个数该系统调用处理程序的入口地址 该系统调用处理程序的入口地址表目内容 表目内容27第五章 设 备 管 理 系统调用处理过程语言编译程序产生中断查看入口表W
17、rite处理程序Write 入口3write(fd,buf,write(fd,buf,count)count)104404(trap 04)C语言源程序目标程序Trap中断处理程序34528第五章 设 备 管 理 系统调用与一般过程调用的区别(1)一般过程调用,调用者与被调用者都运行在相同的cpu状态。但发生系统调用时,发出调用命令的调用者运行在目态,而被调用者运行在管态。(2)一般过程调用,是直接通过转移指令转向被调用程序的;但发生系统调用时,只能通过软中断指令提供的一个统一入口,由目态进入管态,经分析后,才转向相应的命令处理程序。(3)一般过程调用,在被调用者执行完后,就径直返回断点继续执
18、行;但系统调用可能会招致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用结束后,不一定是返回调用者断点处继续执行。29第五章 设 备 管 理 1与进程管理和控制有关的系统调用属于这一类的有21种。进程的创建和消亡:fork、exit。进程间的同步:wait、pause等。2 与文件系统有关的系统调用属于这一类的有28种。文件生成和取消:creat、unlink。文件打开、关闭及控制:open、close、fcntl。UNIX SVR4 提供了 53 种系统调用,它们大致可分为 3 类。30第五章 设 备 管 理 3其他系统调用属于这一类的有4种。设置和获得系统或进程时间:stime、
19、time、times。在指定时间后发告警信号:alarm31第五章 设 备 管 理 5.2.3 中断的响应和实现过程中断是在中断控制机构的管理下实现的。设备提出的中断请求信号由中断控制机构响应,然后予以实施。中断控制机构的主要功能如下。记录各中断源的中断请求信号,以便于分别处理。在CPU硬件中,每当执行完一条指令,或开始取一条指令前,检测有无中断请求,若有则硬件自动转入中断处理周期。32第五章 设 备 管 理 系统对不同的中断类型规定了不同的优先级,当同时存在多个中断请求时,选优先级最高的予以响应。如果两个中断的优先级相等,将按照一定算法,如先来先服务(FIFO)等进行处理。优先级机制可能使中
20、断服务形成嵌套,即优先级低的中断处理程序的执行会被优先级高的中断打断,从而又调用了另一个处理程序。在有的操作系统(如实时系统)中是不允许中断嵌套的。33第五章 设 备 管 理 响应中断后,根据中断源找出相应的中断处理程序入口地址,以便转去执行。如何转入相应的中断处理程序,目前常用的结构是中断矢量(interruptvector)结构。中断矢量结构是一类地址指针的集合,在主存中开辟了一个特殊的存储区域来存放这种结构,其中的某一个或者几个存储单元存放一个指向中断处理程序的地址,它被称为中断矢量。一个中断发生,总可以在固定的位置找到这个指针,再根据指针所指的位置(即指针的内容)获得相应的处理程序或者
21、驱动程序入口地址。34第五章 设 备 管 理 保护现场,以便中断返回时可以在断点处继续执行。中断现场主要指:相应中断时指令计数器PC的内容(即下一条指令的地址,也称为断点);进程运行参数和条件;现运行程序状态寄存器 PS 的内容以及累加器或通用寄存器的内容和标记,有的计算机也把 PC 和PS 合起来统称为程序状态字 PSW。现场保护是把它们保存到主存中的特殊区域(一般是堆栈)中,并保证中断过程中原有现场不做任何改变。35第五章 设 备 管 理 当正在进行某一中断处理时,或在执行程序的某些阶段,有时不允许响应某些中断,所以应该在程序控制下,禁止响应某些中断,即屏蔽这些中断。当不需要屏蔽时,又能及
22、时在程序控制下撤销屏蔽。在实时系统中中断屏蔽必须小型化,并且严格限制中断处理程序的执行时间。36第五章 设 备 管 理 5.2.4 中断处理程序和驱动程序中断处理程序也叫做中断服务程序,它是与设备硬件密切相关的处理程序,一般情况下,处理设备的各个 I/O 操作的细节是采用汇编语言和机器语言编写。为了将这种与设备有关的程序对用户透明,使用户不必去了解每一种设备操作的具体细节,通常采用统一的简单方式,如上述的中断矢量方式来进行。37第五章 设 备 管 理 在微型机和个人计算机中,常常把I/O 中断处理程序以设备驱动程序的方式作为操作系统设备管理和控制的依据,用户采用一种通用的界面和操作来使用这些设
23、备。例如,UNIX和 DOS 操作系统中都把设备作为一种虚拟的文件对待,每个设备有一个像文件名那样的名字,并对它像一个文件那样存取。设备驱动程序被作为一种特殊的文件存放在系统辅助存储设备(如磁盘)中,在需要时由操作系统装入使用。38第五章 设 备 管 理 在操作系统设计时,考虑了所有可能与计算机系统配置的设备,所有设备的驱动程序随操作系统软件一起提供给用户,用户在安装操作系统时,根据当时配置的 I/O 设备情况,调入相应的设备驱动程序文件,将它们设置并嵌入操作系统中,做好系统运行操作的环境准备。如果操作系统的设备配置有变化,则需要重新引导或者重新配置安装操作系统。39第五章 设 备 管 理 在
24、UNIX系统中,将设备分成两类:块设备和字符设备。核心与驱动程序的接口是由块设备开关表和字符设备开关表描述的.40第五章 设 备 管 理 5.2.5 中断的返回与恢复当中断请求操作完成时,系统必须返回被中断的程序。此时,必须将中断开始保存下来的原来程序的状态、寄存器内容和标记、进程运行参数和条件等一一恢复,复原到中断未出现时的状态,称为现场恢复。41第五章 设 备 管 理 UNIX 操作系统中,中断处理都是在核心态下进行的。如果中断前处理机状态为核心态,则在执行完设备处理子程序后就恢复现场,然后用中断返回指令回到中断前状态,继续执行被中断的操作系统程序。如果中断前为用户态,则在执行完设备处理子
25、程序后,先要检查重新调度标志runrun是否设置。如若已经设置,则调用进程切换调度程序进行进程调度,中断时被保护的现场就不必立即恢复。如果runrun标志没有设置,则恢复保护在堆栈中的现场,继续在用户态下执行被中断的程序。42第五章 设 备 管 理 5.4 操作系统对I/O操作的控制 外围设备与内存或CPU间常用的数据传送控制方式:1.程序循环测试方式2.中断控制方式3.直接存储器存取(DMA)方式4.通道方式43第五章 设 备 管 理 1.程序I/O方式 等待发Start指令Test测试,设备标志触发器为“Done”?CPU执行下一条指令开始数据传送 否是外围设备接收到Start指令作接收或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设备管理 方法 信息化 课程 34894
限制150内