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

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

本章需要掌握的内容

  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 存储键

相关推荐
嘿黑嘿呦18 天前
chap 8排序
算法·蓝桥杯·排序算法·软件工程
旧曲重听118 天前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
承渊政道18 天前
飞算JavaAI 智能引导背后的多 Agent 协作机制解析:从老旧 Java 后台升级到可运行工程
java·开发语言·spring boot·安全·intellij-idea·软件工程·ai编程
apcipot_rain18 天前
计科八股20260616(1)——堆存中位数、链表判环、黑白测试、敏捷开发与瀑布模型、配置管理、持续集成、池化
数据结构·算法·软件工程
lisw0519 天前
【计算机科学技术】路由器(route):概念、历史、内容与战略!
机器学习·智能路由器·软件工程
培培说证19 天前
大数据、人工智能、计算机、软件工程,到底怎么选?
大数据·人工智能·软件工程
文艺倾年19 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
郝学胜-神的一滴20 天前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
小程故事多_8020 天前
AI软件工程范式革命,终结五十年的“手工伪工程”时代
人工智能·软件工程
精益数智小屋20 天前
项目管理看板如何拆解任务进度?项目管理看板解决跨部门协作难题
大数据·人工智能·数据分析·云计算·软件工程