设备管理方法与信息化课程(PDF70页).ppt_第1页
设备管理方法与信息化课程(PDF70页).ppt_第2页
设备管理方法与信息化课程(PDF70页).ppt_第3页
设备管理方法与信息化课程(PDF70页).ppt_第4页
设备管理方法与信息化课程(PDF70页).ppt_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 设 备 管 理 1第五章第五章 设备管理设备管理 5.1 5.1 引言引言 5.2 5.2 操作系统与中断处理操作系统与中断处理 5.3 5.3 操作系统与时钟系统操作系统与时钟系统 5.4 5.4 操作系统对操作系统对I/OI/O操作的控制操作的控制 5.5 5.5 设备管理的数据结构设备管理的数据结构 5.6 5.6 磁盘调度磁盘调度 5.7 UNIX5.7 UNIX系统系统V V的设备管理的设备管理5.8 5.8 设备分配设备分配第五章 设 备 管 理 2第五章第五章 设备管理设备管理 5.1 引言引言 设备管理设备管理是指计算机系统中,除中央处理器、是指计算机系统中,除中央处理

2、器、主存储器以外的设备的管理,是操作系统的主要主存储器以外的设备的管理,是操作系统的主要功能之一。功能之一。 通常把这些设备及其接口线路、控制部件和通常把这些设备及其接口线路、控制部件和管理软件统称为管理软件统称为I/O系统系统。 第五章 设 备 管 理 3在在I/O系统中,普遍地使用中断、通道、缓冲区等系统中,普遍地使用中断、通道、缓冲区等各种技术,使主机和外设并行工作,改善了设备各种技术,使主机和外设并行工作,改善了设备的使用效率。的使用效率。但是,在另一方面却给用户带来困难。用户想使但是,在另一方面却给用户带来困难。用户想使用一台外部设备,除了需掌握相关用一台外部设备,除了需掌握相关 I

3、/O局部的原理局部的原理之外,还要求对接口、控制器以及设备的物理特之外,还要求对接口、控制器以及设备的物理特性都要有一定了解。性都要有一定了解。为了使用户摆脱这些限制,操作系统承担了这项为了使用户摆脱这些限制,操作系统承担了这项任务,但凡有关外设的驱动、控制、分配等技术任务,但凡有关外设的驱动、控制、分配等技术问题都统一由设备管理程序负责。问题都统一由设备管理程序负责。第五章 设 备 管 理 45.1.1 5.1.1 设备的概念和分类设备的概念和分类 1. 设备的概念设备的概念 它既指进行实际输入输出操作的它既指进行实际输入输出操作的物理设备物理设备,也指控制这些设备并进行也指控制这些设备并进

4、行I/O操作的操作的支持设备支持设备和和支持部件支持部件,也指为提高设备利用率,采用某,也指为提高设备利用率,采用某种种 I/O技术形成的技术形成的逻辑设备逻辑设备和和虚拟设备虚拟设备。因此可以说,因此可以说,输入输出设备可指计算机系统输入输出设备可指计算机系统所能控制的一切控制对象或者与控制对象相联所能控制的一切控制对象或者与控制对象相联系的媒体系的媒体。第五章 设 备 管 理 52. 设备的分类设备的分类 按照功能分类:可以分为输入设备、输出设备、存储设按照功能分类:可以分为输入设备、输出设备、存储设备、供电设备、网络联网设备等。备、供电设备、网络联网设备等。 从设备的数据组织方式分类:可

5、以分为块设备从设备的数据组织方式分类:可以分为块设备blockdevice和字符设备和字符设备characterdevice。块设备以数据块为单位组织和传送数据。它将数据存储在定块设备以数据块为单位组织和传送数据。它将数据存储在定长块中,每个数据块都有自己的地址,块的大小与设备和具长块中,每个数据块都有自己的地址,块的大小与设备和具体的操作系统有关,一般在体的操作系统有关,一般在5124096字节之间。块设备的根字节之间。块设备的根本特征是能够单独地读写每一个数据块,所读写的块与其他本特征是能够单独地读写每一个数据块,所读写的块与其他数据块无关。数据块无关。字符设备以字符为单位组织和传送数据。

6、它传送或接收一连字符设备以字符为单位组织和传送数据。它传送或接收一连串字符,数据组织不考虑块结构,也不能单独寻址。串字符,数据组织不考虑块结构,也不能单独寻址。第五章 设 备 管 理 6 从设备的管理模式分类,可以分为物理设备和从设备的管理模式分类,可以分为物理设备和逻辑设备。逻辑设备。物理设备指计算机系统硬件配置的实际设备。这物理设备指计算机系统硬件配置的实际设备。这些设备在操作系统内具有一个惟一的符号名称,些设备在操作系统内具有一个惟一的符号名称,系统可以按照该名称对相应的设备进行物理操作。系统可以按照该名称对相应的设备进行物理操作。逻辑设备是指一种在逻辑意义上存在的设备,在逻辑设备是指一

7、种在逻辑意义上存在的设备,在未加以定义前,它不代表任何硬件设备和实际设未加以定义前,它不代表任何硬件设备和实际设备。逻辑设备是系统提供的,它也是独立于物理备。逻辑设备是系统提供的,它也是独立于物理设备而进行输入输出操作的一种设备而进行输入输出操作的一种“虚拟设备。虚拟设备。第五章 设 备 管 理 7从设备的资源属性分类从设备的资源属性分类,可以分为,可以分为独占设备独占设备、共享设备共享设备和和虚拟设备虚拟设备。独占设备独占设备在用户作业或者进程运行期间为该用户在用户作业或者进程运行期间为该用户所独享,只有等它用完,才能让别的用户和进程所独享,只有等它用完,才能让别的用户和进程使用;使用;共享

