第 2章 操作系统的运行环境
硬件环境
操作系统与其它系统软件的关系
操作系统与人的接口
任何系统软件都是硬件功能的延伸
操作系统直接依赖于硬件条件
OS的硬件环境以较分散的形式同各种管理相结合
实现操作系统时必须理解的计算机基本结构,
操作系统管理的重要资源
2.1 硬件环境
CPU、主存
缓冲技术、中断技术
时钟、时钟队列
一,CPU
专门设计了一系列基本机制,
- 具有特权级别的处理器状态,能在不同特
权级运行的各种特权指令。
- 硬件机制使得 OS可以和普通程序隔离
实现保护和控制
1、特权指令与非特权指令
? 特权指令:仅能为操作系统使用的指令。
使用多道程序设计技术的计算机指令系统必须
要区分为特权指令和非特权指令
? 特权指令一般引起处理器状态的切换
2、处理机的状态
根据运行程序对资源和机器指令的使用权限将
处理器设置为不同状态
多数系统将处理器工作状态划分为管态和目态
? 管态:处理机执行操作系统程序时的工作状态
? 目态:处理机执行普通用户程序时的工作状态
有些系统将处理器状态划分核心状态, 管理状态
和用户程序状态 ( 目标状态 ) 三种
实例,x86系列处理器
? 支持 4个处理器特权级别( R0,R1,R2和 R3)
? 从 R0到 R3特权能力依次降低
? R0相当于双状态系统的管态
? R3相当于目态
? R1和 R2则介于两者之间,它们能够运行的指
令集合具有包含关系,
3210 RRRR IIII ???
四个级别运行不同类别的程序,
? R0-运行操作系统核心代码
? R1-运行关键设备驱动程序和 I/O处理例程
? R2-运行其它受保护共享代码,如语言系统运
行环境
? R3-运行各种用户程序
现有的基于 x86处理器的操作系统,多数 UNIX,
Linux以及 Windows系列大都只用了 R0和 R3两个
特权级别
实例,x86系列处理器
管态和目态的差别
处理器处于管态时,
? 全部指令(包括特权指令)可以执行
? 可使用所有资源
? 并具有改变处理器状态的能力
处理器处于目态时,
? 只有非特权指令能执行
高特权级别对应的可运行指令集合包含低特权级
3、程序状态字 PSW
在 PSW中专门设置一位,来判断运行程序使用
指令的权限
? CPU的工作状态码 ——指明管态还是目态, 用
来说明当前在 CPU上执行的是操作系统还是一
般用户, 从而决定其是否可以使用特权指令
或拥有其它的特殊权力
? 条件码 ——反映指令执行后的结果特征
? 中断屏蔽码 ——指出是否允许中断
4、寄存器
寄存器,指令在 CPU内部作处理的过程中暂存
数据、地址以及指令信息的存储设备
寄存器提供了一定的存储能力
速度比主存储器快得多
但是造价高,容量一般都很小
两类寄存器,
? 用户可见寄存器,由高级语言编译器使用,
以减少程序访问主存次数
? 控制和状态寄存器,由操作系统使用,以控
制其它程序的执行
用户可见寄存器
? 机器语言直接引用
? 包括数据寄存器, 地址寄存器以及条件码寄
存器
? 数据寄存器 ( data register) 又称通用寄存器
主要用于各种算术逻辑指令和访存指令
? 地址寄存器 ( address register) 用于存储数据
及指令的物理地址, 线性地址或者有效地址,
用于某种特定方式的寻址 。
? 条件码寄存器保存 CPU操作结果的各种标记
位 。 如算术运算产生的溢出, 符号等
控制和状态寄存器
? 用于控制处理器的操作
? 大部分对于用户是不可见的
? 一部分可以在特权模式下访问
常见的控制和状态寄存器,
? 程序计数器 PC,记录将要取出的指令的地址
? 指令寄存器 IR,包含最近取出的指令
? 程序状态字 PSW,记录处理器的运行模式信息
二、主存
支持 OS运行硬件环境的一个重要方面,
? 作业必须把它的程序和数据存放在主存储器
(内存)中才能运行
? 多道程系统中,若干个程序和相关的数据要
放入主存储器
? 操作系统要管理、保护程序和数据,使它们
不至于受到破坏
? 操作系统本身也要存放在主存储器中并运行
? 存储器的类型,读写型、只读型
? 存储分块
? 存储保护
–界地址寄存器
–存储键
1,存储器的类型
两类存储器,读写型的存储器 ( RAM)
只读型的存储器 ( ROM)
变型,PROM和 EPROM
? PROM,可编程只读存储器,使用特殊 PROM
写入器写入数据
? EPROM,用特殊的紫外线光照射此芯片,以
,擦去, 信息,恢复原来状态,然后使用特
殊 EPROM写入器写入数据
2、存储分块
? 存储最小单位,―二进位,
? 最小编址单位,字节
主流个人电脑
– 主存,128MB~ 512MB之间
– 辅助存储器,在 20GB~ 70GB
工作站, 服务器
– 主存,512MB~ 4GB之间
– 硬盘容量,数百 GB
为简化分配和管理, 将存储器分成块
? 块的大小,512B,1K,4K,8K
3、存储保护措施
对主存中的信息加以严格的保护,使操作系统及其它
程序不被破坏,是其正确运行的基本条件之一
多用户,多任务操作系统,
OS给每个运行进程分配一个存储区域
问题,
多个程序同时在同一台机器上运行怎样才能互不侵犯?
存储保护措施:界地址寄存器、存储键
界地址寄存器
优点
? 机制比较简单,易于实现
实现方法,
? 在 CPU中设置一对上下限寄存器,分别存放用户作业
在主存中的上下限地址
? 或将一个寄存器作为基址寄存器,另一寄存器作为
限长寄存器
? CPU访问主存时,硬件自动将被访问的主存地址与界
地址寄存器内容比较,判断是否越界
? 未越界:按此地址访问主存
越界:产生存储保护中断
界地址寄存器
存储保护技术
存储键
? 每个存储块有一个由二进位组成的存储保护键
? 当作业进入主存, OS分给它唯一的存储键号
? 将分配给该作业各存储块存储键置成同样键号
? 当 OS挑选该作业运行时, OS将它的存储键号放入程
序状态字 PSW存储键域中
? 当 CPU访问主存, 将该主存块的存储键与 PSW中的存
储键域进行比较
? 如匹配, 则允许访问, 否则, 拒绝并报警
A块
B块
C块
0 0 1 0 1
0 1 0 0 1
0 1 0 0 0
存储键 保护位
键值为 0~15,其中 0
号键为万能键
三、缓冲技术
定义,外部设备在进行数据传输期间专门用于
暂存这些数据的主存区域 。
缓冲技术三种用途,
? 处理器与主存储器之间
? 处理器和其它外部设备之间
? 设备与设备之间的通信
目的,缓和 CPU和外设的速度差异,减轻通道和
外设的压力。
四、中断技术
中断机制是操作系统得以正常工作的最重
要的手段
? 它使得 OS可以捕获普通程序发出的系统
功能调用
? 及时处理设备的中断请求
? 防止用户程序中破坏性的活动等等
五、时钟
? 时钟为计算机完成的工作
? 时钟的概念,是硬件时钟寄存器, 按时钟电路
所产生的脉冲数对时钟寄存器进行加 1或减 1的
工作
? 绝对时钟,记录当时时间
绝对时钟准确, 停机时绝对时钟值仍然自动修改
? 相对时钟,通过时钟寄存器实现设置时间间隔
初值, 每经过一个单位时间, 时钟值减 1,直到
该值为负时, 触发时钟中断, 并进行相应中断
处理
? 硬件时钟,用 某个寄存器来模拟
(定时加 1或减 1)
? 软件时钟,用内存单元来模拟时钟。
分配给每个进程一时间片。时间片
到,发时钟中断,控制权交给操作
系统。
? 时钟队列, 一种实现软件时钟的方法
队列头指针
A 50 B 10 C 5 D 0 X
2.2、操作系统与其它系统软件的关系
作业、作业步和进程
重定位的概念
绝对装入程序和相对装入程序
一、作业、作业步和进程
作业,用户要求计算机所做的一个相对独立
的任务。
作业步,一个作业可划分成若干部分,
每个部分称为一个作业步。
典型的作业控制过程:, 编译,,, 连接装配,,
,运行,
进程,OS将一个作业步划分为若干作业步任务 。
二、重定位的概念
1、绝对地址、相对地址和逻辑地址空间
绝对地址,主存单元的实际地址。
相对地址,相对于某个基准量编址时用的地址。
逻辑地址空间,目标程序所限定的地址集合。
2、重定位
? 用户程序装入内存时对有关指令地址的
修改称重定位技术。
? 重定位分静态重定位,动态重定位。
静态地址重定位
在程序装入主存过程中由装配程序进行的
重定位。
动态地址重定位
在程序执行过程中,每次访存时将访问的
程序地址转换成内存绝对地址。
三、绝对装入程序和相对装入程序
? 绝对装入程序
? 相对装入程序
– 如何识别需重定位的项
– 装入过程
三、操作系统与人的接口
操作系统提供两个用户接口,
? 程序级,系统调用
? 操作命令级,作业控制语言
键盘命令
图形用户界面 ( 接口 )
1,作业控制语言,
一种语言, 用来写程序操作步骤的程序 。
在早期批处理操作系统中使用 。 用户将
自己的程序, 数据和用作业控制语言编写
的上机操作的步骤的程序一起提交给计算
中心 ( 或机房 ), 隔一段时间去机房取结
果 。
2、键盘命令,
用户通过键盘直接向计算机发布各种命令。
以交互式操作系统,分时操作系统为代表。
分时操作系统诞生后,用户可以通过用户终
端直接使用计算机,并且可与计算机“对
话”,
这就是所谓的交互式计算机。用户可通过键
盘直接向计算机发布各种命令,计算机可接
受、执行用户命令。
DOS系统把键盘命令分为,
文件管理( COPY,COMP,TYPE,DEL,REN)
磁盘管理( FORMAT,CHKDSK,DISKCOPY,
DISKCOMP)
目录管理( DIR,CD,MD,RD,TREE)
设备工作模式( CLS,MODE)
日期、时间、系统设置( DATE,TIME,VER,VOL)
运行用户程序 (MASM,LINK,DEBUG)
3,图形用户接口 ( UNIX,WINDOWS)
以窗口 ( windows),图标 ( icon), 菜单
( menu) 为典型特征, 由 APPLE 公司开创,
以 Microsoft 公司的 MS-Windows为里程碑,
在 UNIX系统下有 X-window。
4,系统调用,
直接在程序中使用 OS命令, 请求操作系统
的服务 。
不同的操作系统,系统调用实现的具体方法
有所不同,但其实质的特点是相同的,
1、每个系统调用对应一个系统调用号;
2、每个系统调用有一个对应的执行程序段;
3、每个系统调用要求一定数量的输入参数和
返回值;
4、整个系统有一个系统调用执行程序入口地
址表;