操作系统结构_第1页
操作系统结构_第2页
操作系统结构_第3页
操作系统结构_第4页
操作系统结构_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章操作系统结构主要内容:中断/异常机制及中断/异常处理过程、系统调用、典型操作系统结构及用户使用操作系统的方法重点与难点:中断概念、中断与异常的区别及中断/异常处理过程、系统调用实现计算机操作系统中断/异常:指系统发生某个异步/同步事件后,处理机暂停正在执行的程序,转去执行处理该事件程序的过程。中断引入:为了开发CPU和通道(或设备)之间的并发操作。2.1中断和异常CPU通道外设计算机操作系统异常引入:用于表示CPU执行指令时本身引发的事件1)算术溢出;2)零做除数;3)取数时的奇偶错;4)访存指令越界;5)执行了一条所谓“陷入指令”(用于实现系统调用)注意:最早中断和异常并没有区分,都叫中断。后来由于它们的发生原因和处理方式的差别愈发明显,才有了中断和异常的区别。

计算机操作系统2.1.1中断/异常的区别中断(狭义)与异常的区别:中断:

与正执行指令无关;异常:

与正执行指令有关。中断(外中断)异常(内中断)例外或陷入(Trap)I/O中断时钟中断陷入指令缺页异常地址越界其他程序性异常(如算术溢出等)广义中断计算机操作系统

更详细打断处理机当前指令正常执行顺序的原因:I/O中断:打印机输出结束中断,磁盘传输错外中断:计时器,其他机器的信号机器故障:电源故障,内存读数错误程序性异常:非法操作码,无效地址,算术溢出陷入指令:访管指令(系统调用)计算机操作系统2.1.2中断的分级中断寄存器:寄存中断事件的全部触发器。中断位:每个触发器称为一个中断位,当发生某个中断事件时相应位被置上。中断序号:给中断的一个顺序编号.中断响应:由硬件在执行每一条指令的最后时刻判断是否有中断,有则无条件转入操作系统的中断处理程序.中断寄存器图示:………101210计算机操作系统中断优先级(中断优先权):中断享有高、低不同的响应权利。1)高、低优先级中断同时到达时,先响应高级中断;2)高级中断可以打断低级中断处理程序的运行;3)同级中断同时到达时,则按位序响应。高级中断处理中级中断处理低级中断处理低级中断处理中级中断处理高级中断处理多级中断同时到达的CPU轨迹高级中断打断低级中断的CPU轨迹

计算机操作系统中断优先级设计原则:高速设备的中断优先级高,慢速设备的中断优先级低。原因:高速设备的中断被处理机优先响应时,可以让处理机尽快地向它发出下一个I/O请求,提高高速设备的利用率。例子:PDP-11机上的UNIX系统把中断级别分为:时钟中断——中断优先级=6级磁盘中断——中断优先级=5级终端等其他外设中断——中断优先级=4级计算机操作系统

中断寄存器

屏蔽寄存器1110响应中断软件实现中断屏蔽图示中断屏蔽:指禁止处理机响应中断或禁止中断出现。两种实现方法:

硬件实现(由软件设置处理机优先级,硬件按系统设计时的约定,屏蔽那些低优先级中断;

软件实现(由软件按操作系统优先级约定,设置屏蔽寄存器)。计算机操作系统两种屏蔽类型:硬屏蔽:禁止中断出现的屏蔽方式;

例如,IBM370机使用特权指令向PS(处理机状态寄存器)发送程序屏蔽码。软屏蔽:设备中断,时钟中断等部分硬件中断可以被暂时禁止响应,到屏蔽被解除时再处理。

例如,可编程中断控制器,处理机可以执行指令设置可编程中断控制器的屏蔽码。注意:但异常不能被屏蔽,必须被响应。计算机操作系统2.2中断/异常响应和处理2.2.1中断/异常响应中断响应:异常:是在执行指令的时候,由指令本身原因引发的问题。指令的实现逻辑发现发生异常则转入操作系统内的异常处理程序。

中断检测机构中断寄存器是否存在中断?继续执行指令执行中断否是在机器指令执行周期的最后时刻计算机操作系统1断点和恢复点PC:程序计数器。指向马上要执行的那一条指令的地址。断点:检测到中断信号时,处理机刚执行完的那条指令地址即为断点,通常是PC的内容减去前一条指令占的单元长度。恢复点:断点的逻辑后续指令地址,PC的值。断点恢复点计算机操作系统现场信息:指在中断那一刻,确保被中断程序能继续运行的有关信息,如PC、通用寄存器、特殊寄存器等的内容。注:对于异常,返回点不一定是恢复点

1)大部分用户程序出错,则结束进程;

2)系统调用,则返回恢复点继续执行;

