Transcript Chapter 2

第二章
(一)
(二)
(三)
(四)
操作系统的逻辑结
构
操作系统虚拟机
操作系统逻辑结构
处理机的状态
中断技术
(一)操作系统虚拟机

为提高计算机系统资源的使用效率和方便
用户,在计算机系统中必须配备操作系统.

操作系统是一个大型的软件,规模庞大、
结构复杂。操作系统必须是一个清晰、正
确的逻辑结构。
 什么是操作系统虚拟机
在裸机上配置了操作系统程序后就构成了操
作系统虚拟机。
操作系统的核心在裸机上运行
用户程序在扩充后的机器上运行
应用程序
扩充后的机器
裸机
操作系统
用户程序
 操作系统虚拟机的指令系统

裸机的指令系统是什么?
机器指令

操作系统虚拟机的指令系统?
操作系统虚拟机的指令系统,又称为操作命令
语言。虚拟机的功能是通过它提供的命令体现
的。
(1)操作命令(又称命令接口)
作业控制语言、键盘命令、图形化用户界面
(2)系统功能调用(又称程序接口)
(二)
操作系统逻辑结构
UNIX系统体系结构

Unix系统组成:
硬件(裸机)
 核心层
 实用层
 其他应用程序

CC、Shell、用户程序
核外程序
sh who a.out date wc grep
cd vi ld comp cpp
UNIX核心
裸机
nroff
UNIX系统核心结构
1. 进程控制子系统

进程同步、进程间
通信、进程调度和
存储管理
2.文件子系统

文件存储空间管理、
文件操作及存取控
制、高速缓冲机制
Windows操作系统的结构
(三)
处理机的状态
1. 设置处理机状态的目的
为操作系统建立一个保护环境,采用的方法是区分处
理机的工作状态。
系统中有两类程序:
管理程序
用户程序
管理系统资源
使用资源、提出申请
控制程序运行
被控制
2. 什么是处理机的态
中央处理机的工作状态,当前它正在执行哪类程序,
决定处理机的态。
3. 处理机态的类别
(1)核态(Kernel mode)
操作系统的管理程序执行时机器所处的状态。
使用全部指令(包括一组特权指令)
 使用全部系统资源(包括整个存储区域)

(2)管态(Supervisor mode)
管态比核态的权限低,在此状态下允许使用一
些用户态下不能使用的资源,但不能使用修改
CPU状态的指令。
无核态时,管态执行核态的全部功能。
(3)用户态(User mode)
用户程序执行时机器所处的状态。在此状态下禁止使
用特权指令,不能直接取用资源与改机器状态,并且只允
许用户程序访问自己的存储区域。
管态
用户态



操作系统的程序执行
使用全部指令
(包括一组特权指令)
使用全部系统资源
(包括整个存储区域)
处理机的状态不断变化,
它有时会处于用户态,
有时会处于管态。
用户程序执行
禁止使用特权指令
只允许用户程序访问
自己的存储区域
中断
自陷
中断
嵌套
核态
用户态
中断自陷
返回
UNIX系统处理机状态转换
4. 特权指令集
在核态下操作系统可以使用所有指令,包括一
组特权指令。
 改变机器状态的指令
 修改特殊寄存器的指令
 涉及外部设备的输入/输出指令
 允许和禁止中断;
 在进程之间切换处理机;
 存取用于内存保护的寄存器;
 执行输入和输出操作;
 停止一个中央处理机的工作。
实例操作系统如何区分处理机的状态



DOS系统 不分态
Windows系统
 现分为两态——用户态、系统态
Unix(Linux)系统
 分为三态:核态、管态、用户态
由用户态转向核态

如何实现?
用户程序请求操作系统的服务
发生中断

用户程序中产生了一个错误的状态

在用户程序中执行一条特权指令
从核态转回用户态用一条指令实现,中断返回指令。
必要的硬件支持
存储器

主存储器(主存、内存):
处理机能直接访问的存储器称为主存储器,用来存放正在或
将要执行的系统和用户程序和数据以及程序执行时要求的临
时存储空间。
 只读存储器ROM(Read-only memory): ROM称为BIOS,
用来存放基本的I/O程序。
 随机访问存储器 RAM(random access memory)

辅存储器(辅存、外存):
处理机不能直接访问的存储器,如磁盘、磁带、光盘等,用
来存放大量的数据信息。
时钟

时钟是操作系统运行时必不可少的硬设施,它以固
定的时间间隔产生中断信号,这对于实施进程调度、
计算系统资源的消耗、实时控制等功能是必不可少
的。

在操作系统中需时钟支持的工作有:



处理机调度;
实时控制;
提供用户和系统所需的绝对时间(日历时钟、墙钟)。
(四) 中断技术
一. 中断概念
所谓中断是指某个事
件(例如键盘输入、
定点加法溢出或I/O传
输结束等)发生时,
系统中止现行程序的
运行、引出处理事件
程序对该事件进行处
理,处理完毕后返回
断点,继续执行。

中断源:引起中断的事件称中断源,如打印完成
中断,其中断源是打印机。

