1、第二章第二章 操作系统的逻辑结构操作系统的逻辑结构(一)(一)操作系统虚拟机操作系统虚拟机(二)(二)操作系统逻辑结构操作系统逻辑结构(三)(三)处理机的状态处理机的状态(四)(四)中断技术中断技术(一)操作系统虚拟机(一)操作系统虚拟机n为提高计算机系统资源的使用效率和方便用户,在计算机系统中必须配备操作系统.n操作系统是一个大型的软件,规模庞大、结构复杂。操作系统必须是一个清晰、正确的逻辑结构。在裸机上配置了操作系统程序后就构成了操作系统虚拟机。操作系统的核心在裸机上运行 用户程序在扩充后的机器上运行n裸机的指令系统是什么?机器指令n操作系统虚拟机的指令系统?操作系统虚拟机的指令系统,又称
2、为操作命令语言。虚拟机的功能是通过它提供的命令体现的。(1)操作命令(又称命令接口)作业控制语言、键盘命令、图形化用户界面(2)系统功能调用(又称程序接口)(二)(二)操作系统逻辑结构操作系统逻辑结构核外程序sh who a.out date wc grep cd vi ld comp cpp nroff UNIX核心裸机UNIXUNIX系统体系结构系统体系结构n Unix系统组成:n 硬件(裸机)n 核心层n 实用层n 其他应用程序UNIXUNIX系统核心结构系统核心结构1.进程控制子系统n进程同步、进程间通信、进程调度和存储管理2.文件子系统n文件存储空间管理、文件操作及存取控制、高速缓冲
3、机制WindowsWindows操作系统的结构操作系统的结构(三)(三)处理机的状态处理机的状态为操作系统建立一个保护环境,采用的方法是区分处理机的工作状态。系统中有两类程序:管理程序管理程序 用户程序用户程序管理系统资源 使用资源、提出申请控制程序运行 被控制中央处理机的工作状态,当前它正在执行哪类程序,决定处理机的态。(1)核态()核态(Kernel mode)操作系统的管理程序执行时机器所处的状态。n使用全部指令(包括一组特权指令)n使用全部系统资源(包括整个存储区域)(2)管态()管态(Supervisor mode)管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但
4、不能使用修改CPU状态的指令。无核态时无核态时,管态执行核态的全部功能。管态执行核态的全部功能。(3)用户态()用户态(User mode)用户程序执行时机器所处的状态。在此状态下禁止使用特权指令,不能直接取用资源与改机器状态,并且只允许用户程序访问自己的存储区域。管态管态用户态用户态n 操作系统的程序执行 用户程序执行n 使用全部指令 禁止使用特权指令(包括一组特权指令)n 使用全部系统资源 只允许用户程序访问(包括整个存储区域)自己的存储区域处理机的状态不断变化,它有时会处于用户态,有时会处于管态。用户态用户态核态核态中断中断自陷自陷中断自陷中断自陷 返回返回UNIX系统处理机状态转换中断
5、嵌套4.特权指令集特权指令集在核态下操作系统可以使用所有指令,包括一组特权指令。改变机器状态的指令 修改特殊寄存器的指令 涉及外部设备的输入/输出指令n允许和禁止中断;n在进程之间切换处理机;n存取用于内存保护的寄存器;n执行输入和输出操作;n停止一个中央处理机的工作。实例操作系统如何区分处理机的状态实例操作系统如何区分处理机的状态nDOS系统不分态nWindows系统n现分为两态用户态、系统态nUnix(Linux)系统n分为三态:核态、管态、用户态如何实现?如何实现?由用户态转向核态由用户态转向核态n用户程序请求操作系统的服务n发生中断发生中断n用户程序中产生了一个错误的状态n在用户程序中
6、执行一条特权指令从核态转回用户态用一条指令实现,中断返回指令。从核态转回用户态用一条指令实现,中断返回指令。存储器存储器n主存储器(主存、内存):处理机能直接访问的存储器称为主存储器,用来存放正在或将要执行的系统和用户程序和数据以及程序执行时要求的临时存储空间。n只读存储器ROM(Read-only memory):ROM称为BIOS,用来存放基本的I/O程序。n随机访问存储器 RAM(random access memory)n辅存储器(辅存、外存):处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用来存放大量的数据信息。必要的硬件支持必要的硬件支持时钟时钟时钟是操作系统运行时必不可少的硬
7、设施,它以固定的时间间隔产生中断信号,这对于实施进程调度、计算系统资源的消耗、实时控制等功能是必不可少的。n在操作系统中需时钟支持的工作有:n处理机调度;n实时控制;n提供用户和系统所需的绝对时间(日历时钟、墙钟)。(四)(四)中断技术中断技术一一.中断概念中断概念所谓中断中断是指某个事件(例如键盘输入、定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断点,继续执行。n中断源中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印机。n断点断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点。n中断响应中断响应:是
8、处理机发现有中断请求时,中止现运行程序的执行并自动引出中断处理程序的过程。n中断中断由软硬件协同处理n中断装置中断装置:指发现中断,响应中断的硬件n中断处理程序中断处理程序:对中断事件进行处理的程序,由软件来完成二二.中断类型中断类型 按中断功能分类按中断功能分类(1)输入输出中断输入输出中断:外部设备或通道操作正常结束或错误时所发生的中断。如I/O传输结束或出错中断。(2)外中断外中断:外部非通道式装置所引起的中断。时钟中断、操作员控制台中断、通信中断等。(3)机器故障中断机器故障中断:机器发生故障时的中断。电源故障、主存取指令错、长线传输的奇偶校验错等。(4)程序性中断程序性中断:程序性质
9、的错误或某些特定状态而产生的中断。浮点溢出、用户态下用核态指令、越界、非法操作等。(5)访管中断访管中断:对操作系统提出某种需求时发出的中断称为访管中断。n外部中断外部中断和内部中断内部中断v来自处理机外部的事件,称为外部中断外部中断,如I/O中断、外中断。v来自处理机的中断,称为内部中断内部中断,如硬件故障中断、程序性中断、访管中断。这类中断有时称俘获俘获(也有称陷入、陷阱、自陷、捕俘等,它的英文名称为 trap,来自早期的UNIX系统)n 强迫性中断强迫性中断 和 自愿性中断自愿性中断n不是正在运行的程序所期待的,而是由某种事故或外部请求信号所引起的 n运行程序所期待的事件,由于执行访管指
10、令而引起的中断的分类:中断的分类:三三.中断进入中断进入对中断请求的整个处理过程称为中断处理,它是由软、硬件结合形成的一套中断机构实施的。1.保护现场和恢复现场(1)现场n是指在中断的那一时刻能确保程序继续运行的有关信息。n主要包括n后继指令所在主存的单元号n程序运行所处的状态n指令执行情况n以及程序执行的中间结果等(2)保护现场n当中断发生时,必须立即把现场信息保存在主存中,这一工作称之为保护现场。(3)恢复现场n程序重新运行之前,把保留的该程序现场信息从主存中送至相应的指令计数器、通用寄存器或一些特殊的寄存器中。完成这些工作称为恢复现场。2.程序状态字(psw)(1)什么是程序状态字程序状
11、态字是反映程序执行时机器所处的现行状态的代码。主要内容包括n程序现在应该执行哪条指令n当前指令执行情况n机器处于何种程序状态n程序在执行时应该屏蔽哪些中断n寻址方法、编址、保护键n响应中断的内容(2)程序状态字的例子nIBM370机n程序状态字内容 PSW寄存器nIBM PC机n程序状态字内容 CS IP 指令地址 flag 标志寄存器nPDP 11系列机n程序状态字内容 PC 指令计数器 PS 处理器状态寄存器3.什么是中断响应什么是中断响应(1)什么是中断响应(1)什么是中断响应中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。n中断响应过程:n保留
12、程序断点及处理机有关信息n自动转入相应的中断处理程序(2)中断响应的实质n交换指令地址及处理机的状态信息(3)中断响应过程(硬件完成)PCPSPS进栈PC进栈堆 栈中断处理程序的PC中断处理程序的PS内 存1234栈顶指针四四.软件的中断处理过程软件的中断处理过程当硬件完成了中断进入后,转到中断处理程序,进入软件中断处理过程。这个过程主要有如下三项工作:(1)保护现场和传递参数;(2)执行相应的中断(或自陷)处理程序;(3)恢复和退出。注注:在中断进入时由硬件保护了被中断程序的PC和PS,在中断处理中保护各寄存器的值和其它状态信息。中断处理(软件完成)中断处理(软件完成)mov r2,0900
13、trap 09Jmp ert 程序自动转入自动转入(硬件)保存被中断程序现场进行相应的中断处理恢复被中断程序现场中断返回(执行硬件指令)两种中断机构两种中断机构中断线中断线CPU磁盘打印机磁带键盘1.向量中断机构2.探询中断机构CPU磁盘打印机磁带键盘中断线五五.向量中断向量中断1.什么是向量中断当中断发生时,由中断源自己引导处理机进入中断服务程序的中断过程称为向量中断。2.中断向量中断向量是存储某类型中断的中断服务例行程序的入口地址和处理机状态字的存储单元。3.中断向量表主存中用于存放中断向量服务地址的一组存储单元组成的表。六六.中断返回中断返回(SP)PC(SP)PS硬件操作硬件操作中断返回是指执行一条中断返回指令(RTI)。第二章第二章 小小 结结1.操作系统虚拟机概念。2.处理机的态,(核态)、管态、用户态,相互的区别。3.中断概念:定义、类型。4.中断响应的定义、实质。5.中断处理的过程。6.向量中断的概念。