您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第2章操作系统的结构和硬件支持.
操作系统原理任课教师:李玲中南财经政法大学信息与安全工程学院1第2章操作系统的结构和硬件支持2.1操作系统虚拟机2.2操作系统的组织结构2.3处理机的状态2.4中断技术(重点)2.1操作系统虚拟机操作系统的核心在裸机上运行,用户程序在扩充后的机器上运行。扩充后的机器操作系统裸机应用程序用户程序什么是操作系统虚拟机在裸机上配置了操作系统后就构了操作系统虚拟机。2.2操作系统的组织结构整个操作系统在结构上类似于一个洋葱头,它由若干层组成,每一层都提供一组功能,这些功能只依赖于该层以内的各层。洋葱头的中心部分是机器硬件本身提供的各种功能。与基本机器硬件紧挨着的是系统核,具有初级中断处理、外部设备驱动、在进程之间切换处理机以及实施进程控制和通信的功能,提供一种进程可以存在和活动的环境。系统核以外各层依次是存储管理层、I/O处理层、文件存取层、调度(作业调度)和资源分配层。它们具有各种资源管理功能并为用户提供各种服务。图2.4OS层次结构示意图2.3.1处理机的状态及分类一.处理机的状态(两种)在计算机系统中有两类程序运行:用户程序、系统程序系统程序用户程序其担负的任务是:管理和控制者为用户提供服务负责管理和分配系统资源其担负的任务是:被管理和被控制者享受系统提供的服务所需资源必须向OS提出请求什么是处理机的态?处理机的工作状态,即处理机当前正在执行哪一类程序,依此来区分处理机的状态。计算机系统在执行上述两种不同类型的程序时,就应该有不同的权限。而为此根据对资源和机器指令的使用权限,把处理机执行时的两种工作状态分为核态(核心态、管态、系统态)和用户态(目态)。关于“态”的几个概念核态(KernelMode),又称系统态:CPU执行管理程序时所处的状态。在此状态下允许CPU使用全部资源和全部指令,其中包括特权指令(例如:涉及外设的I/O、改变处理机状态、修改存储保护的指令等),实现对系统资源的分配与管理,为用户提供使用外部设备的服务。关于“态”的几个概念当用户程序执行时,如果需要请求操作系统服务,则必然由用户态转为核态,即由操作系统得到控制权,在核态下执行其管理程序。服务完毕后,返回用户态,继续让用户程序执行。一道考研题在计算机系统中,为什么要区分管态与目态?(西安电子科技大学1999年试题)【解答】操作系统是计算机系统中最重要的系统软件,为了能正确地进行管理和控制,其本身是不能被破坏的。因此,系统采用了区分处理机状态的办法,为操作系统程序建立一个保护环境。这样,用户程序只能在目态下运行,只能执行非特权指令,只能访问自己的存储区,从而保护了操作系统程序的正常运行。一道考研题判断对错:操作系统程序都是在核心态下才能运行。(大连理工大学2000年试题)【分析】操作系统提供的服务,一部分必须在核心态下才能运行,例如:进程调度、目录服务等。还有一些功能,例如:DOS下的外部命令,则可以由用户调用,运行在用户态下。图:处理机状态转换图,在UNIX系统中,把核态称为核心态当CPU执行用户程序时,CPU处于用户态,在执行的过程中出现了中断时,系统转去处理与中断有关的事件,这时cpu由用户态转换成核态(或管态),处理完中断后,返回断点继续执行用户程序,这时cpu由核态转换成用户态。用户态管态/核态在下列情况下,由用户态转向管态:①用户进程访问操作系统,要求操作系统的某种服务(例如:读写文件、分配I/O设备)。这种访问称为管理程序调用。②发生一次中断。③在一个用户进程中产生了一个错误(程序中断,例如:算术溢出)。这种中断称为内部中断,并能调用中断处理程序进行处理。④在用户态下企图执行一条特权指令。这种企图被看作一种特殊类型的错误,同样调用中断处理程序进行处理。特权指令是指具有特殊权限的指令,由于这类指令的权限最大,所以如果使用不当,就会破坏系统或其它用户信息。所以,CPU将指令分为特权指令和非特权指令(算术运算、逻辑运算、移位、转移都属于非特权指令,非特权指令可以供我们编写程序以及相应的程序设计),对于那些危险的特权指令,只允许操作系统使用,普通的应用程序只能使用那些不会造成灾难的非特权指令。常见特权指令举例允许和禁止中断在进程之间切换处理清内存存取内存保护的寄存器(界地址寄存器,用户限制在哪个范围内?不允许用户随意存取)设置时钟(设置硬件时钟,在分时环境中,共享系统所有的资源,时间片是由设置时钟来决定的,任何一个人希望自己有比较大的时间片)启动输入输出设备停止一个CPU的工作(停机指令,不允许用户执行停机指令,否则其他的用户程序无法执行下去,因为让CPU停止了)2.4中断技术(重点)中断概念所谓中断是指某个事件(例如电源断电、定点加法溢出或I/O传输结束等)发生时,系统终止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断点,继续执行。正在执行的用户程序继续执行中断处理程序中断进入中断返回中断技术这种处理突发事件的能力是由硬件和软件协作完成的。首先,由硬件的中断装置发现产生的中断事件,然后,中断装置终止现行程序的执行,引出处理该事件的程序来处理。中断技术在不同的硬件结构中,通常有不同的中断源和不同的中断装置,但它们有一个共性,即:当中断事件发生后,中断装置能改变处理器内操作执行的顺序。可见中断是现代操作系统实现并发性的基础之一。中断源分类引起中断的事件称为中断源。发现中断源并产生中断的硬件称中断装置。从中断事件的性质来说,中断源可以分成强迫性中断事件和自愿性中断事件两大类。强迫性中断事件强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求所引起的。这类中断事件大致有以下几种:机器故障中断事件。例如,电源故障、主存出错等。程序性中断事件。例如,定点溢出、除数为0、地址越界等。外部中断事件。例如,时钟的定时中断、控制台发控制信息等。输入输出中断事件。例如,设备出错、传输结束等。自愿性中断事件自愿性中断事件是正在运行的程序所期待的事件。这种事件是由于执行了一条访管指令而引起的,它表示正在运行的程序对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序而转入访管中断处理程序处理。例如,要求操作系统启动外围设备工作。两类中断事件的响应过程对比图两类中断事件的响应过程略有不同,如下图所示:另外,还可以按照中断信号的来源,把中断分为两类:1.外中断,一般又称中断(普通中断),是指来自处理器和主存储器之外的中断。包括:电源故障中断、时钟中断、控制台中断和I/O中断等(这些都属于强迫性中断事件)。2.内中断,是指来自处理器和主存内部的中断,一般又称陷入(trap)或异常。包括:主存奇偶错(为检验存取数据是否准确无误,内存中每8位容量配备1位做为奇偶校验位。计算机是以二进制进行计数的,表现为0和1,当CPU向内存写入数据时,实际上就是存入代码01,奇偶校验则将单元中存入的代码的个数进行奇偶统计,并将统计的结果保存在奇偶校验位中,当计算机提取内存的数据时,奇偶校验则将统计的结果和实际读出的数据进行比较看是否一致,从而确保了内存数据的正确性)、非法操作码、地址越界、页面失效、访管中断、算术操作溢出等各种程序性中断等。Note:访管中断访管中断对操作系统提出某种需求(例如:请求I/O传输、建立进程、读写文件、分配内存等)时所发出的中断称为访管中断。它是正在运行的程序有意识安排的(自愿性中断),通常是由于程序员在编写程序时,因要求操作系统提供服务而有意使用访管指令(特权指令)或系统调用,从而导致中断的,所以又称其为访管中断。普通中断和陷入的区别区别如下:普通中断(外中断)是由与现行指令无关的中断信号触发的,通常在两条机器指令之间才可以响应中断,一般来说,中断处理程序提供的服务不是为当前进程所需的;(强迫性中断事件)而陷入(内中断)则是由处理器正在执行现行指令而引起的,因而,一条指令执行期间允许响应陷入,通常,陷入处理程序提供的服务是为当前进程所用的,有时称之为自陷程序。(自愿性中断)27中断处理过程-外中断一道考研题选择题:用户程序在目态下使用特权指令引起的中断属于()(2002华中科技大学)硬件中断程序中断外部中断访管中断答案:D中断装置发现中断源并产生中断的硬件称中断装置。迄今为止,所有的计算机系统都采用硬件和软件结合的方法实现中断处理:整个中断过程由硬件的中断响应(或称中断进入)和软件的中断处理过程组成。中断处理NOTE:当硬件完成了中断响应之后,由相应的中断处理程序得到控制权,进入了软件的中断处理过程。中断处理中断处理过程主要有如下3个步骤:1.保存现场;2.运行相应的中断处理程序;3.恢复现场和退出中断。中断处理过程32对于每一个中断源,相应地有一个中断处理程序,以处理该中断源的中断要求。CPU收到中断信号,在处理完当前指令后响应中断,延迟非常短。保存现场与恢复现场什么是现场?是指在中断的那一时刻能确保程序继续运行的有关信息。现场信息主要包括:后继指令所在主存的单元号(下一条指令的地址)程序运行所处的状态指令执行情况以及程序执行的中间结果等保存现场与恢复现场什么叫保存现场?当中断发生时,立即将现场信息保存到主存中。什么是恢复现场?程序重新运行之前,把保留的该程序现场信息从主存中送至相应的指令计数器PC、程序状态寄存器PS等寄存器中。程序状态寄存器PS任何程序运行时都有反映其运行状态的一组信息。有的机器将这些信息集中在一起就称之为“程序状态字(ProgramStateWord)”,存放这些信息的寄存器称为程序状态字寄存器。什么是程序状态字?主要内容包括:程序现在应该执行哪条指令当前指令执行情况机器处于何种程序状态(核态、用户态)程序在执行时应该屏蔽哪些中断寻址方法、编址、保护键响应中断的内容什么是中断响应中断响应是当CPU发现有中断请求时,终止现行程序执行,并自动引出中断处理程序的过程。中断响应的具体做法:1.CPU在执行每条指令后扫描中断寄存器,查看有无中断请求。说明:中断寄存器:用来保存中断信号为了区分和不丢失中断信号,对应每个中断源分别用一个固定的触发器寄存中断信号。规定值为1时,表示有中断信号,为0时表示无中断信号。这些触发器的全体称为中断寄存器。2.如果没有,则运行下一条指令;3.如果有中断请求,则进入中断处理程序。中断响应的实质中断响应的实质:交换指令地址及处理机的状态信息。以达到如下目的:保留程序断点和有关信息自动转入相应的中断处理程序有些计算机把程序状态字信息存放在两个寄存器中:一个指令计数器(PC)、一个处理器状态(PS)。其中断示意图如下所示:中断响应示意图一道考研题中断响应的实质是什么?(北京大学1997年试题)答案:中断响应的实质是交换指令地址和处理器的状态信息。一道考研题选择题:中断发生时,由硬件保护并更新程序指令计数器PC,而不是由软件完成,主要是为了()(华中科技大学1998年试题)A.提高处理速度B.使中断程序易于编制C.节省内存D.能进入中断处理程序并能正确返回【答案分析】一次中断过程分为中断进入(由硬件负责)和中断处理过程(由软件负责)。在中断进入过程中,首先保存原先运行程序的PC、PS值,然后从中断向量地址表(中断处理程序的地址)中得到新的中断处理程序的PC、PS值放入寄存器。(图2.9)软件的中断处理过程是,先保存现场信息,再执行中断处理程序,最后恢复现场和退出中断。简要地说,一次中断,两次保护现场(硬件保护和软件保护)。分步保护现场的原因是,进入软件的中断处理后,PC、PS寄存器(硬件)里已经被填上了新的内容,因此,原先运行程序的PC、PS的保护只能由硬件完成。【解答】答案是D。设备控制器或其他系统硬件发出中断处理器完成当前指令的执行处理器接受中断处理器将PSW和PC推入系统堆栈处理器根据中断类型读入新的PC和PS值硬件完成的工作保存进程状态的
本文标题:第2章操作系统的结构和硬件支持.
链接地址:https://www.777doc.com/doc-2155002 .html