2 操作系统的逻辑结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功