2019/12/30华中理工大学计算机学院李胜利12019/12/30华中理工大学计算机学院李胜利2第二章操作系统的逻辑结构2019/12/30华中理工大学计算机学院李胜利3第二章操作系统的逻辑结构2.1概述为提高计算机系统资源的使用效率和方便用户在计算机系统中必须配备操作系统.操作系统是一个大型的软件,规模庞大、结构复杂。操作系统必须是一个清晰、正确的逻辑结构。结构设计是软件界权威Dijkstra,E.W.(菏兰人)提出的一种程序设计的方法。2019/12/30华中理工大学计算机学院李胜利4第二章操作系统的逻辑结构2..1概述2019/12/30华中理工大学计算机学院李胜利52.1概述2.1.2操作系统逻辑结构左图既可看成是一个多层虚拟机结构,也可是通常操作系统的逻辑结构。在2.5节将看到UNIX系统的结构2019/12/30华中理工大学计算机学院李胜利62.2基本硬件结构2.2.1处理机状态及特权指令(一)处理机的状态在计算机系统中有两类程序运行:用户程序系统程序用户程序、系统程序执行时有不同的权限。根据对系统资源和机器指令的使用权限,把处理机执行时的工作状态分为核态和用户态,有的操作系统还将系统程序执行时的机器的状态又分为核态和管态。其权限次序是:核态、管态、用户态。2019/12/30华中理工大学计算机学院李胜利72.2基本硬件结构2.2.1处理机状态及特权指令(一)处理机的状态核态(KernelMode):CPU执行操作系统程序时所处的状态。在此状态下允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的I/O、改变处理机状态、修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外部设备的服务。管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但不能使用修改CPU状态的指令。无核态时,管态执行核态的全部功能。2019/12/30华中理工大学计算机学院李胜利82.2基本硬件结构2.2.1处理机状态及特权指令•用户态(UserMode):•用户程序执行时CPU所处的状态。在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。2019/12/30华中理工大学计算机学院李胜利9当CPU执行用户程序时,CPU机处于用户态,在执行的过程中出现了中断(或自陷)时,系统转去处理与中断有关的事件,这时cpu由用户态转换成核态(或管态),处理完中断后,返回断点继续执行用户程序,这时cpu由核态转换成用户态。右图是UNIX系统环境下处理机状态转换图,在UNIX系统中,把核态称为核心态2.2基本硬件结构2.2.1处理机状态及特权指令(一)处理机的状态2019/12/30华中理工大学计算机学院李胜利102.2基本硬件结构2.2.1处理机状态及特权指令二、特权指令集在核态下操作系统可以使用所有指令,包括一组特权指令。•允许和禁止中断;•在进程之间切换处理机;•存取用于内存保护的寄存器;•执行输入和输出操作;•停止一个中央处理机的工作。2019/12/30华中理工大学计算机学院李胜利112.2基本硬件结构2.2.1处理机状态及特权指令二、特权指令集在下列情况下,由用户态转向核态:•用户程序要求操作系统的服务,系统调用;•发生一次中断;•在用户程序中产生了一个错误的状态;•在用户程序中企图执行一条特权指令;从核态转回用户态用一条指令实现,这条指令也是特权指令。一般情况下是中断返回指令。2019/12/30华中理工大学计算机学院李胜利122.2基本硬件结构2.2.2存储器•主存储器(主存、内存):•央处理机能直接访问的存储器称为主存储器,用来存放正在或将要执行的系统和用户程序和数据以及程序执行时要求的临时存储空间。•辅存储器(辅存、外存):•中央处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用来存放大量的数据信息。2019/12/30华中理工大学计算机学院李胜利132.2基本硬件结构2.2.2存储器(一)主存储器的类型随机访问存储器RAM(randomaccessmemory)只读存储器ROM(Read-onlymemory)在微机中有这两种类型的存储,一种是ROM称为BIOS,用来存放基本的I/O程序。另一种是RAM,通常所说的64MB、128MB(二)存储器组织(略)(三)存储保护(略)2019/12/30华中理工大学计算机学院李胜利142.2基本硬件结构2.2.3时钟时钟是操作系统运行时必不可少的硬设施,它以固定的时间间隔产生中断信号,这对于实施进程调度、计算系统资源的消耗、实时控制等功能是必不可少的。在操作系统中需时钟支持的工作有:分时系统调度;实时控制;提供用户和系统所需的绝对时间(日历时钟、墙钟)。2019/12/30华中理工大学计算机学院李胜利152.2基本硬件结构2.2.4中断与俘获(一)中断概念•中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序对相应事件进行处理,处理完毕后返回断点继续执行。•中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印机。•断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点。例如,某程序正在执行0200地址的指令被中断,那么,0200地址就是断点,在中断返回时就执行0200的下一条指令。2019/12/30华中理工大学计算机学院李胜利162.2基本硬件结构2.2.4中断与俘获(一)中断概念中断响应:是处理机发现有中断请求时,中止现运行程序的执行并自动引出中断处理程序的过程。中断处理程序:对中断事件进行处理的程序叫中断处理程序。如时钟中断处理、打印机完成中断处理、打印机缺纸中断处理等等。它是操作系统中与硬件最接近的一部分,是操作系统与硬件的接口。2019/12/30华中理工大学计算机学院李胜利172.2基本硬件结构2.2.4中断与俘获(一)中断概念的中断机构PC2019/12/30华中理工大学计算机学院李胜利182.2基本硬件结构2.2.4中断与俘获(二)中断类型•1、输入输出中断•它是当外部设备或通道操作正常结束或发生错误时所发生的中断。例如:打印机打印完成、缺纸,读磁盘时相应驱动器中没有磁盘等。•2、外中断•对某个中央处理机而言,它的外部非通道式装置所引起的中断称为外部中断。例如,时钟中断、操作员控制台中断,多处理机系统中CPU到CPU之间的通信中断等。2019/12/30华中理工大学计算机学院李胜利192.2基本硬件结构2.2.4中断与俘获(二)中断类型•3、硬件故障中断•当机器发生故障时的中断叫硬件故障中断。例如,电源故障、内存单元奇偶校验错。•4、程序性中断•在程序执行的过程中,发现了程序性质的错误或出现了某些特定状态而产生的中断。如浮点溢出、用户态下使用了特权指令、内存越界、跟踪等。2019/12/30华中理工大学计算机学院李胜利202.2基本硬件结构2.2.4中断与俘获(二)中断类型•5、访管中断•对操作系统提出某种请(需)求时所发生的中断。例如,创建进程,I/O传输、打开文件、关闭文件、文件的读、写等系统调用。•以上五种中断也归纳成两类,其一是来自处理机外部的事件,称为外部中断,如I/O中断、外中断。另一类是来自处理机的中断,称为内部中断,如硬件故障中断、程序性中断、访管中断。在这类中断有时称俘获(也有称陷入、陷阱、自陷、捕俘等,它的英文名称为trap,来自早期的UNIX系统)2019/12/30华中理工大学计算机学院李胜利212.2基本硬件结构2.2.4中断与俘获•(三)中断进入•对中断请求的整个处理过程称为中断处理,它是由软、硬件结合形成的一套中断机构实施的。在本教材中叫中断进入。2019/12/30华中理工大学计算机学院李胜利222.2基本硬件结构2.2.4中断与俘获(三)中断进入•1、保护中断现场和恢复现场•现场:是被中断断点时刻处理机的各种信息,包括:•程序状态字;•各寄存器的值;•打开文件的状态•这些现场信息的多少根据具体系统的处理方法不同差别很大,例如UNIX系统,在中断返回后有可能进行进程调度,那么,现场信息除包括各寄存器的值,程序状态字,打开文件的状态外,还有保证被中断的进程重新被调度时恢复运行环境指针和栈指针2019/12/30华中理工大学计算机学院李胜利232.2基本硬件结构2.2.4中断与俘获(三)中断进入•保护现场:在进入中断时将现场信息保存到指定的位置,一般情况是保留到系统栈中。•恢复现场:在中断处理完成后,返回断点之前将保留在栈中的断点的现场信息恢复,使被中断的程序能继续正确地执行。2019/12/30华中理工大学计算机学院李胜利242.2基本硬件结构2.2.4中断与俘获(三)中断进入•2、程序状态字•在计算机系统中有一个寄存器(有的系统有几个寄存器)用来存放程序状态字,称为PS。•其中包括•指令计数器(PCProgramcounter,instructioncounter)•程序现应执行哪条指令,当前指令执行的情况•机器处于何种状态(核态、用户态)•程序执行时应屏蔽哪些中断(处理机运行级)•寻址方式、编址、保护键2019/12/30华中理工大学计算机学院李胜利252.2基本硬件结构2.2.4中断与俘获(三)中断进入•例1:PDP-11系列机的PS:•PC是另一个寄存器2019/12/30华中理工大学计算机学院李胜利262.2基本硬件结构2.2.4中断与俘获(三)中断进入•3、中断响应•中断响应:是处理机发现有中断请求时,中止现运行程序的执行,并自动引出中断处理程序的过程。中断响应的实质是交换指令执行地址和处理机的状态,以达到如下目的:•(1)保留程序断点及有关信息;•(2)自动转入相应的中断处理程序执行。2019/12/30华中理工大学计算机学院李胜利272.2基本硬件结构2.2.4中断与俘获(三)中断进入•4、中断向量•具有向量机制的计算机的中断向量包括两个字:•中断处理程序的入口地址•中断处理程序的程序状态字2019/12/30华中理工大学计算机学院李胜利282.2基本硬件结构2.2.4中断与俘获(三)中断进入2019/12/30华中理工大学计算机学院李胜利292.2基本硬件结构2.2.4中断与俘获(三)中断进入2019/12/30华中理工大学计算机学院李胜利302.2基本硬件结构2.2.4中断与俘获(三)中断进入•教材P34的图2.7给出了PDP-11计算机上的trap的示意图,归纳起来有以下四个动作:•(SP)PS•(SP)PC•PC(34)•PS(36)2019/12/30华中理工大学计算机学院李胜利312.2基本硬件结构2.2.4中断与俘获•(四)中断处理•中断处理和自陷处理的过程是类似的,当硬件完成了中断进入后,转到中断处理程序,进入软件中断处理过程。这个过程主要有如下三项工作:•(1)保护现场和传递参数;•(2)执行相应的中断(或自陷)处理程序;•(3)恢复和退出。•注:在中断进入时由硬件保护了被中断程序的PC和PS,在中断处理中保护各寄存器的值和其它状态信息。2019/12/30华中理工大学计算机学院李胜利322.2基本硬件结构2.2.4中断与俘获(四)中断处理2019/12/30华中理工大学计算机学院李胜利332.2基本硬件结构2.2.4中断与俘获(四)中断处理•UNIX系统的中断处理程序•1.中断、自陷处理总控程序2019/12/30华中理工大学计算机学院李胜利342.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进程优先数•计算程序统计直方图•其它唤醒定时睡眠的进程2019/12/30华中理工大学计算机学