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