8、设备共享设备是指能被多个用户或进程是指能被多个用户或进程交替共用交替共用的设的设备,宏观上似乎多个用户同时在使用,如磁盘等备,宏观上似乎多个用户同时在使用,如磁盘等随机存储设备。随机存储设备。虚拟设备虚拟设备具有将一种物理设备模拟成另一种设备具有将一种物理设备模拟成另一种设备的能力。用户进行输入输出所使用的设备并不是的能力。用户进行输入输出所使用的设备并不是他所指定的设备,系统用另一种设备代替了用户他所指定的设备,系统用另一种设备代替了用户指定的设备。指定的设备。第五章 设 备 管 理 8SPOOLING技术技术系统采用某种系统采用某种 I/O技术如技术如 SPOOLING,将某个独占设备改进

9、为多用户共享的设备,将某个独占设备改进为多用户共享的设备,以提高系统运行效率和资源利用率。以提高系统运行效率和资源利用率。随着随着SPOOLING技术的引入,技术的引入,I/O 设备不再设备不再被看做仅仅是一个孤立的物理设备,而且把被看做仅仅是一个孤立的物理设备,而且把它们与文件系统联系起来,看做是一种流式它们与文件系统联系起来,看做是一种流式文件数据流的文件数据流的I/O,建立了设备文件的,建立了设备文件的概念,采用了直接概念,采用了直接I/O端口控制语句和文件端口控制语句和文件操作语句来进行操作语句来进行I/O设备操作,使设备操作,使I/O设备的设备的操作更加灵活。操作更加灵活。第五章 设

10、 备 管 理 95.1.2 I/O设备控制与驱动设备控制与驱动I/O 设备的控制和驱动技术包括了设备的控制和驱动技术包括了硬件控制驱动技硬件控制驱动技术术和和驱动软件驱动软件。 前者是前者是 I/O 设备厂商设计建立的与设备密切相关的技术,设备厂商设计建立的与设备密切相关的技术,这些技术根据不同的设备依赖性很大。这些技术根据不同的设备依赖性很大。 后者涉及系统所有后者涉及系统所有I/O 处理的软件,通过它们完成整个处理的软件,通过它们完成整个 I/O 操作。操作。第五章 设 备 管 理 10操作系统中的操作系统中的I/O驱动处理软件一般分为几个层次,驱动处理软件一般分为几个层次,如中断处理程序

11、、设备驱动程序、操作系统如中断处理程序、设备驱动程序、操作系统 I/O原语和用原语和用户级软件。户级软件。中断处理程序位于最底层,它作为系统和中断处理程序位于最底层,它作为系统和I/O操作的鼓励,操作的鼓励,响应来自系统内部和外部的响应来自系统内部和外部的 I/O请求。请求。设备驱动程序处理一种设备类型或者一类密切相关的设备,设备驱动程序处理一种设备类型或者一类密切相关的设备,程序代码依赖于设备操作,其任务是接收来自与设备无关程序代码依赖于设备操作,其任务是接收来自与设备无关的上层软件的抽象请求,确保操作的具体实施。的上层软件的抽象请求,确保操作的具体实施。操作系统操作系统I/O原语是系统和用

12、户进程请求原语是系统和用户进程请求 I/O操作的抽象的操作的抽象的高级的操作,它们不针对某个具体设备,而在高级的操作,它们不针对某个具体设备,而在 I/O处理过处理过程中由设备控制表和设备驱动程序转接到物理设备。程中由设备控制表和设备驱动程序转接到物理设备。用户级软件是用户程序中负责处理用户级软件是用户程序中负责处理 I/O 操作的程序局部,操作的程序局部,经编译后产生对经编译后产生对I/O的高级处理,操作再逐层下交。的高级处理,操作再逐层下交。第五章 设 备 管 理 115.1.3 设备管理的设计要求和任务设备管理的设计要求和任务1.设计要求设计要求 第一第一,为用户提供方便、统一的设备使用

13、界面,为用户提供方便、统一的设备使用界面; 第二第二,提高外部设备的利用率,尽量提高并行,提高外部设备的利用率,尽量提高并行程度。程度。 第三第三,用户程序应独立于设备,即实现程序与,用户程序应独立于设备,即实现程序与设备的无关性,当物理设备发生意外或有更改设备的无关性,当物理设备发生意外或有更改时,用户程序不必修改,就可使用系统分配的时,用户程序不必修改,就可使用系统分配的其他设备其他设备第五章 设 备 管 理 122. 设备管理的任务设备管理的任务为了到达上述目标,管理功能通常包括设备的配置为了到达上述目标,管理功能通常包括设备的配置和资源分配、设备的控制和驱动、系统与设备之和资源分配、设

14、备的控制和驱动、系统与设备之间的缓冲协调、设备的调度与分配等。间的缓冲协调、设备的调度与分配等。1设备配置和资源分配是针对设备配置和资源分配是针对 I/O 设备本身的。设备本身的。由于系统要配置各种由于系统要配置各种 I/O 设备和部件,它们都要设备和部件,它们都要使用一定的系统资源,包括使用一定的系统资源,包括I/O通道、通道、I/O地址、地址、I/O端口、存储器地址、中断请求号及端口、存储器地址、中断请求号及 DMA 通通道等,它们的共享在硬件和软件上可能会产生冲道等,它们的共享在硬件和软件上可能会产生冲突,必须由操作系统对突,必须由操作系统对 I/O 设备进行正确的配置设备进行正确的配置