3)缺页异常,则处理完异常后,重新执行。计算机操作系统2核心态与用户态CPU执行两类性质的程序:用户程序或系统外层的应用程序(普通子程序)操作系统程序(内核程序)。核心态(系统状态,监督方式,管态):允许特权指令执行的状态,在此状态下地址空间也较大。用户态(用户方式,目态):一般用户所运行的状态。区分方法:由处理机状态字(PS或PSW)寄存器内设置一个标志触发器来进行区分。计算机操作系统

PS(PSW):处理机状态字。寄存处理机运行状态的寄存器。内容包括:

当前处理机状态;先前处理机状态;处理机优先级;各种控制位(如,外中断位);条件码(反映指令执行状态)。

TNZVC

PDP-11机器的处理器状态寄存器示例计算机操作系统

3中断向量中断/异常向量:一个存放中断/异常处理程序入口地址和程序运行所需处理机状态字的内存单元。硬件按中断号、异常类型的不同通过中断向量表转移。当前先前优先级特征位状态状态PDP-11机器的中断向量示例

TNZVC

15141312870150PCPS两个连续单元计算机操作系统2.2.2中断/异常处理中断/异常处理的一般过程:中断,异常进入;保存现场;分析原因,转中断(异常)处理程序;恢复现场。计算机操作系统中断处理的流程图:保护现场分析中断原因

该级还有中断?有条件地进行低调恢复现场进入中断/异常中断/异常现行程序计算机操作系统PDP-11上的UNIX中断处理详细过程:1.中断,异常进入

硬件自动将当前PC,PS存入暂存寄存器;硬件按中断号从指定的中断向量单元中取出PC,PS内容装入PC,PS寄存器,同时填入PS寄存器的“先前状态”和“当前状态”;将原PC,PS保存到现场保护区栈(一般有用户栈和核心栈两种,此时指保存于核心栈)。完成上述以后分类型作如下处理:中断:转入相应中断处理程序。异常:转入一个入口地址为trap的处理程序,根据不同的异常类型号作不同的处理。计算机操作系统一般的中断/异常处理过程包括三个阶段:保存现场分析原因后转入相应的处理程序恢复现场UNIX专门设置了一个call的总控程序,负责完成这三阶段的工作。计算机操作系统2.保存现场保存的区域:1)分散:每个进程设有一片现场区,中断/异常时,现场信息保存在该现场区。例如UNIX系统2)集中分散:系统设一个现场区,进程具有一个现场区,中断时现场信息保存在系统现场区;异常时,保存在进程现场区。例如VMS操作系统保存形式:“栈”结构(待续)计算机操作系统“栈”结构

“后进先出”思想栈进出栈栈顶栈底进队列出队列队尾队头“队列”结构“先进先出”思想计算机操作系统现场保存/恢复过程示例:低级中断现场区高级中断现场区用户程序低级中断高级中断方向多级中断现场保存计算机操作系统UNIX系统中一个现场区栈帧的形成过程:硬件将PS,PC压栈,且根据中断类型将中断向量表中的PS,PC值送入PS,PC寄存器。中断入口第一条为转总控程序指令,该转移指令将r0压栈且将中断处理程序地址存入r0。

由总控程序将新的nps压栈(有异常号信息)。由总控将r1,r6压栈(r6中为栈指针,此时是上一栈帧顶或用户栈顶)。由总控从nps低5位截取trap号dev进入栈。总控在转相应中断(trap)处理程序时,将返回地址tpc压栈。由各中断(trap)处理程序先将r5,r4,r3,r2压栈,返回总控时恢复r2,r3,r4,r5。计算机操作系统

PS 硬件保存

PC

r0

nps(新ps)

r1 r6 总控程序保存

dev(trap号)

tpc

(总控返回地址)

r5 r4 处理程序保存

r3 r2sp

计算机操作系统

3.分析原因,转中断(异常)处理程序总控程序直接根据r0(已存放好中断程序的入口地址)内容转子程序。中断:直接转至其入口地址;异常:还要根据dev保存的当前发生的陷入类型,作相应的处理。计算机操作系统4.恢复现场(总控程序)分两种情况:1)回退到核心态时:

退栈,恢复r0,r1;执行rtt指令,该指令自动将栈帧中的PC,PS值装入PC,PS寄存器。2)回退到用户态时:

转调度程序;退栈,恢复r0,r1;

执行rtt指令。该指令自动将栈帧中的PC,PS值装入PC,PS寄存器。注:UNIX系统是根据nps内容来判断CPU的先前状态。计算机操作系统中断与异常的区别1)定义:中断:来自外部,异常:来自内部。2)屏蔽:中断:能被屏蔽,异常:不能屏蔽。3)响应:中断:中断检测机构检测中断寄存器;异常:执行指令时发生异常。4)处理:中断:保存现场后直接转入到中断入口程序;异常:转入trap处理程序,后跟据异常类型号转入相应的异常处理程序。5)返回:中断:返回用户程序或低优先级中断程序;异常:大部分不返回,系统调用返回访管指令的下一条指令,缺页异常返回发生异常的指令。计算机操作系统2.3操作系统运行模型操作系统核心的主要功能模块如下(UNIX为例):

