第二章操作系统运行环境与运行机制(一)
本章需要掌握的内容
- 理解与操作系统相关的计算机硬件系统基本概念
- 理解内核态与用户态的区别
- 掌握重要寄存器的作用
- 理解中断/异常的概念和分类
- 掌握中断/异常处理过程
- 掌握中断响应过程和中断处理程序工作过程
- 分析特定体系结构的中断响应过程
- 分析特定操作系统下系统调用的工作过程
- 运用典型系统调用进程编程
第1节 计算机系统的层次结构
1.1 计算机系统
计算机系统是一种按照用户的要求 接收和存储信息 、自动进行数据处理并输出结果信息 的系统,包括硬件(子)系统 和软件(子)系统
1.硬件系统是计算机赖以工作的实体
2.软件系统保证计算机系统协调工作,各种 程序和数据 组成了计算机软件系统
3.在计算机系统中,集中了资源管理功能 和 控制程序执行功能 的软件,称为操作系统
1.2 计算机系统的层次结构图

第2节 中央处理器

2.1 处理器中的寄存器的特点
javascript
1.提供了一定的存储能力
2.速度比主存储器快的多
3.造价很高,存储容量一般都很小
2.2 两类寄存器
-
用户可见寄存器 :高级语言编译器分配并使用,减少程序访问主存储器的次数

-
控制和状态寄存器 :用于控制 处理器 操作,由特权操作系统代码使用。

常见的控制和状态寄存器
- 程序计数器(PC:ProgramCouunter),记录将要取出的指令的地址
- 指令寄存器(IR:Instruction Register),包含最近取出的指令
- 程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等
2.3 指令执行的基本过程
两个步骤:
- 先从存储器中读取一条指令
- 然后解释并执行这条指令
一个这样的单条指令处理过程称为一个指令周期
程序的执行就是由不断取指令和执行指令的指令周期组成的,仅当关机、出错或者遇到停机指令时,程序才会停止


2.4 五类指令
- 访问存储器指令:负责处理器和存储器之间的数据传送
- I/0指令:负责处理器和I/0模块之间的数据传送和命令发送
- 算术逻辑指令(数据处理指令):用以执行有关数据的算术和逻辑操作
- 控制转移指令:这种指令可以指定一个新的指令的执行起点
- 处理器控制指令:这种指令用于修改处理器状态,改变处理器工作方式
2.5 特权指令和非特权指令
特权指令:只能由操作系统使用
- 使用多道程序设计技术的计算机的指令系统必须区分为
特权指令和非特权指令 - 使用特权指令,一般将引起一次处理器状态的切换
- 处理器通过特殊的机制,将处理器状态切换到操作系统运行的特权状态
- 然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入
- 处理器解释并执行命令
- CPU如何知道当前运行的是操作系统还是一般应用软件,则有赖于处理器状态的标识
2.6 处理器的状态

实例:

2.7 内核态和用户态的差别
当处理器处于内核态时
- 全部指令(包括特权指令)可以执行
- 可使用所有资源
- 具有改变处理器状态的能力
当处理器处于用户态时
- 只有非特权指令能执行
- 特权级别不同,可以运行的指令集合也不相同
- 特权级别越高,可以运行的指令集合也越大
- 高特权级别对应的可运行指令集合包含低特权级
2.8 CPU状态的转换
1.用户态到内核态的转换
其转换的唯一途径是通过中断
2.内核态到用户态的转换
可通过设置PSW指令(修改程序状态字)实现
2.9 限制用户程序执行特权指令

2.10 程序状态字psw

实例

第3节 存储技术
中央处理器能直接访问的唯一的存储空间是 主存储器
作业必须把它的程序和数据存放在 主存储器 中才能运行
多道程序系统,就会有若干个程序和相关的数据放到 主存储器 中
操作系统也要存放在 主存储器 中运行
操作系统要管理和保护这些程序和数据,使他们不受到破坏和互相影响
3.1 存储器的类型
两类存储器:1.读写型的存储器 2.只读型的存储器
读写型的存储器
把数据存入任一地址单元,在以后再把数据读出来,或者重新存入
RAM主要用作存放随机存取的程序的数据
只读型的存储器

3.2 存储器的层次结构
存储系统设计主要考虑的3个问题:容量,速度,成本
- 容量:需求一般来说是无止境的
- 速度:能匹配处理器的速度
- 成本:其他部件相比应该在一个合适的范围之内
三个目标不可能同时达到最优,需要作权衡
存取速度越快!平均每比特价格越高,容量越小
存取速度越慢~平均每比特价格越低,容量会增大

3.3 存储键
