操作系统原理-第二章 操作系统的逻辑结构.ppt
1/16/20231华中理工大学计算机学院 李胜利第二章 操作系统的逻辑结构1/16/20232华中理工大学计算机学院 李胜利第二章 操作系统的逻辑结构2.1 概述 为提高计算机系统资源的使用效率和方便用户在计算机系统中必须配备操作系统.操作系统是一个大型的软件,规模庞大、结构复杂。操作系统必须是一个清晰、正确的逻辑结构。结构设计是软件界权威Dijkstra,E.W.(菏兰人)提出的一种程序设计的方法。1/16/20233华中理工大学计算机学院 李胜利第二章 操作系统的逻辑结构2.1 概述1/16/20234华中理工大学计算机学院 李胜利2.1 概述2.1.2 操作系统逻辑结构 左图既可看成是一个多层虚拟机结构,也可是通常操作系统的逻辑结构。在2.5节将看到UNIX系统的结构1/16/20235华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.1 处理机状态及特权指令(一)处理机的状态 在计算机系统中有两类程序运行:用户程序 系统程序 用户程序、系统程序执行时有不同的权限。根据对系统资源和机器指令的使用权限,把处理机执行时的工作状态分为核态和用户态,有的操作系统还将系统程序执行时的机器的状态又分为核态和管态。其权限次序是:核态、管态、用户态。1/16/20236华中理工大学计算机学院 李胜利2.2 基本硬件结构 2.2.1 处理机状态及特权指令(一)处理机的状态 核态(Kernel Mode):CPUCPU执行操作系统程序时所处的状态。执行操作系统程序时所处的状态。在此状态下允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的I/O、改变处理机状态、修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外部设备的服务。管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但不能使用修改CPU状态的指令。无核态时,管态执行核态的全部功能。1/16/20237华中理工大学计算机学院 李胜利2.2 基本硬件结构 2.2.1 处理机状态及特权指令 用户态(User Mode):用户程序执行时CPU所处的状态。在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。1/16/20238华中理工大学计算机学院 李胜利当CPU执行用户程序时,CPU机处于用户态,在执行的过程中出现了中断(或自陷)时,系统转去处理与中断有关的事件,这时cpu由用户态转换成核态(或管态),处理完中断后,返回断点继续执行用户程序,这时cpu由核态转换成用户态。右图是UNIX系统环境下处理机状态转换图,在UNIX系统中,把核态称为核心态2.2 基本硬件结构 2.2.1 处理机状态及特权指令(一)处理机的状态1/16/20239华中理工大学计算机学院 李胜利2.2 基本硬件结构 2.2.1 处理机状态及特权指令 二、特权指令集 在核态下操作系统可以使用所有指令,包括一组特权指令。允许和禁止中断;在进程之间切换处理机;存取用于内存保护的寄存器;执行输入和输出操作;停止一个中央处理机的工作。1/16/202310华中理工大学计算机学院 李胜利2.2 基本硬件结构 2.2.1 处理机状态及特权指令 二、特权指令集 在下列情况下,由用户态转向核态:用户程序要求操作系统的服务,系统调用;发生一次中断;在用户程序中产生了一个错误的状态;在用户程序中企图执行一条特权指令;从核态转回用户态用一条指令实现,这条指令也是特权指令。一般情况下是中断返回指令。1/16/202311华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.2 存储器主存储器(主存、内存):央处理机能直接访问的存储器称为主存储器,用来存放正在或将要执行的系统和用户程序和数据以及程序执行时要求的临时存储空间。辅存储器(辅存、外存):中央处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用来存放大量的数据信息。1/16/202312华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.2 存储器(一)主存储器的类型 随机访问存储器 RAM(random access memory)只读存储器ROM(Read-only memory)在微机中有这两种类型的存储,一种是ROM称为BIOS,用来存放基本的I/O程序。另一种是RAM,通常所说的64MB、128MB(二)存储器组织(略)(三)存储保护(略)1/16/202313华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.3 时钟 时钟是操作系统运行时必不可少的硬设施,它以固定的时间间隔产生中断信号,这对于实施进程调度、计算系统资源的消耗、实时控制等功能是必不可少的。在操作系统中需时钟支持的工作有:分时系统调度;实时控制;提供用户和系统所需的绝对时间(日历时钟、墙钟)。1/16/202314华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(一)中断概念中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印机。断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点。例如,某程序正在执行0200地址的指令被中断,那么,0200地址就是断点,在中断返回时就执行0200的下一条指令。1/16/202315华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(一)中断概念中断响应:是处理机发现有中断请求时,中止现运行程序的执行并自动引出中断处理程序的过程。中断处理程序:对中断事件进行处理的程序叫中断处理程序。如时钟中断处理、打印机完成中断处理、打印机缺纸中断处理等等。它是操作系统中与硬件最接近的一部分,是操作系统与硬件的接口。1/16/202316华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(一)中断概念 的中断机构 PC1/16/202317华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(二)中断类型1、输入输出中断它是当外部设备或通道操作正常结束或发生错误时所发生的中断。例如:打印机打印完成、缺纸,读磁盘时相应驱动器中没有磁盘等。2、外中断对某个中央处理机而言,它的外部非通道式装置所引起的中断称为外部中断。例如,时钟中断、操作员控制台中断,多处理机系统中CPU到CPU之间的通信中断等。1/16/202318华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(二)中断类型3、硬件故障中断当机器发生故障时的中断叫硬件故障中断。例如,电源故障、内存单元奇偶校验错。4、程序性中断在程序执行的过程中,发现了程序性质的错误或出现了某些特定状态而产生的中断。如浮点溢出、用户态下使用了特权指令、内存越界、跟踪等。1/16/202319华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(二)中断类型5、访管中断对操作系统提出某种请(需)求时所发生的中断。例如,创建进程,I/O传输、打开文件、关闭文件、文件的读、写等系统调用。以上五种中断也归纳成两类,其一是来自处理机外部的事件,称为外部中断,如I/O中断、外中断。另一类是来自处理机的中断,称为内部中断,如硬件故障中断、程序性中断、访管中断。在这类中断有时称俘获(也有称陷入、陷阱、自陷、捕俘等,它的英文名称为 trap,来自早期的UNIX系统)1/16/202320华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入对中断请求的整个处理过程称为中断处理,它是由软、硬件结合形成的一套中断机构实施的。在本教材中叫中断进入。1/16/202321华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入1、保护中断现场和恢复现场现场:是被中断断点时刻处理机的各种信息,包括:程序状态字;各寄存器的值;打开文件的状态这些现场信息的多少根据具体系统的处理方法不同差别很大,例如UNIX系统,在中断返回后有可能进行进程调度,那么,现场信息除包括各寄存器的值,程序状态字,打开文件的状态外,还有保证被中断的进程重新被调度时恢复运行环境指针和栈指针1/16/202322华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入 保护现场:在进入中断时将现场信息保存到指定的位置,一般情况是保留到系统栈中。恢复现场:在中断处理完成后,返回断点之前将保留在栈中的断点的现场信息恢复,使被中断的程序能继续正确地执行。1/16/202323华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入2、程序状态字在计算机系统中有一个寄存器(有的系统有几个寄存器)用来存放程序状态字,称为PS。其中包括指令计数器(PC Program counter,instruction counter)程序现应执行哪条指令,当前指令执行的情况机器处于何种状态(核态、用户态)程序执行时应屏蔽哪些中断(处理机运行级)寻址方式、编址、保护键1/16/202324华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入例1:PDP11系列机的PS:PC是 另一个寄存器1/16/202325华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入3、中断响应中断响应:是处理机发现有中断请求时,中止现运行程序的执行,并自动引出中断处理程序的过程。中断响应的实质是交换指令执行地址和处理机的状态,以达到如下目的:(1)保留程序断点及有关信息;(2)自动转入相应的中断处理程序执行。1/16/202326华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入4、中断向量具有向量机制的计算机的中断向量包括两个字:中断处理程序的入口地址中断处理程序的程序状态字1/16/202327华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入1/16/202328华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入1/16/202329华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(三)中断进入教材P34的图2.7 给出了PDP11计算机上的trap的示意图,归纳起来有以下四个动作:(SP)PS(SP)PCPC(34)PS(36)1/16/202330华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(四)中断处理中断处理和自陷处理的过程是类似的,当硬件完成了中断进入后,转到中断处理程序,进入软件中断处理过程。这个过程主要有如下三项工作:(1)保护现场和传递参数;(2)执行相应的中断(或自陷)处理程序;(3)恢复和退出。注:在中断进入时由硬件保护了被中断程序的PC和PS,在中断处理中保护各寄存器的值和其它状态信息。1/16/202331华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(四)中断处理1/16/202332华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(四)中断处理UNIX系统的中断处理程序1.中断、自陷处理总控程序1/16/202333华中理工大学计算机学院 李胜利2.2 基本硬件结构2.2.4 中断与俘获(四)中断处理2.时钟中断处理程序clock(dev,sp,r1,nps,r0,pc,ps);调整日历时钟 处理与proc和user结构有关的时间项 p_time 进程图象在内存(交换区)驻留时间 p_cpu 进程占用CPU程度 u_utime 进程在用户态累计占用CPU时间 u_stime 进程在核心态累计占用CPU时间 p_pri 进程优先数 计算程序统计直方图 其它 唤醒定时睡眠的进程1/16/202334华中理工大学计算机学院 李胜利2.5 UNIX系统结构2.5.1 UNIX系统体系结构 左图给出了UNIX系统的体系结构。系统由硬件、UNIX系统核心、UNIX系统实用程序(utility program)和用户程序组成。1/16/202335华中理工大学计算机学院 李胜利2.5.UNIX系统核心结构1.进程控制子系统 进程同步、进程间通信、进程调度和存储管理2.文件子系统 文件存储空间管理、文件操作及存取控制、高速缓冲机制1/16/202336华中理工大学计算机学院 李胜利