操作系统运行环境与运行机制(一)

第二章操作系统运行环境与运行机制(一)

本章需要掌握的内容

  1. 理解与操作系统相关的计算机硬件系统基本概念
  2. 理解内核态与用户态的区别
  3. 掌握重要寄存器的作用
  4. 理解中断/异常的概念和分类
  5. 掌握中断/异常处理过程
  6. 掌握中断响应过程和中断处理程序工作过程
  7. 分析特定体系结构的中断响应过程
  8. 分析特定操作系统下系统调用的工作过程
  9. 运用典型系统调用进程编程

第1节 计算机系统的层次结构

1.1 计算机系统

计算机系统是一种按照用户的要求 接收和存储信息自动进行数据处理并输出结果信息 的系统,包括硬件(子)系统软件(子)系统

1.硬件系统是计算机赖以工作的实体

2.软件系统保证计算机系统协调工作,各种 程序和数据 组成了计算机软件系统

3.在计算机系统中,集中了资源管理功能 和 控制程序执行功能 的软件,称为操作系统

1.2 计算机系统的层次结构图

第2节 中央处理器

2.1 处理器中的寄存器的特点

javascript 复制代码
1.提供了一定的存储能力
2.速度比主存储器快的多
3.造价很高,存储容量一般都很小

2.2 两类寄存器

  1. 用户可见寄存器 :高级语言编译器分配并使用,减少程序访问主存储器的次数

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

    常见的控制和状态寄存器

    • 程序计数器(PC:ProgramCouunter),记录将要取出的指令的地址
    • 指令寄存器(IR:Instruction Register),包含最近取出的指令
    • 程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等

2.3 指令执行的基本过程

两个步骤:

  1. 先从存储器中读取一条指令
  2. 然后解释并执行这条指令

一个这样的单条指令处理过程称为一个指令周期

程序的执行就是由不断取指令和执行指令的指令周期组成的,仅当关机、出错或者遇到停机指令时,程序才会停止

2.4 五类指令

  1. 访问存储器指令:负责处理器和存储器之间的数据传送
  2. I/0指令:负责处理器和I/0模块之间的数据传送和命令发送
  3. 算术逻辑指令(数据处理指令):用以执行有关数据的算术和逻辑操作
  4. 控制转移指令:这种指令可以指定一个新的指令的执行起点
  5. 处理器控制指令:这种指令用于修改处理器状态,改变处理器工作方式

2.5 特权指令和非特权指令

特权指令:只能由操作系统使用

  1. 使用多道程序设计技术的计算机的指令系统必须区分为特权指令非特权指令
  2. 使用特权指令,一般将引起一次处理器状态的切换
  3. 处理器通过特殊的机制,将处理器状态切换到操作系统运行的特权状态
  4. 然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入
  5. 处理器解释并执行命令
  6. CPU如何知道当前运行的是操作系统还是一般应用软件,则有赖于处理器状态的标识

2.6 处理器的状态

实例:

2.7 内核态和用户态的差别

当处理器处于内核态时

  1. 全部指令(包括特权指令)可以执行
  2. 可使用所有资源
  3. 具有改变处理器状态的能力

当处理器处于用户态时

  1. 只有非特权指令能执行
  2. 特权级别不同,可以运行的指令集合也不相同
  3. 特权级别越高,可以运行的指令集合也越大
  4. 高特权级别对应的可运行指令集合包含低特权级

2.8 CPU状态的转换

1.用户态到内核态的转换

其转换的唯一途径是通过中断

2.内核态到用户态的转换

可通过设置PSW指令(修改程序状态字)实现

2.9 限制用户程序执行特权指令

2.10 程序状态字psw

实例

第3节 存储技术

中央处理器能直接访问的唯一的存储空间是 主存储器

作业必须把它的程序和数据存放在 主存储器 中才能运行

多道程序系统,就会有若干个程序和相关的数据放到 主存储器

操作系统也要存放在 主存储器 中运行

操作系统要管理和保护这些程序和数据,使他们不受到破坏和互相影响

3.1 存储器的类型

两类存储器:1.读写型的存储器 2.只读型的存储器

读写型的存储器

把数据存入任一地址单元,在以后再把数据读出来,或者重新存入

RAM主要用作存放随机存取的程序的数据

只读型的存储器

3.2 存储器的层次结构

存储系统设计主要考虑的3个问题:容量速度成本

  • 容量:需求一般来说是无止境的
  • 速度:能匹配处理器的速度
  • 成本:其他部件相比应该在一个合适的范围之内

三个目标不可能同时达到最优,需要作权衡

存取速度越快!平均每比特价格越高,容量越小

存取速度越慢~平均每比特价格越低,容量会增大

3.3 存储键

相关推荐
CETOL公差分析17 小时前
CETOL 6σ 在汽车工程领域的深度应用:从底盘到三电系统的公差优化实践
汽车·软件工程
琢磨先生David19 小时前
未来十年软件工程专业就业前景
软件工程
Terrence Shen1 天前
关于传统软件工程后端技术和当代AI智能体agent构建的harness engineering的一点思考
人工智能·软件工程
Soari2 天前
告别玩具级 Demo!深度拆解 agents-towards-production,用硬核工程把 AI Agent 推向工业级生产线
人工智能·软件工程·llmops·架构优化·genai·aiagent·生产级部署
大迪deblog2 天前
系统架构设计-关键路径真题详解
软件工程
Soari2 天前
AI 编码智能体的“安全防弹衣”:深度拆解 agent-skills,构建百分百受信任的专业技能注册表
人工智能·网络安全·github·软件工程·aiagent·claudecode·agent-skills
Dola_Zou2 天前
医疗装备的出海安全底座
安全·自动化·软件工程·软件加密
启航挨踢2 天前
软考备考资料分享
软件工程
一路往蓝-Anbo3 天前
第四章:手撕协议栈 —— 缓冲区与结构体数据的 Mock 技巧
网络·stm32·单片机·嵌入式硬件·软件工程·tdd
一路往蓝-Anbo3 天前
第二章:隔离硬件 —— 利用 CMock 伪造 GPIO 与定时器
stm32·单片机·嵌入式硬件·软件工程·信息与通信·tdd