15、和分配。和分配。第五章 设 备 管 理 132设备控制和驱动主要是按照设备控制和驱动主要是按照 I/O 控制的方式,对不同控制的方式,对不同的设备完成相应的的设备完成相应的 I/O 中断、设备控制器操作、读写操作等中断、设备控制器操作、读写操作等物理过程。针对不同的设备请求,通过设备处理程序或设备物理过程。针对不同的设备请求,通过设备处理程序或设备驱动程序完成对设备的直接控制。驱动程序完成对设备的直接控制。3系统与设备间的协调主要是速度上的协调,通常要解系统与设备间的协调主要是速度上的协调,通常要解决快速的处理器与慢速的决快速的处理器与慢速的I/O 设备之间的操作匹配的问题,设备之间的操作匹配

16、的问题,在操作系统中采用缓冲区的方式来缓解这个矛盾,设备管理在操作系统中采用缓冲区的方式来缓解这个矛盾,设备管理要实现这些缓冲区的建立、分配、释放与回收。要实现这些缓冲区的建立、分配、释放与回收。4设备调度与分配是针对两种不同情况:设备调度与分配是针对两种不同情况:对等待设备和对等待设备和I/O 操作的进程进行调度;操作的进程进行调度;对多个进程争用设备进行分配。对多个进程争用设备进行分配。第五章 设 备 管 理 14UNIX设备管理设备管理在在UNIX操作系统中,采用比较统一的方法对外设操作系统中,采用比较统一的方法对外设进行管理。进行管理。首先将各种外部设备分成特性迥然不同的两大类,首先将

17、各种外部设备分成特性迥然不同的两大类,即块设备和字符设备;即块设备和字符设备;接着又把与设备物理特性密切相关的局部与设备管接着又把与设备物理特性密切相关的局部与设备管理的根本方式和使用的根本技术别离开来。理的根本方式和使用的根本技术别离开来。系统为各个设备设置单独的数据结构,然后用根本系统为各个设备设置单独的数据结构,然后用根本相同的方式和技术对同类设备的相同的方式和技术对同类设备的I/O操作进行处操作进行处理。理。第五章 设 备 管 理 155.2 5.2 操作系统与中断处理操作系统与中断处理中断是参与计算机系统设备管理的一个重要因中断是参与计算机系统设备管理的一个重要因素和重要结构。它是操

18、作系统中与硬件最接近素和重要结构。它是操作系统中与硬件最接近的一局部,是操作系统和硬件的界面,是由软、的一局部,是操作系统和硬件的界面,是由软、硬件结合形成的一套中断机构实施的。硬件结合形成的一套中断机构实施的。第五章 设 备 管 理 165.2.1 中断的根本概念中断的根本概念当一个正在运行的过程被另外一个过程打断,停止运行过程当一个正在运行的过程被另外一个过程打断,停止运行过程而转向执行另一过程的活动称为中断。而转向执行另一过程的活动称为中断。中断的过程是打断目前正在进行的工作,转而处理更紧急的中断的过程是打断目前正在进行的工作,转而处理更紧急的事务,处理完成后再继续原来的工作。事务,处理

19、完成后再继续原来的工作。计算机系统的中断既来自系统内部,也来自系统外部,分别计算机系统的中断既来自系统内部,也来自系统外部,分别称为内部中断和外部中断。称为内部中断和外部中断。内部中断是计算机系统本身在工作过程中出现的各种需要紧内部中断是计算机系统本身在工作过程中出现的各种需要紧急处理的事务,如出错中断、程序中断等,也称为软件中断。急处理的事务,如出错中断、程序中断等,也称为软件中断。内部中断多采用程序陷入内部中断多采用程序陷入trap的方式。的方式。外部中断主要是来自外部中断主要是来自 I/O 设备的中断,如设备请求中断、打设备的中断,如设备请求中断、打印中断、掉电中断、数据传输中断等,大局

20、部是硬件中断。印中断、掉电中断、数据传输中断等,大局部是硬件中断。第五章 设 备 管 理 17第五章 设 备 管 理 185.2.2 中断的类型中断的类型1I/O中断中断这是来自通道或者各种外部设备的中断,用于反这是来自通道或者各种外部设备的中断,用于反映通道或设备的工作情况。例如,打印机打印映通道或设备的工作情况。例如,打印机打印结束、磁盘传输完成、利用终端进行结束、磁盘传输完成、利用终端进行 I/O 操作操作等,也包括外设在执行等,也包括外设在执行 I/O 操作时出错而引起操作时出错而引起的中断。的中断。第五章 设 备 管 理 192时钟中断时钟中断一类特殊的一类特殊的 I/O 完成中断,

21、它不一定与具体的完成中断,它不一定与具体的 I/O 相连,既可由硬件引起,也可由软件引起。相连,既可由硬件引起,也可由软件引起。经由硬件定时芯片产生规那么的时钟间隔时经由硬件定时芯片产生规那么的时钟间隔时间片或者由软件计数产生的时间间隔,每一间片或者由软件计数产生的时间间隔,每一次中断都意味着一段固定时间已到,时钟中断次中断都意味着一段固定时间已到,时钟中断需要定时、复位和更新。需要定时、复位和更新。第五章 设 备 管 理 203系统请求中断系统请求中断向操作系统提出的请求效劳,是由系统指令产向操作系统提出的请求效劳,是由系统指令产生的。系统调用指令是这一类中断的特例。生的。系统调用指令是这一

22、类中断的特例。各种各种 I/O 指令,如指令,如 TRAP、IOT 等均可产生系等均可产生系统请求。该中断把命令传送到操作系统,以确统请求。该中断把命令传送到操作系统,以确定一个进程需要什么样的效劳,操作系统对请定一个进程需要什么样的效劳,操作系统对请求做出分析并提供所需要的效劳。求做出分析并提供所需要的效劳。第五章 设 备 管 理 214报警中断报警中断一般由计算机系统的外部条件引起,如计算机一般由计算机系统的外部条件引起,如计算机的中断键、启动键、求助键等,以及由外部通的中断键、启动键、求助键等,以及由外部通信信号和网络传输信号到达产生的中断。信信号和网络传输信号到达产生的中断。5程序错误