系统初始化模块:初始化系统数据区,创建1号进程运行INIT程序,该进程为每个登录用户创建一个tty终端进程,运行命令解释程序,接收用户输入的命令。

进程管理模块:包含进程的系统调用处理(如进程创建/结束,进程通信/同步)和处理机的管理(如进程调度,进程切换)。计算机操作系统存储管理模块:负责内存的管理,如内存管理模块,进程空间分配,进程内外存之间交换。外设管理模块:负责外设驱动和中断处理,包含设备访问接口程序,数据缓冲区管理模块,各种驱动器公共程序,各设备驱动程序,设备中断处理程序等。文件管理模块:处理文件类系统调用,如文件访问接口程序,文件系统目录结构管理程序,文件数据缓冲管理模块,外存管理程序。计算机操作系统操作系统三种运行模型:独立运行的内核:用户程序与核心程序在分离的运行环境中运行,核心程序作为一个独立的特殊执行体运行,有自己独立的运行栈。内核用户进程用户进程用户进程a.独立内核模式...特点:进程只运行用户程序,内核只是一个特殊的系统执行体;系统调用时,要访问用户进程的系统表格;启动外设时,要与用户进程进行连接。内核程序并发运行实现困难。计算机操作系统嵌入用户进程执行模式:操作系统核心程序通过中断/例外机制启动运行,但运行于被打断进程的核心栈上,其并发性较好。操作系统空间地址不与用户进程空间地址重叠,各占一片连续地址空间的高部与低部。本书描述的都是这种模式。

特点:只发生模式转换,没发生进程切换.

b.操作系统嵌入用户进程中运行用户进程用户进程用户进程内核内核内核进程切换…系统程序及数据区用户数据区用户程序区核心栈用户栈区系统空间用户空间计算机操作系统微内核模式:核心程序只包含中断处理,系统调用总控,进程调度等功能,其他功能由用户态运行的系统进程实现,如现代操作系统Mach3.0.

优点:模块化,层次化方面比较好缺点:通信,合作时开销很大,损失系统性能。用户进程用户进程用户进程系统进程系统进程进程切换(微内核)......c.操作系统功能以系统进程运行计算机操作系统2.4系统调用1.自陷指令(trap)自陷指令:一条能产生异常的机器指令,又称访管指令,或陷入指令。PDP-11机器提供一条自陷指令:trap,指令码为104400-104777。完成的工作为:PS内容入栈;PC内容入栈;从中断向量034单元中取内容装入PS;从中断向量036单元中取内容装入PC。计算机操作系统UNIX中trap指令格式:

trap类型号;trap的指令码为104400-104477(八进制),其中指令码的最后6位表示系统调用的类型号。散转表数据结构:保存与类型号相对应的服务程序入口地址。编号参数个数服务程序入口地址

01do_fork13do_read………计算机操作系统2.系统调用的实现:系统调用库程序一般格式为:

. . .(传给核心参数按约定填入寄存器) trap类型号

.(从约定的寄存器中获得核心返回值)

. return参数传递:约定好的寄存器传递参数计算机操作系统系统调用各模块关系图异步调用接口系统调用接口用户程序系统调用库内核总控系统调用处理总控Write处理磁盘控制器磁盘中断处理用户态核心态磁盘驱动程序用户程序计算机操作系统3.系统调用实现举例POSIX标准定义的系统调用如下:进程管理:

创建进程pid=fork()

终止进程exit(status)

等待子进程结束pid=wait(pid,…)

替换进程映像s=execve(name,argv,environp)

向pid进程发送一个signal信号

s=kill(pid,signal)文件管理:

创建文件fd=creat(name,…)

打开文件fd=open(name,…)

读文件n=read(fd,buffer,nbyte)

(下页续)计算机操作系统写文件n=write(fd,buffer,nbyte)

移动文件指针pos=seek(fd,offset,…)

关闭文件s=close(fd)获取文件状态:s=stat(filename,&buf)存储管理:动态申请/释放存储空间等;目录管理:建立目录,删除目录等;其他:设置/获得时间等。说明:用户编程时不一定直接调用“系统调用”函数,而是调用更高层的库函数,如win32的API函数。计算机操作系统2.5人机界面2.5.1命令语言它是控制作业流程的用户界面,由命令解释程序解释执行命令。

早期批处理系统:作业控制语言,由JCL解释程序来解释和执行分时系统:交互语言(shell命令,DOS键盘命令)

由命令解释程序来解释和执行,如:shell命令解释程序,explorer命令解释程序。计算机操作系统

UNIX中的实例:

UNIX启动一个解释程序的执行过程如下:

系统启动时,1号进程为每个终端生成一个tty进程,让其运行登录程序;用户输入ID及口令,验证完用户后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论