1、2.1 2.1 操作系统虚拟机操作系统虚拟机l为提高计算机系统资源的使用效率和方便用户,在计算机为提高计算机系统资源的使用效率和方便用户,在计算机系统中必须配备操作系统系统中必须配备操作系统l操作系统是一个大型的软件,规模庞大、结构复杂。操作操作系统是一个大型的软件,规模庞大、结构复杂。操作系统必须是一个清晰、正确的逻辑结构系统必须是一个清晰、正确的逻辑结构l什么是操作系统虚拟机什么是操作系统虚拟机裸机上配置操作系统后构成操作系统虚拟机裸机上配置操作系统后构成操作系统虚拟机操作系统的核心在裸机上运行操作系统的核心在裸机上运行用户程序在扩充后的机器上运用户程序在扩充后的机器上运裸裸裸裸 机机机机
2、操作系统操作系统操作系统操作系统扩充后的机器扩充后的机器扩充后的机器扩充后的机器用户程序用户程序用户程序用户程序应用程序应用程序应用程序应用程序操作系统虚拟机的指令系统操作系统虚拟机的指令系统v裸机的指令系统是什么?裸机的指令系统是什么?机器指令机器指令v操作系统虚拟机的指令系统?操作系统虚拟机的指令系统?操作系统虚拟机的指令系统,又称为操作命令操作系统虚拟机的指令系统,又称为操作命令语言。虚拟机的功能通过它提供的命令体现。语言。虚拟机的功能通过它提供的命令体现。(1)操作命令(又称命令接口)操作命令(又称命令接口)作业控制语言、键盘命令、图形化用户界面作业控制语言、键盘命令、图形化用户界面(
3、2)系统功能调用(又称程序接口)系统功能调用(又称程序接口)2.2 2.2 操作系统逻辑结构操作系统逻辑结构裸机初级中断处理进程控制进程通信处理机分派存储管理I/O处理文件存取资源分配和调度系统调用命令解释程序库/实用程序操作命令用户程序 CC、Shell、用户程序核外程序核外程序sh who a.out date wc grep cd vi ld comp cpp nroff UNIX核心裸机UNIXUNIX系统体系结构系统体系结构n Unix系统组成:n 硬件(裸机)n 核心层n 实用层n 其他应用程序UNIXUNIX系统核心结构系统核心结构1.进程控制子系统进程控制子系统v进进程程同同步
4、步、进进程程间间通通信信、进进程程调调度度和和存存储储管理管理2.文件子系统文件子系统v文文件件存存储储空空间间管管理理、文文件件操操作作及及存存取取控控制制、高速缓冲机制高速缓冲机制WindowsWindows操作系统的结构操作系统的结构2.3 2.3 处理机的状态处理机的状态l计算机的基本功能是执行程序,最终被执行的程序是存储计算机的基本功能是执行程序,最终被执行的程序是存储在内存中的机器指令程序在内存中的机器指令程序l处理器根据程序计数器处理器根据程序计数器(PC)从内存中取指令到指令寄存器从内存中取指令到指令寄存器并执行,并执行,PC将自动增长或变为转移地址指明下条执行指将自动增长或变
5、为转移地址指明下条执行指令令l机器指令的集合称指令系统,反映机器的功能和处理能力机器指令的集合称指令系统,反映机器的功能和处理能力l从资源管理和控制程序执行的角度出发,需要把指令系统从资源管理和控制程序执行的角度出发,需要把指令系统中的指令分作两部分中的指令分作两部分为什么要区分指令系统中的指令?为什么要区分指令系统中的指令?如何加以区分?如何加以区分?2.3 2.3 处理机的状态处理机的状态l设置处理机状态的目的设置处理机状态的目的 为操作系统建立保护环境,采用的方法是区分处理机的为操作系统建立保护环境,采用的方法是区分处理机的工作状态。系统中有两类程序:工作状态。系统中有两类程序:管理程序
6、用户程序管理系统资源管理系统资源 使用资源、提出申请使用资源、提出申请控制程序运行控制程序运行 被控制被控制l什么是处理机的态什么是处理机的态中央处理机的工作状态,当前它正在执行的程序决定处理中央处理机的工作状态,当前它正在执行的程序决定处理机的态。机的态。(1)核态:操作系统的管理程序执行时机器所处的状态。使用全部指令(包括一组特权指令)使用全部系统资源(包括整个存储区域)(2)管态:管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但不能使用修改CPU状态的指令。无核态时,管态执行核态的全部功能。(3)用户态:用户程序执行时机器所处的状态。在此状态下禁止使用特权指令,不能直
7、接取用资源与改机器状态,只允许用户程序访问自己的存储区域。2.3.1 2.3.1 处理机状态的类别处理机状态的类别管态管态用户态用户态n 操作系统的程序执行 用户程序执行n 使用全部指令 禁止使用特权指令(包括一组特权指令)n 使用全部系统资源 只允许用户程序访问(包括整个存储区域)自己的存储区域处理机的状态不断变化,它有时会处于用户态,有时会处于管态。用户态用户态核态核态中断中断自陷自陷中断自陷中断自陷 返回返回UNIX系统处理机状态转换中断嵌套2.3.1 2.3.1 处理机状态的区别处理机状态的区别2.3.2 2.3.2 特权指令集特权指令集核态下操作系统可以使用所有指令,包括一组特权指令
8、:改变机器状态的指令 修改特殊寄存器的指令 涉及外部设备的输入/输出指令允许和禁止中断;在进程之间切换处理机;存取用于内存保护的寄存器;执行输入和输出操作;停止一个中央处理机的工作。2.3.3 2.3.3 处理机状态的区分处理机状态的区分中央处理器如何区分及获取处理机的状态?l利用处理器状态标志将处理器设置成不同状态:v处理器处于管理状态时,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力v处理器处于用户状态时,程序只能执行非特权指令l引入程序状态字PSW(Program Status Word)来区别不同的处理器工作状态实例操作系统如何区分处理机的状态实例操作系统如何区分处理机的
9、状态lDOS系统系统 不分态不分态lWindows系统系统v现分为两态现分为两态用户态、系统态用户态、系统态lUnix(Linux)系统)系统v分为三态:核态、管态、用户态分为三态:核态、管态、用户态如何实现?由用户态转向核态用户程序请求操作系统的服务用户程序中产生了一个错误的状态在用户程序中执行一条特权指令从核态转回用户态用一条指令实现,中断返回指令l作业必须把它的程序和数据放在主存(内存)中才能运行l多道系统中,若干个程序和相关的数据要放入主存储器l操作系统要管理、保护程序和数据,使它们不至于受到破坏l操作系统本身也要存放在主存储器中并运行2.3.4 2.3.4 必要的硬件支持必要的硬件支
10、持存储器存储器l主存储器(主存、内存):v只读存储器ROM(Read-only memory):ROM称为BIOS,用来存放基本的I/O程序。v随机访问存储器 RAM(Random Access Memory):主要用于存放随机存取的程序和数据l辅存储器(辅存、外存):处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用来存放大量的数据信息。2.3.4 2.3.4 必要的硬件支持必要的硬件支持时钟时钟l 时钟是操作系统运行时必不可少的硬设施,它以固定的时间间隔产生中断信号,这对于实施进程调度、计算系统资源的消耗、实时控制等功能必不可少l在操作系统中需时钟支持的工作有:v处理机调度、定时唤醒;v
11、实时控制;v提供用户和系统所需的绝对时间(日历时钟、墙钟)。l时钟分为硬件时钟和软时钟,硬件时钟又分为绝对时钟和间隔时钟v绝对时钟:记录当前时间(年、月、日、时分秒)。绝对时钟寄存器每隔一个时间单位(定时器发一个信号)自动加1。绝对时钟由电池供电v间隔时钟:每隔固定的时间单位产生一次时钟中断。间隔时钟寄存器,初值由操作系统根据所需的间隔时间来设置,以后每经过一个时间单位,自动减1,直到为0时发出间隔时钟中断2.4 2.4 中断技术中断技术一一.中断概念中断概念所谓中断是指某个事件(例如键盘输入、加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完
12、毕后返回断点,继续执行。请求系统服务、实现并行工作、处理突发事件、满足实时要求都需要中断处理器正常的工作,为此提出中断的概念从用户态转为管态的唯一途径就是中断。从用户态转为管态的唯一途径就是中断。l中断源中断源:引起中断的事件称中断源,如打印完成中断,引起中断的事件称中断源,如打印完成中断,其中断源是打印机。其中断源是打印机。l断点断点:发生中断时正在运行的程序被暂时停止,程序的发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点。暂停点称为断点。l中断响应中断响应:是处理机发现有中断请求时,中止现运行程是处理机发现有中断请求时,中止现运行程序的执行并自动引出中断处理程序的过程。序的执行并
13、自动引出中断处理程序的过程。l中断中断由软硬件协同处理v中断装置:指发现中断,响应中断的硬件v中断处理程序:对中断事件进行处理的程序,由软件来完成2.4.1 2.4.1 相关概念相关概念 按中断功能分类按中断功能分类(1)输入输出中断输入输出中断:外部设备或通道操作正常结束或错误时 所发生的中断。如I/O传输结束或出错中断。(2)外中断外中断:外部非通道式装置所引起的中断。时钟中断、操作员控制台中断、通信中断等。(3)机器故障中断机器故障中断:机器发生故障时的中断。电源故障、主存取指令错、长线传输的奇偶校验错等。(4)程序性中断程序性中断:程序性质的错误或某些特定状态而产生的中断。浮点溢出、用
14、户态下用核态指令、越界、非法操作等。(5)访管中断访管中断:对操作系统提出某种需求时发出的中断称为访管中断。2.4.2 2.4.2 中断类型中断类型l外部中断外部中断和和内部中断内部中断v来自处理机外部的事件,称为外部中断,如I/O中断、外中断。v来自处理机的中断,称为内部中断,如硬件故障中断、程序性中断、访管中断。这类中断有时称俘获(也称陷入、自陷、捕俘等,英文名为 trap,来自早期的UNIX系统)l 强迫性中断强迫性中断 和和 自愿性中断自愿性中断v不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的 v运行程序所期待的事件,由于执行访管指令而引起的 2.4.2 2.4.2
15、中断类型中断类型一、中断进入一、中断进入对中断请求的整个对中断请求的整个处理过程称为中断处处理过程称为中断处理,它是由软、硬件理,它是由软、硬件结合形成的一套中断结合形成的一套中断机构实施的。机构实施的。2.4.3 2.4.3 中断处理中断处理1.保护现场和恢复现场保护现场和恢复现场(1)现场)现场v是指在中断的那一时刻能确保程序继续运行是指在中断的那一时刻能确保程序继续运行的有关信息。的有关信息。v主要包括主要包括后继指令所在主存的单元号后继指令所在主存的单元号程序运行所处的状态程序运行所处的状态指令执行情况指令执行情况以及程序执行的中间结果等以及程序执行的中间结果等(2)保护现场)保护现场
16、v当中断发生时,必须立即把现场信息保存在主当中断发生时,必须立即把现场信息保存在主存中,这一工作称之为保护现场。存中,这一工作称之为保护现场。(3)恢复现场)恢复现场v程序重新运行之前,把保留的该程序现场信息程序重新运行之前,把保留的该程序现场信息从主存中送至相应的指令计数器、通用寄存器从主存中送至相应的指令计数器、通用寄存器或一些特殊的寄存器中。完成这些工作称为恢或一些特殊的寄存器中。完成这些工作称为恢复现场。复现场。2.程序状态字(程序状态字(psw)(1)什么是程序状态字)什么是程序状态字:反映程序执行时机器所处反映程序执行时机器所处的现行状态的代码。的现行状态的代码。主要内容包括主要内
17、容包括程序现在应该执行哪条指令程序现在应该执行哪条指令当前指令执行情况当前指令执行情况机器处于何种程序状态机器处于何种程序状态程序在执行时应该屏蔽哪些中断程序在执行时应该屏蔽哪些中断寻址方法、编址、保护键寻址方法、编址、保护键响应中断的内容响应中断的内容(2)程序状态字的例子)程序状态字的例子vIBM370机机程序状态字内容程序状态字内容 PSW寄存器寄存器vIBM PC机机程序状态字内容程序状态字内容 CS IP 指令地址指令地址 flag 标志寄存器标志寄存器vPDP 11系列机系列机程序状态字内容程序状态字内容 PC 指令计数器指令计数器 PS 处理器状态寄存器处理器状态寄存器微处理器微
18、处理器Intel 80386的程序状态字的程序状态字其中:IF:中断允许标记 IOPL:I/O特权级,用来表示I/O操作 所处特权级。00:0级 01:1级10:2级 11:3级 02级:管态 3级:目态lPentium的处理器状态有四种,支持的处理器状态有四种,支持4个保护级别,个保护级别,0级权限级权限最高,最高,3级权限最低。一种典型的应用是把级权限最低。一种典型的应用是把4个保护级别依次个保护级别依次设定为:设定为:v0级为操作系统内核级。处理I/O、存储管理、和其他关键操作v1级为系统调用处理程序级。用户程序可以通过调用这里的过程执行系统调用,但只有一些特定的和受保护的过程可以被调用
19、v2级为共享库过程级。它可以被很多正在运行的程序共享,用户程序可以调用这些过程,读取它们的数据,但是不能修改它们v3级为用户程序级。它受到的保护最少l各个操作系统在实现过程中可以根据具体策略有选择地使用各个操作系统在实现过程中可以根据具体策略有选择地使用硬件提供的保护级别,如运行在硬件提供的保护级别,如运行在Pentium上的上的Windows操作操作系统只使用了系统只使用了0级和级和3级。级。二、二、中断响应中断响应中断响应是当中央处理机发现已中断响应是当中央处理机发现已有中断请求时,中止现行程序执有中断请求时,中止现行程序执行,并自动引出中断处理程序的行,并自动引出中断处理程序的过程。过程
20、。中断响应的实质中断响应的实质v交换指令地址及处理机的状态信息交换指令地址及处理机的状态信息中断响应过程:中断响应过程:v保留程序断点及处理机有关信息保留程序断点及处理机有关信息v自动转入相应的中断处理程序自动转入相应的中断处理程序(1)中断响应过程(硬件完成)中断响应过程(硬件完成)PCPSPS进栈PC进栈堆 栈中断处理程序的PC中断处理程序的PS内 存1234栈顶指针(2)软件的中断处理过程软件的中断处理过程当硬件完成了中断进入后,转到中断处理程序,进入软件中断处当硬件完成了中断进入后,转到中断处理程序,进入软件中断处理过程。这个过程主要有如下三项工作:理过程。这个过程主要有如下三项工作:
21、(1)保护现场和传递参数;)保护现场和传递参数;(2)执行相应的中断(或自陷)处理程序;)执行相应的中断(或自陷)处理程序;(3)恢复和退出。)恢复和退出。注注:在中断进入时由硬件保护了被中断程序的PC和PS,在中断处理中保护各寄存器的值和其它状态信息。中断处理(软件完成)中断处理(软件完成)mov r2,0900trap 09Jmp ert 程序自动转入自动转入(硬件)保存被中断程序现场进行相应的中断处理恢复被中断程序现场中断返回(执行硬件指令)三、中断返回三、中断返回(SP)PC(SP)PS硬件操作硬件操作中断返回是指执行一条中断返回指令(RTI)。2.4.4 2.4.4 两种中断机构两种
22、中断机构中断线中断线CPU磁盘打印机磁带键盘1.向量中断机构向量中断机构2.2.探询中断机构探询中断机构CPU磁盘打印机磁带键盘中断线向量中断向量中断1.什么是向量中断:什么是向量中断:当中断发生时,由中断源自己引导处理当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程称为向量中断。机进入中断服务程序的中断过程称为向量中断。2.中断向量:中断向量:存储某类型中断的中断服务例行程序的入口地存储某类型中断的中断服务例行程序的入口地址和处理机状态字的存储单元。址和处理机状态字的存储单元。3.中断向量表:中断向量表:主存中存放中断向量服务地址的一组存储单主存中存放中断向量服务地址的一组存储单元组成的表。元组成的表。第二章第二章 小小 结结1.操作系统虚拟机概念。操作系统虚拟机概念。2.处理机的态,(核态)、管态、用处理机的态,(核态)、管态、用户态,相互的区别。户态,相互的区别。3.中断概念:定义、类型。中断概念:定义、类型。4.中断响应的定义、实质。中断响应的定义、实质。5.中断处理的过程。中断处理的过程。6.向量中断的概念。向量中断的概念。