23、中断程序错误中断因编程错误、逻辑条件判断或分支错误、运行参因编程错误、逻辑条件判断或分支错误、运行参数错误而产生的中断。它通常会通过用户终端或数错误而产生的中断。它通常会通过用户终端或显示器给予提示。这类中断的类型包括:除数为显示器给予提示。这类中断的类型包括:除数为零、浮点运算溢出、存储器使用无效、地址越界、零、浮点运算溢出、存储器使用无效、地址越界、使用特权或非法指令、越权访问、错误的格式化使用特权或非法指令、越权访问、错误的格式化数据等数据等第五章 设 备 管 理 226机器错误中断机器错误中断对应于系统硬件的错误中断。如存储器错误、对应于系统硬件的错误中断。如存储器错误、I/O 设备错

24、误、显示器错误、接口通道错误等。设备错误、显示器错误、接口通道错误等。一般操作系统只报告这些错误,并终止操作。一般操作系统只报告这些错误,并终止操作。第五章 设 备 管 理 23UNIX 中断机构处理一切外部设备的中断机构处理一切外部设备的 I/O 中断。中断。陷入机构处理在系统内发生的需要立即干预的事陷入机构处理在系统内发生的需要立即干预的事件,包括使用指令的陷入自陷和由于软、硬件,包括使用指令的陷入自陷和由于软、硬件故障或错误造成的陷入。件故障或错误造成的陷入。系统调用是系统调用是UNIX操作系统面向在用户态下运行操作系统面向在用户态下运行的程序的界面,在的程序的界面,在C语言和汇编语言级

