第2章操作系统的结构和硬件支持

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在中断进入过程中,首先保存原先运行程序的PC、PS值,然后从中断向量地址表(中
程序现在应该执行哪条指令
当前指令执行情况
机器处于何种程序状态(核态、用户态)
程序在执行时应该屏蔽哪些中断
寻址方法、编址、保护键
响应中断的内容
什么是中断响应
中断响应是当CPU发现有中断请求时,终止现行程 序执行,并自动引出中断处理程序的过程。
中断响应的具体做法:
1.CPU在执行每条指令后扫描中断寄存器,查看有无中断请
而陷入(内中断)则是由处理器正在执行现行指令而引起的,因而,
一条指令执行期间允许响应陷入,通常,陷入处理程序提供的服务是 为当前进程所用的,有时称之为自陷程序。(自愿性中断)
中断处理过程-外中断
27
一道考研题
选择题:用户程序在目态下使用特权指令引起的中断属于() (2002华中科技大学) 硬件中断 程序中断 外部中断 访管中断
常见特权指令举例
允许和禁止中断 在进程之间切换处理 清内存 存取内存保护的寄存器(界地址寄存器,用户限制在哪个范围内?不允许用户随 意存取) 设置时钟(设置硬件时钟,在分时环境中,共享系统所有的资源,时间片是由设
置时钟来决定的,任何一个人希望自己有比较大的时间片)
启动输入输出设备 停止一个CPU的工作(停机指令,不允许用户执行停机指令,否则其他的用户程序 无法执行下去,因为让CPU停止了)
中断处理
中断处理过程主要有如下3个步骤:
1. 保存现场; 2. 运行相应的中断处理程序; 3. 恢复现场和退出中断。
中断处理过程
CPU 收到中断信号,在处 理完当前指令后响应中 断,延迟非常短。
对于每一个中 断源,相应地 有一个中断处 理程序,以处 理该中断源的 中断要求。
32
保存现场与恢复现场
断处理、外部设备驱动、在进程之间切换处理机
以及实施进程控制和通信的功能,提供一种进程 可以存在和活动的环境。
系统核以外各层依次是存储管理层、 I/O 处理层、
源自文库
图 2.4 OS层次结构示意图
文件存取层、调度(作业调度)和资源分配层。它 们具有各种资源管理功能并为用户提供各种服务。
2.3.1 处理机的状态及分类
相应的指令计数器PC、程序状态寄存器PS等寄存器中。
程序状态寄存器PS
任何程序运行时都有反映其运行状态的一组信息。 有的机器将这些信息集中在一起就称之为“程序状态字 ( Program State Word) ”,存放这些信息的寄存器称
为程序状态字寄存器。
什么是程序状态字?
主要内容包括 :
一. 处理机的状态(两种) 在计算机系统中有两类程序运行:
用户程序、系统程序
系统程序
其担负的任务是: 管理和控制者 为用户提供服务
用户程序
其担负的任务是: 被管理和被控制者 享受系统提供的服务 所需资源必须向 OS 提出 请求
负责管理和分配系统资源
什么是处理机的态?
处理机的工作状态,即处理机当前正在执行哪一类程序,依此来区 分处理机的状态。
求。
说明:中断寄存器:用来保存中断信号
为了区分和不丢失中断信号,对应每个中断源分别用一个固定的触发器寄存中断信号。 规定值为1时,表示有中断信号,为0时表示无中断信号。 这些触发器的全体称为中断寄存器。
2.如果没有,则运行下一条指令;
3.如果有中断请求,则进入中断处理程序。
中断响应的实质
中断响应的实质:交换指令地址及处理机的状态信息。 以达到如下目的:
关的事件, 这时 cpu 由用户态转换
成核态(或管态),处理完中断
后,返回断点继续执行用户程序 ,
这时cpu由核态转换成用户态。
用户态管态/核态
在下列情况下,由用户态转向管态:
① 用户进程访问操作系统,要求操作系统的某种服务(例如:读写文件、
分配I/O设备)。这种访问称为管理程序调用。
② 发生一次中断。 ③ 在一个用户进程中产生了一个错误(程序中断,例如:算术溢出)。这 种中断称为内部中断,并能调用中断处理程序进行处理。 ④ 在用户态下企图执行一条特权指令。这种企图被看作一种特殊类型的错 误,同样调用中断处理程序进行处理。
程序性中断事件。例如,定点溢出、除数为0、地址越界等。
外部中断事件。例如,时钟的定时中断、控制台发控制信息等。
输入输出中断事件。例如,设备出错、传输结束等。
自愿性中断事件
自愿性中断事件是正在运行的程序所期待的事件。
这种事件是由于执行了一条访管指令而引起的,它表 示正在运行的程序对操作系统有某种需求,一旦机器 执行到一条访管指令时,便自愿停止现行程序而转入 访管中断处理程序处理。
特权指令
是指具有特殊权限的指令,由于这类指令的权限最大,所以如果 使用不当,就会破坏系统或其它用户信息。 所以, CPU 将指令分为特权指令和非特权指令(算术运算、逻辑 运算、移位、转移都属于非特权指令,非特权指令可以供我们编 写程序以及相应的程序设计),对于那些危险的特权指令,只允 许操作系统使用,普通的应用程序只能使用那些不会造成灾难的 非特权指令。
例如,要求操作系统启动外围设备工作。
两类中断事件的响应过程对比图
两类中断事件的响应过程略有不同,如下图所示:
另外,还可以按照中断信号的来源,把中断分 为两类:
1. 外中断,一般又称中断(普通中断),是指来自处理 器和主存储器之外的中断。 包括:电源故障中断、时钟中断、控制台中断和 I/O 中断等(这些都属于强迫性中断事件)。
2.内中断,是指来自处理器和主存内部的中断,一般又 称陷入(trap)或异常。
包括:主存奇偶错(为检验存取数据是否准确无误,内存中每8位容量配备1位做为奇偶校
验位。计算机是以二进制进行计数的,表现为0和1,当CPU向内存写入数据时,实际上就是存入代码01,奇
偶校验则将单元中存入的代码的个数进行奇偶统计,并将统计的结果保存在奇偶校验位中,当计算机提取
中断源分类
引起中断的事件称为中断源。 发现中断源并产生中断的硬件称中断装置。
从中断事件的性质来说,中断源可以分成强迫性中断事
件和自愿性中断事件两大类。
强迫性中断事件
强迫性中断事件不是正在运行的程序所期待的,而是由于某种
事故或外部请求所引起的。这类中断事件大致有以下几种:
机器故障中断事件。例如,电源故障、主存出错等。
操作系统的核心在 裸机上运行,用户 程序在扩充后的机 器上运行。
应用程序 扩充后的机器
裸机
操作系统 用户程序
2.2 操作系统的组织结构
整个操作系统在结构上类似于一个洋葱头,它由 若干层组成,每一层都提供一组功能,这些功能 只依赖于该层以内的各层。洋葱头的中心部分是 机器硬件本身提供的各种功能。 与基本机器硬件紧挨着的是系统核,具有初级中
2.4 中断技术(重点)
中断概念
所谓中断是指某个事件 (例如 电源断电、定点加法溢出或
正在执行的 用户程序 中断进入
中断处 理程序
中断 返回 继续执行
I/O传输结束等) 发生时,系
统终止现行程序的运行、引 出处理事件程序对该事件进 行处理,处理完毕后返回断 点,继续执行。
中断技术
这种处理突发事件的能力是由硬件和软件协作完成的。
答案:D
中断装置
发现中断源并产生中断的硬件称中断装置。 迄今为止,所有的计算机系统都采用硬件和软件 结合的方法实现中断处理:
整个中断过程由硬件的中断响应(或称中断进入)和
软件的中断处理过程组成。
中断处理
NOTE:当硬件完成了中断响应之后,由相应的中断 处理程序得到控制权,进入了软件的中断处理过 程。
一道考研题
选择题:中断发生时,由硬件保护并更新程序指令计数器PC,而不 是由软件完成,主要是为了( )(华中科技大学1998年试题)
A.提高处理速度
B.使中断程序易于编制
C.节省内存
D.能进入中断处理程序并能正确返回
【答案分析】
一次中断过程分为中断进入(由硬件负责)和中断处理过程(由软件负责)。
2000年试题) 【分析】 操作系统提供的服务,一部分必须在核心态下才能运行,例如:进程调 度、目录服务等。还有一些功能,例如:DOS下的外部命令,则可以由用 户调用,运行在用户态下。
当 CPU 执行用户程序时, CPU 处于 用户态,在执行的过程中出现了 中断时,系统转去处理与中断有
图:处理机状态转换图,在 UNIX系统中,把核态称 为核心态
断。
它是正在运行的程序有意识安排的(自愿性中断),通常是
由于程序员在编写程序时,因要求操作系统提供服务而有意
使用访管指令(特权指令)或系统调用,从而导致中断的,
所以又称其为访管中断。
普通中断和陷入的区别
区别如下: 普通中断(外中断)是由与现行指令无关的中断信号触发的,通常在 两条机器指令之间才可以响应中断,一般来说,中断处理程序提供的 服务不是为当前进程所需的;(强迫性中断事件)
什么是现场?
是指在中断的那一时刻能确保程序继续运行的有关信息。
现场信息主要包括:
后继指令所在主存的单元号(下一条指令的地址) 程序运行所处的状态
指令执行情况以及程序执行的中间结果等
保存现场与恢复现场
什么叫保存现场?
当中断发生时,立即将现场信息保存到主存中。
什么是恢复现场?
程序重新运行之前,把保留的该程序现场信息从主存中送至
内存的数据时,奇偶校验则将统计的结果和实际读出的数据进行比较看是否一致,从而确保了内存数据的 正确性
)、非法操作码、地址越界、页面失效、访管中断、算
术操作溢出等各种程序性中断等。
Note:访管中断
访管中断对操作系统提出某种需求 ( 例如:请求 I/O 传输、建
立进程、读写文件、分配内存等)时所发出的中断称为访管中
1
操 作 系 统 原 理
任课教师:李 玲
中南财经政法大学 信息与安全工程学院
第2章 操作系统的结构和硬件支持
2.1 2.2 2.3 操作系统虚拟机 操作系统的组织结构 处理机的状态
2.4
中断技术(重点)
2.1 操作系统虚拟机
什么是操作系统虚拟机 在裸机上配置了操作系统后就构了操作系统虚拟机。
计算机系统在执行上述两种不同类型的程序时,就应该有不同的权
限。
而为此根据对资源和机器指令的使用权限,把处理机执行时的两种
工作状态分为核态(核心态、管态、系统态)和用户态(目态)。
关于“态”的几个概念
核态(Kernel Mode),又称系统态:CPU执行管理程序时所处 的状态。 在此状态下允许CPU使用全部资源和全部指令,其中包括特权 指令(例如:涉及外设的I/O、改变处理机状态、修改存储保 护的指令等),实现对系统资源的分配与管理,为用户提供 使用外部设备的服务。
关于“态”的几个概念
当用户程序执行时,如果需要请求操作系统服务,则 必然由用户态转为核态,即由操作系统得到控制权, 在核态下执行其管理程序。
服务完毕后,返回用户态,继续让用户程序执行。
一道考研题
在 计 算 机 系 统 中 , 为 什 么 要 区 分 管 态 与 目 态 ? (西安电子科技大学1999年试题)
保留程序断点和有关信息 自动转入相应的中断处理程序
有些计算机把程序状态字信息存放在两个寄存器中:一个
指令计数器(PC)、一个处理器状态(PS)。其中断示意图如
下所示:
中断响应示意图
一道考研题
中断响应的实质是什么?(北京大学1997年试题) 答案:中断响应的实质是交换指令地址和处理器 的状态信息。
【解答】操作系统是计算机系统中最重要的系统软件,为了能正确地进
行管理和控制,其本身是不能被破坏的。因此,系统采用了区分处理机
状态的办法,为操作系统程序建立一个保护环境。这样,用户程序只能
在目态下运行,只能执行非特权指令,只能访问自己的存储区,从而保 护了操作系统程序的正常运行。
一道考研题
判断对错:操作系统程序都是在核心态下才能运行。(大连理工大学
首先,由硬件的中断装置发现产生的中断事件,然后, 中断装置终止现行程序的执行,引出处理该事件的程
序来处理。
中断技术
在不同的硬件结构中,通常有不同的中断源和不同的 中断装置,但它们有一个共性,即:
当中断事件发生后,中断装置能改变处理器内操作执行的
顺序。
可见中断是现代操作系统实现并发性的基础之一。
相关文档
最新文档