断点:发生中断时正在运行的程序被暂时停止,
程序的暂停点称为断点。

中断响应:是处理机发现有中断请求时,中止
现运行程序的执行并自动引出中断处理程序的过
程。

中断由软硬件协同处理
中断装置:指发现中断,响应中断的硬件
 中断处理程序:对中断事件进行处理的程序,由软

件来完成
二. 中断类型

按中断功能分类
(1)输入输出中断:
外部设备或通道操作正常结束或错误时所发生的中断。
如I/O传输结束或出错中断。
(2)外中断:
外部非通道式装置所引起的中断。
时钟中断、操作员控制台中断、通信中断等。
(3)机器故障中断:
机器发生故障时的中断。
电源故障、主存取指令错、长线传输的奇偶校验错等。
(4)程序性中断:
程序性质的错误或某些特定状态而产生的中断。
浮点溢出、用户态下用核态指令、越界、非法操作等。
(5)访管中断:
对操作系统提出某种需求时发出的中断称为访管中断。
中断的分类:

外部中断和内部中断

来自处理机外部的事件,称为外部中断,如I/O中断、外
中断。
来自处理机的中断,称为内部中断,如硬件故障中断、
程序性中断、访管中断。这类中断有时称俘获(也有称
陷入、陷阱、自陷、捕俘等,它的英文名称为 trap,来
自早期的UNIX系统)


强迫性中断 和 自愿性中断


不是正在运行的程序所期待的,而是由某种事故或外
部请求信号所引起的
运行程序所期待的事件,由于执行访管指令而引起的
三. 中断进入
对中断请求的整个
处理过程称为中断处
理,它是由软、硬件
结合形成的一套中断
机构实施的。
1. 保护现场和恢复现场
(1)现场
是指在中断的那一时刻能确保程序继续运行的
有关信息。
 主要包括——

后继指令所在主存的单元号
 程序运行所处的状态
 指令执行情况
 以及程序执行的中间结果等

(2)保护现场

当中断发生时,必须立即把现场信息保存在主
存中,这一工作称之为保护现场。
(3)恢复现场

程序重新运行之前,把保留的该程序现场信息
从主存中送至相应的指令计数器、通用寄存器
或一些特殊的寄存器中。完成这些工作称为恢
复现场。
2. 程序状态字(psw)
(1)什么是程序状态字
程序状态字是反映程序执行时机器所处的现行
状态的代码。
主要内容包括——
程序现在应该执行哪条指令
 当前指令执行情况
 机器处于何种程序状态
 程序在执行时应该屏蔽哪些中断
 寻址方法、编址、保护键
 响应中断的内容

(2)程序状态字的例子

IBM370机


IBM PC机


程序状态字内容  PSW寄存器
程序状态字内容  CS IP 指令地址
flag 标志寄存器
PDP 11系列机

程序状态字内容  PC
PS
指令计数器
处理器状态寄存器
3. 什么是中断响应
(1)什么是中断响应
(1)什么是中断响应
中断响应是当中央处理机发现已有中断
请求时,中止现行程序执行,并自动引出
中断处理程序的过程。

中断响应过程:


保留程序断点及处理机有关信息
自动转入相应的中断处理程序
(2)中断响应的实质

交换指令地址及处理机的状态信息
(3)中断响应过程(硬件完成)
中断处理程序的PC
3
中断处理程序的PS
PC
4
PS
内 存
2
1
PC进栈
PS进栈
栈顶
指针
堆 栈
四. 软件的中断处理过程
当硬件完成了中断进入后,转到中断处理程
序,进入软件中断处理过程。这个过程主要有
如下三项工作:
(1)保护现场和传递参数;
(2)执行相应的中断(或自陷)处理程序;
(3)恢复和退出。
注: 在中断进入时由硬件保护了被中断程序的PC和PS,
在中断处理中保护各寄存器的值和其它状态信息。
中断处理(软件完成)
自动转入(硬件)
程序
•••••
保存被中断程序现场
进行相应的中断处理
mov r2,0900
trap 09
恢复被中断程序现场
Jmp ert
••••••
中断返回(执行硬件指令)
两种中断机构
1.向量中断机构
2.探询中断机构
中断线
CPU
磁
盘
打印机
CPU
磁带
打印机
键盘
中断线
键盘
磁
盘
磁带
五. 向量中断
1. 什么是向量中断
当中断发生时,由中断源自己引导处理机进入中
断服务程序的中断过程称为向量中断。
2. 中断向量
中断向量是存储某类型中断的中断服务例行程序
的入口地址和处理机状态字的存储单元。
3. 中断向量表
主存中用于存放中断向量服务地址的一组存储单元组成
的表。
六.中断返回
中断返回是指执
行一条中断返回
指令(RTI)。
硬件操作
↑(SP) → PC
↑(SP) → PS
第二章
小
结
1. 操作系统虚拟机概念。
2. 处理机的态,(核态)、管态、用户
态,相互的区别。
3. 中断概念:定义、类型。
4. 中断响应的定义、实质。
5. 中断处理的过程。
6. 向量中断的概念。