25、上都允许语言和汇编语言级上都允许用户态程序使用系统调用。用户态程序使用系统调用。第五章 设 备 管 理 24( (补充系统调用命令补充系统调用命令操作系统里预先编制了很多不同功能的子程序。用操作系统里预先编制了很多不同功能的子程序。用户可以在自己的程序里调用这些子程序,请求操作户可以在自己的程序里调用这些子程序,请求操作系统提供效劳。这些子程序称为系统提供效劳。这些子程序称为“系统功能调用系统功能调用程序。程序。系统调用是操作系统程序模块的一局部,它应该在系统调用是操作系统程序模块的一局部,它应该在管态下执行。不能直接被用户程序调用,用户程序管态下执行。不能直接被用户程序调用,用户程序只有通过

26、系统提供的只有通过系统提供的“访管指令,才能实现由目访管指令,才能实现由目态转为管态、进而调用这些功能程序的目的。态转为管态、进而调用这些功能程序的目的。第五章 设 备 管 理 25访管指令访管指令访管指令访管指令:是一条非特权指令,功能是执行它就:是一条非特权指令,功能是执行它就会产生一个软中断,促使处理器由目态转换到管会产生一个软中断,促使处理器由目态转换到管态,进入操作系统,并处理中断。态,进入操作系统,并处理中断。利用访管指令的这种功能,编译程序就把源程序利用访管指令的这种功能,编译程序就把源程序中的系统调用都转换成访管指令,把具体的功能中的系统调用都转换成访管指令,把具体的功能转换成

27、不同的编码。这样,就能使处理机执行访转换成不同的编码。这样,就能使处理机执行访管指令由目态进入管态,再根据编码,转到相应管指令由目态进入管态,再根据编码,转到相应的功能处理程序去执行。的功能处理程序去执行。第五章 设 备 管 理 26例:在例:在c c语言中,语言中,write(fd,buf,count)write(fd,buf,count)系统调用命令。系统调用命令。C编译程序在编译编译程序在编译C的源程序时,总把系统调的源程序时,总把系统调用命令翻译成能够引起软中断的访管指令用命令翻译成能够引起软中断的访管指令trap.该指令长两个字节,第一个字节为该指令长两个字节,第一个字节为操作码操作

28、码,第,第二个字节为系统调用命令的二个字节为系统调用命令的功能编码功能编码。Trap功能码FdBufcount第五章 设 备 管 理 27Trap指令中的功能码是用来区分不同的功能调指令中的功能码是用来区分不同的功能调用的。用的。在在UNIX操作系统中,有一张操作系统中,有一张“系统调用程序系统调用程序入口地址表。该表表目从入口地址表。该表表目从0开始、以系统调开始、以系统调用命令所对应的功能码为顺序排列。用命令所对应的功能码为顺序排列。第五章 设 备 管 理 28系统调用处理过程系统调用处理过程语言语言编译编译程序程序产生产生中断中断查看查看入口入口表表Write处处理程序理程序Write入

29、口3104404(trap 04)C C语言源程序语言源程序目标程序目标程序TrapTrap中断处中断处理程序理程序345第五章 设 备 管 理 29系统调用与一般过程调用的区别系统调用与一般过程调用的区别1一般过程调用,调用者与被调用者都运行在相同的一般过程调用,调用者与被调用者都运行在相同的cpu状态。但发生系统调用时,发出调用命令的调用者运行状态。但发生系统调用时,发出调用命令的调用者运行在目态,而被调用者运行在管态。在目态,而被调用者运行在管态。2一般过程调用,是直接通过转移指令转向被调用程序一般过程调用,是直接通过转移指令转向被调用程序的;但发生系统调用时,只能通过软中断指令提供的一

30、个的;但发生系统调用时,只能通过软中断指令提供的一个统一入口,由目态进入管态,经分析后,才转向相应的命统一入口,由目态进入管态,经分析后,才转向相应的命令处理程序。令处理程序。3一般过程调用,在被调用者执行完后,就径直返回断一般过程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会招致进程状态的变化,从点继续执行;但系统调用可能会招致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用结束后,不而引起系统重新分配处理机。因此,系统调用结束后,不一定是返回调用者断点处继续执行。一定是返回调用者断点处继续执行。第五章 设 备 管 理 301与进程管理和控制有关的系统调用与进程

31、管理和控制有关的系统调用属于这一类的有属于这一类的有21种。种。 进程的创立和消亡:进程的创立和消亡:fork、exit。 进程间的同进程间的同步:步:wait、pause等。等。2 与文件系统有关的系统调用与文件系统有关的系统调用属于这一类的有属于这一类的有28种。种。 文件生成和取消:文件生成和取消:creat、unlink。 文件翻开、文件翻开、关闭及控制:关闭及控制:open、close、fcntl。 UNIX SVR4 提供了提供了 53 种系统调用,它们大致种系统调用,它们大致可分为可分为 3 类。类。第五章 设 备 管 理 313其他系统调用其他系统调用属于这一类的有属于这一类的

32、有4种。种。 设置和获得系统或进程时间:设置和获得系统或进程时间:stime、time、times。 在指定时间后发告警信号:在指定时间后发告警信号:alarm第五章 设 备 管 理 325.2.3 中断的响应和实现过程中断的响应和实现过程中断是在中断控制机构的管理下实现的。设备中断是在中断控制机构的管理下实现的。设备提出的中断请求信号由中断控制机构响应,然提出的中断请求信号由中断控制机构响应,然后予以实施。后予以实施。中断控制机构的主要功能如下。中断控制机构的主要功能如下。 记录各中断源的中断请求信号,以便于分别记录各中断源的中断请求信号,以便于分别处理。处理。 在在CPU硬件中,每当执行完

33、一条指令,或开硬件中,每当执行完一条指令,或开始取一条指令前,检测有无中断请求,假设有始取一条指令前,检测有无中断请求,假设有那么硬件自动转入中断处理周期。那么硬件自动转入中断处理周期。第五章 设 备 管 理 33 系统对不同的中断类型规定了不同的优先级,系统对不同的中断类型规定了不同的优先级,当同时存在多个中断请求时,选优先级最高的当同时存在多个中断请求时,选优先级最高的予以响应。予以响应。如果两个中断的优先级相等,将按照一定算法,如果两个中断的优先级相等,将按照一定算法,如先来先效劳如先来先效劳FIFO等进行处理。等进行处理。优先级机制可能使中断效劳形成嵌套,即优先优先级机制可能使中断效劳

34、形成嵌套,即优先级低的中断处理程序的执行会被优先级高的中级低的中断处理程序的执行会被优先级高的中断打断,从而又调用了另一个处理程序。在有断打断,从而又调用了另一个处理程序。在有的操作系统如实时系统中是不允许中断嵌的操作系统如实时系统中是不允许中断嵌套的。套的。第五章 设 备 管 理 34 响应中断后,根据中断源找出相应的中断处理响应中断后,根据中断源找出相应的中断处理程序入口地址,以便转去执行。程序入口地址,以便转去执行。如何转入相应的中断处理程序,目前常用的结构是如何转入相应的中断处理程序,目前常用的结构是中断矢量中断矢量interruptvector结构。结构。中断矢量结构是一类地址指针的

35、集合,在主存中开中断矢量结构是一类地址指针的集合,在主存中开辟了一个特殊的存储区域来存放这种结构,其中的辟了一个特殊的存储区域来存放这种结构,其中的某一个或者几个存储单元存放一个指向中断处理程某一个或者几个存储单元存放一个指向中断处理程序的地址,它被称为中断矢量。一个中断发生,总序的地址,它被称为中断矢量。一个中断发生,总可以在固定的位置找到这个指针,再根据指针所指可以在固定的位置找到这个指针,再根据指针所指的位置即指针的内容获得相应的处理程序或者的位置即指针的内容获得相应的处理程序或者驱动程序入口地址。驱动程序入口地址。第五章 设 备 管 理 35 保护现场,以便中断返回时可以在断点处继续保

36、护现场,以便中断返回时可以在断点处继续执行。执行。中断现场主要指:相应中断时指令计数器中断现场主要指:相应中断时指令计数器PC的内的内容即下一条指令的地址,也称为断点;进程容即下一条指令的地址,也称为断点;进程运行参数和条件;现运行程序状态存放器运行参数和条件;现运行程序状态存放器 PS 的内的内容以及累加器或通用存放器的内容和标记,有的容以及累加器或通用存放器的内容和标记,有的计算机也把计算机也把 PC 和和PS 合起来统称为程序状态字合起来统称为程序状态字 PSW。现场保护是把它们保存到主存中的特殊区域一现场保护是把它们保存到主存中的特殊区域一般是堆栈中,并保证中断过程中原有现场不做般是堆

37、栈中,并保证中断过程中原有现场不做任何改变。任何改变。第五章 设 备 管 理 36 当正在进行某一中断处理时,或在执行程序当正在进行某一中断处理时,或在执行程序的某些阶段,有时不允许响应某些中断,所以的某些阶段,有时不允许响应某些中断,所以应该在程序控制下,禁止响应某些中断,即应该在程序控制下,禁止响应某些中断,即屏屏蔽这些中断蔽这些中断。当不需要屏蔽时,又能及时在程。当不需要屏蔽时,又能及时在程序控制下撤销屏蔽。序控制下撤销屏蔽。在实时系统中中断屏蔽必须小型化,并且严格在实时系统中中断屏蔽必须小型化,并且严格限制中断处理程序的执行时间。限制中断处理程序的执行时间。第五章 设 备 管 理 37

38、5.2.4 中断处理程序和驱动程序中断处理程序和驱动程序中断处理程序也叫做中断效劳程序,它是与设中断处理程序也叫做中断效劳程序,它是与设备硬件密切相关的处理程序,一般情况下,处备硬件密切相关的处理程序,一般情况下,处理设备的各个理设备的各个 I/O 操作的细节是采用汇编语言操作的细节是采用汇编语言和机器语言编写。和机器语言编写。为了将这种与设备有关的程序对用户透明,使为了将这种与设备有关的程序对用户透明,使用户不必去了解每一种设备操作的具体细节,用户不必去了解每一种设备操作的具体细节,通常采用统一的简单方式,如上述的中断矢量通常采用统一的简单方式,如上述的中断矢量方式来进行。方式来进行。第五章

39、 设 备 管 理 38在微型机和个人计算机中,常常把在微型机和个人计算机中,常常把I/O 中断处中断处理程序以设备驱动程序的方式作为操作系统设理程序以设备驱动程序的方式作为操作系统设备管理和控制的依据,用户采用一种通用的界备管理和控制的依据,用户采用一种通用的界面和操作来使用这些设备。面和操作来使用这些设备。例如,例如,UNIX和和 DOS 操作系统中都把设备作为操作系统中都把设备作为一种虚拟的文件对待,每个设备有一个像文件一种虚拟的文件对待,每个设备有一个像文件名那样的名字,并对它像一个文件那样存取。名那样的名字,并对它像一个文件那样存取。设备驱动程序被作为一种特殊的文件存放在系设备驱动程序

40、被作为一种特殊的文件存放在系统辅助存储设备如磁盘中,在需要时由操统辅助存储设备如磁盘中,在需要时由操作系统装入使用。作系统装入使用。第五章 设 备 管 理 39在操作系统设计时,考虑了所有可能与计算机在操作系统设计时,考虑了所有可能与计算机系统配置的设备,所有设备的驱动程序随操作系统配置的设备,所有设备的驱动程序随操作系统软件一起提供给用户,用户在安装操作系系统软件一起提供给用户,用户在安装操作系统时,根据当时配置的统时,根据当时配置的 I/O 设备情况,调入相设备情况,调入相应的设备驱动程序文件,将它们设置并嵌入操应的设备驱动程序文件,将它们设置并嵌入操作系统中,做好系统运行操作的环境准备。

41、如作系统中,做好系统运行操作的环境准备。如果操作系统的设备配置有变化,那么需要重新果操作系统的设备配置有变化,那么需要重新引导或者重新配置安装操作系统。引导或者重新配置安装操作系统。第五章 设 备 管 理 40在在UNIX系统中,将设备分成两类:系统中,将设备分成两类:块设备块设备和和字符设备字符设备。核心与驱动程序的接口是由。核心与驱动程序的接口是由块设备块设备开关表开关表和和字符设备开关表字符设备开关表描述的描述的.第五章 设 备 管 理 415.2.5 中断的返回与恢复中断的返回与恢复当中断请求操作完成时,系统必须返回被中断当中断请求操作完成时,系统必须返回被中断的程序。的程序。此时,必

42、须将中断开始保存下来的原来程序的此时,必须将中断开始保存下来的原来程序的状态、存放器内容和标记、进程运行参数和条状态、存放器内容和标记、进程运行参数和条件等一一恢复,复原到中断未出现时的状态,件等一一恢复,复原到中断未出现时的状态,称为现场恢复。称为现场恢复。第五章 设 备 管 理 42UNIX 操作系统中,中断处理都是在核心态下进操作系统中,中断处理都是在核心态下进行的。行的。如果中断前处理机状态为核心态,那么在执行完如果中断前处理机状态为核心态,那么在执行完设备处理子程序后就恢复现场,然后用中断返回设备处理子程序后就恢复现场,然后用中断返回指令回到中断前状态,继续执行被中断的操作系指令回到

43、中断前状态,继续执行被中断的操作系统程序。统程序。如果中断前为用户态,那么在执行完设备处理子如果中断前为用户态,那么在执行完设备处理子程序后,先要检查重新调度标志程序后,先要检查重新调度标志runrun是否设置。是否设置。如假设已经设置,那么调用进程切换调度程序进如假设已经设置,那么调用进程切换调度程序进行进程调度,中断时被保护的现场就不必立即恢行进程调度,中断时被保护的现场就不必立即恢复。如果复。如果runrun标志没有设置,那么恢复保护在标志没有设置,那么恢复保护在堆栈中的现场,继续在用户态下执行被中断的程堆栈中的现场,继续在用户态下执行被中断的程序。序。第五章 设 备 管 理 435.4

44、 5.4 操作系统对操作系统对I/OI/O操作的控制操作的控制 外围设备与内存或外围设备与内存或CPU间常用的数据传送间常用的数据传送控制方式:控制方式:程序循环测试方式程序循环测试方式中断控制方式中断控制方式直接存储器存取直接存储器存取DMA方式方式通道方式通道方式第五章 设 备 管 理 441. 程序程序I/O方式方式 等待等待发发Start指令指令Test测试,设备标测试,设备标志触发器为志触发器为“Done”?CPU执行下一条指令执行下一条指令开始数据传送开始数据传送 否否是是外围设备外围设备接收到接收到Start指令指令作接收或发送数据准备作接收或发送数据准备准备好?准备好?标志触发

45、器置为标志触发器置为“Done”等待等待CPU来的下一条指令来的下一条指令是是否否第五章 设 备 管 理 45程序程序I/O方式方式 在程序在程序I/O方式中,由于方式中,由于CPU的高速性和的高速性和I/O设备的低设备的低速性,速性, 致使致使CPU的绝大局部时间都处于等待的绝大局部时间都处于等待I/O设备完成设备完成数据数据I/O的循环测试中,的循环测试中, 造成对造成对CPU的极大浪费。的极大浪费。 在该方式中,在该方式中,CPU之所以要不断地测试之所以要不断地测试I/O设备的状设备的状态,就是因为在态,就是因为在CPU中无中断机构,中无中断机构, 使使I/O设备无法向设备无法向CPU报

46、告它已完成了一个字符的输入操作。报告它已完成了一个字符的输入操作。 第五章 设 备 管 理 462. 中断驱动中断驱动I/O控制方式控制方式 I/O操作由程序发起,在操作完成时如数据可读或操作由程序发起,在操作完成时如数据可读或已经写入由外设向已经写入由外设向CPU发出中断,通知该程序。发出中断,通知该程序。数据的每次读写通过数据的每次读写通过CPU。硬件要求:硬件要求:要在要在CPU与控制器之间连有中断请求线路;与控制器之间连有中断请求线路;要在设备控制器的状态存放器中增设要在设备控制器的状态存放器中增设“中断允许位中断允许位第五章 设 备 管 理 47数据传输的步骤数据传输的步骤通过通过C

47、PU发出发出start指令。启动设备,将中断允许位加以设指令。启动设备,将中断允许位加以设置置发出发出I/O请求的进程由运行状态改变为阻塞状态,等待输入请求的进程由运行状态改变为阻塞状态,等待输入/输出的完成。输出的完成。输入输入/输出完成时,设备控制器通过中断请求线向输出完成时,设备控制器通过中断请求线向CPU发出发出中断请求信号。中断请求信号。CPU响应该中断后,就转向中断处理程序,响应该中断后,就转向中断处理程序,对数据的传输工作进行相应的处理。对数据的传输工作进行相应的处理。输入输入/输出请求全部完成后,进程被解除阻塞,改变状态为输出请求全部完成后,进程被解除阻塞,改变状态为“就绪态,

48、以便进入它的下一步工作。就绪态,以便进入它的下一步工作。第五章 设 备 管 理 48中断控制方式的处理过程中断控制方式的处理过程接收到接收到CPU发来的发来的Start指令指令缓冲寄存器满?缓冲寄存器满?设备设备控制器发中断信号控制器发中断信号是是准备数据并将其置入准备数据并将其置入缓冲寄存器缓冲寄存器否否CPU调度程序调度其它进程调度程序调度其它进程收到中断信号了吗?收到中断信号了吗?中断处理中断处理被中断进程执行被中断进程执行是是否否向设备发向设备发Start指令,指令,置中断允许位为置中断允许位为“1”其它进程执行其它进程执行第五章 设 备 管 理 49 在在I/O设备输入每个数据的过程

49、中,由于无须设备输入每个数据的过程中,由于无须CPU干预,干预,因而可使因而可使CPU与与I/O设备并行工作。仅当输完一个数据时,才设备并行工作。仅当输完一个数据时,才需需CPU花费极短的时间去做些中断处理。可见,这样可使花费极短的时间去做些中断处理。可见,这样可使CPU和和I/O设备都处于忙碌状态,从而提高了整个系统的资源设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。利用率及吞吐量。 例如,从终端输入一个字符的时间约为例如,从终端输入一个字符的时间约为100 ms, 而将字而将字符送入终端缓冲区的时间小于符送入终端缓冲区的时间小于 0.1 ms。 假设采用程序假设采用程序I/O

50、方方式,式,CPU约有约有 99.9 ms的时间处于忙的时间处于忙等待中。等待中。 采用中断驱采用中断驱动方式后,动方式后,CPU可利用这可利用这 99.9 ms的时间去做其它事情,而仅的时间去做其它事情,而仅用用 0.1 ms的时间来处理由控制器发来的中断请求。的时间来处理由控制器发来的中断请求。 可见,中可见,中断驱动方式可以成百倍地提高断驱动方式可以成百倍地提高CPU的利用率。的利用率。 第五章 设 备 管 理 503. 直接存储器访问直接存储器访问DMA I/O控制方式控制方式 1 DMA(Direct Memory Access)控制方式的引入控制方式的引入 该方式的特点是:该方式的

51、特点是: 数据传输的根本单位是数据块,即在数据传输的根本单位是数据块,即在CPU与与I/O设备之间,设备之间,每次传送至少一个数据块;每次传送至少一个数据块; 所传送的数据是从设备直接送入内存的,或者相反;所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或多个数据块的开始和结束时,才需仅在传送一个或多个数据块的开始和结束时,才需CPU干干预,整块数据的传送是在控制器的控制下完成的。可见,预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了方式较之中断驱动方式,又是成百倍地减少了CPU对对I/O的干预,进一步提高了的干预,进一步提高了CPU

52、与与I/O设备的并行操作程度。设备的并行操作程度。 第五章 设 备 管 理 512. DMA控制器的组成控制器的组成 DRMARDCCRI/O控制逻辑主机控制器接口 控制器与块设备接口count内存CPU命令系统总线DMA控制器第五章 设 备 管 理 52 为了实现在主机与控制器之间成块数据的直接交换,为了实现在主机与控制器之间成块数据的直接交换, 必必须在须在DMA控制器中设置如下四类存放器:控制器中设置如下四类存放器: (1) 命令命令/状态存放器状态存放器CR。用于接收从。用于接收从CPU发来的发来的I/O命命令或有关控制信息,令或有关控制信息, 或设备的状态。或设备的状态。 (2) 内

53、存地址存放器内存地址存放器MAR。在输入时,它存放把数据从。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存设备传送到内存的起始目标地址;在输出时,它存放由内存到设备的内存源地址。到设备的内存源地址。 (3) 数据存放器数据存放器DR。用于暂存从设备到内存,或从内存。用于暂存从设备到内存,或从内存到设备的数据。到设备的数据。 (4) 数据计数器数据计数器DC。 存放本次存放本次CPU要读或写的字要读或写的字(节节)数。数。 第五章 设 备 管 理 53v 当进程要求输入数据时,当进程要求输入数据时,CPUCPU将准备存放输入数据的内存将准备存放输入数据的内存起始地址

54、、要传送的字节数送入起始地址、要传送的字节数送入DMADMA控制器的内存地址存控制器的内存地址存放器和传送字节计数器,将中断允许位和启动位置成放器和传送字节计数器,将中断允许位和启动位置成1 1,启动设备。启动设备。v CPUCPU将总线让给将总线让给DMADMA控制器,在控制器,在DMADMA控制器进行数据传输期控制器进行数据传输期间,间,CPUCPU不再使用总线,而是不再使用总线,而是DMADMA控制器获得总线控制权。控制器获得总线控制权。v 发出传输要求的进程进入等待状态,执行指令被暂时挂发出传输要求的进程进入等待状态,执行指令被暂时挂起,进程调度其他进程占据起,进程调度其他进程占据CP

55、UCPUDMADMA工作原理工作原理第五章 设 备 管 理 54v DMADMA控制器按照地址存放器的指示,不断与内存储器进行控制器按照地址存放器的指示,不断与内存储器进行直接的数据传输,并随时修改地址存放器和字节计数器直接的数据传输,并随时修改地址存放器和字节计数器的值。的值。v 输入设备不断窃取输入设备不断窃取CPUCPU工作周期,数据不断写入内存工作周期,数据不断写入内存v 传送完毕,发出中断信号传送完毕,发出中断信号v CPUCPU接到中断信号转入中断处理程序处理接到中断信号转入中断处理程序处理v 中断处理结束,中断处理结束,CPUCPU返回原进程或切换到新的进程返回原进程或切换到新的

56、进程DMADMA工作原理工作原理第五章 设 备 管 理 55DMADMA方式的工作流程方式的工作流程设置设置MAR和和DC初值初值启动启动DMA传送命令传送命令挪用存储器周期挪用存储器周期传送数据字传送数据字存储器地址增存储器地址增1字字计数存放器减计数存放器减1DC=0?请求中断请求中断在继续执行在继续执行用户程序的用户程序的同时,准备同时,准备又一次传送又一次传送第五章 设 备 管 理 56DMA方式与中断方式的主要区别方式与中断方式的主要区别中断方式是在数据缓冲存放器满后,发中断请求,中断方式是在数据缓冲存放器满后,发中断请求,CPU进进行中断处理行中断处理; DMA方式那么是在所要求传

57、送的数据块全部传送结束时方式那么是在所要求传送的数据块全部传送结束时要求要求CPU进行中断处理进行中断处理 大大减少了大大减少了CPU进行中断处理的次数进行中断处理的次数中断方式的数据传送是由中断方式的数据传送是由CPU控制完成的控制完成的 而而DMA方式那么是在方式那么是在DMA控制器的控制下不经过控制器的控制下不经过CPU控控制完成的,因此防止了因速度不匹配而造成数据丧失的现制完成的,因此防止了因速度不匹配而造成数据丧失的现象。象。DMA硬件比较复杂硬件比较复杂第五章 设 备 管 理 574. I/O通道控制方式通道控制方式 1I/O通道控制方式的引入通道控制方式的引入 I/O通道方式是通

58、道方式是DMA方式的开展,它可进一步减少方式的开展,它可进一步减少CPU的干预,即把对一个数据块的读的干预,即把对一个数据块的读(或写或写)为单位的干预,减少为单位的干预,减少为对一组数据块的读为对一组数据块的读(或写或写)及有关的控制和管理为单位的干及有关的控制和管理为单位的干预。预。 同时,又可实现同时,又可实现CPU、通道和、通道和I/O设备三者的并行操作,设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当从而更有效地提高整个系统的资源利用率。例如,当CPU要要完成一组相关的读完成一组相关的读(或写或写)操作及有关控制时,只需向操作及有关控制时,只需向I/O通道通道发送一

59、条发送一条I/O指令,以给出其所要执行的通道程序的首址和指令,以给出其所要执行的通道程序的首址和要访问的要访问的I/O设备,通道接到该指令后,通过执行通道程序设备,通道接到该指令后,通过执行通道程序便可完成便可完成CPU指定的指定的I/O任务。任务。 第五章 设 备 管 理 585.4.1 I/O设备的资源分配设备的资源分配计算机系统的各类计算机系统的各类I/O 设备及其控制部件具有设备及其控制部件具有不同的连接方式和接口,需要使用和占据系统不同的连接方式和接口,需要使用和占据系统的某些资源,这些资源是的某些资源,这些资源是 I/O 设备正常工作必设备正常工作必不可少的,也是由设备所共享的。不

60、可少的,也是由设备所共享的。操作系统应当检测和确认哪些操作系统应当检测和确认哪些 I/O 设备使用哪设备使用哪些系统资源,如何分配协调这些资源以防止冲些系统资源,如何分配协调这些资源以防止冲突。下面介绍这些资源的含义。突。下面介绍这些资源的含义。第五章 设 备 管 理 591I/O 地址地址I/O 地址是地址是 I/O 设备或控制卡所在的位置,处设备或控制卡所在的位置,处理器通过这个地址找到对应的理器通过这个地址找到对应的 I/O 部件和设备部件和设备存放器,并对它进行控制和数据传输操作。存放器,并对它进行控制和数据传输操作。由于很多设备共享某个由于很多设备共享某个 I/O 地址,这样就会产地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论