第一章 03操作系统运行环境(王道)

一、操作系统运行机制

1.1 知识总览

第一章 03操作系统运行环境(王道)

1.2 程序是如何运行的?

第一章 03操作系统运行环境(王道)
  • 编译转换:高级语言代码(如C语言)经编译后转换为CPU可执行的二进制机器指令
  • 执行本质:程序运行即CPU顺序执行机器指令的过程,如int x=1; x++;可能对应多条机器指令
  • 指令定义:让CPU识别和执行的最基本命令,如加法、赋值等底层操作
第一章 03操作系统运行环境(王道)
  • 关键区分:
    • 机器指令:二进制形式,CPU直接执行的基本操作(本节重点)
    • 命令接口:如Linux的ls、cd等交互式命令,属于操作系统提供的用户接口

1.3 内核程序与应用程序

第一章 03操作系统运行环境(王道)
  • 应用程序:普通程序员开发的程序(如QQ、微信),运行在操作系统之上
  • 内核程序:操作系统开发者编写的程序,组成操作系统内核(kernel),最接近硬件的部分
    • 实现系统资源管理,是操作系统最核心的部分(如Docker仅需Linux内核)

1.4 特权指令与非特权指令

第一章 03操作系统运行环境(王道)
  • 特权指令:仅内核程序可使用(如内存清零),会影响其他程序运行
  • 非特权指令:所有程序可使用(如加减乘除运算指令)

1.5 内核态与用户态(CPU两种状态)

第一章 03操作系统运行环境(王道)
  • 状态标识:通过PSW(程序状态字寄存器)的二进制位标记(1-内核态/0-用户态)
  • 状态别名:
    • 内核态:核心态/管态
    • 用户态:目态
  • 两种状态
    • 处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令
    • 处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令

1.6 内核态和用户态的切换

典型案例:黑客在应用程序植入特权指令→触发中断→CPU切换至内核态执行处理程序

1、刚开机时,CPU处于“内核态”,操作系统内核程序先在CPU上运行

第一章 03操作系统运行环境(王道)

2、开机完成后,用户可以启动某个应用程序

3、操作系统内核程序在合适的时候主动让出CPU,让该程序在CPU中运行

操作系统内核让出CPU之前,会用一条特权指令把程序状态寄存器(PSW)的标志位设置为用户态

第一章 03操作系统运行环境(王道)
用户态

4、应用程序运行在“用户态”

5、此时,一位黑客在应用程序中植入了一条特权指令,企图被坏系统…..

6、CPU发现接下来要执行的这条指令是特权指令,但是自己又处于“用户态“

前面提到的 用户态只能执行非特权指令

7、这个非法事件会引发一个中断信号

第一章 03操作系统运行环境(王道)

CPU检测到中断信号后,会立即变为“核心态”,并停止运行当前的应用程序,转而运行处理中断信号的内核程序

8、“中断”使操作系统再次夺回CPU的控制权

9、操作系统会对引发中断的事件进行处理,处理完了再把CPU使用权交给别的应用程序

对以上内容进行总结:

第一章 03操作系统运行环境(王道)

1.7 操作系统运行机制知识回顾

第一章 03操作系统运行环境(王道)

二、中断和异常

2.1 知识总览

第一章 03操作系统运行环境(王道)

2.2 中断的作用

第一章 03操作系统运行环境(王道)
  • 核心功能:中断是操作系统内核重新夺回CPU使用权的唯一途径
  • 状态转换:使CPU由用户态变为内核态,实现特权级切换
  • 系统意义:
    • 没有中断机制就无法实现多道程序并发
    • 是操作系统得以存在的基础技术支撑
  • 运行机制:
    • 内核程序通过特权指令主动让出CPU使用权
    • 通过中断机制强制收回CPU控制权

2.3 中断的类型

第一章 03操作系统运行环境(王道)
第一章 03操作系统运行环境(王道)

2.3.1 内中断(异常、广义中断)

  • 本质特征:中断信号来源于CPU内部,与当前执行指令直接相关
  • 别称:又称异常(exception),是教材和考试中的标准术语
  • 例1:执行特权指令 – 应用程序在用户态尝试执行特权指令
    • 处理流程:
      • CPU检测到非法特权指令
      • 触发中断信号拒绝执行
      • 自动切换至内核态
      • 执行对应的内核处理程序
    • 系统响应:管理者重新获得CPU控制权
  • 例2:执行非特权指令 – 执行除法指令时发现除数为0
    • 若当前执行的指令是非法的,则会引发一个中断信号
  • 例3:有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令–陷入指令,该指令会引发一个内部中断信号
    • 系统调用也就是陷入指令完成

陷入指令拓展

  • 特殊指令:陷入指令(trap)引发内中断
    • 指令特性:
      • 非特权指令,用户态可执行
      • 用于主动请求内核服务
    • 应用场景:系统调用的实现基础
    • 处理流程:
      • 应用程序执行陷入指令
      • 产生内部中断信号
      • CPU切换至内核态处理请求

2.3.1 外中断(中断)

例1:时钟中断–由时钟部件发来的中断信号

第一章 03操作系统运行环境(王道)
  • 硬件来源:时钟部件定期(如50ms)发送中断信号
  • 并发实现:
    • 应用程序1运行50ms后收到中断
    • CPU切换至内核态处理中断
    • 内核调度程序2运行
    • 循环切换实现并发
  • 检测机制:CPU在每个指令周期末尾检查外中断

例2:I/O中断–由输入/输出设备发来的中断信号

如打印机打印完成,处理I/O中断的内核程序

2.4 中断机制的基本原理

第一章 03操作系统运行环境(王道)
  • 处理流程:
    • CPU检测中断信号
    • 查询中断向量表
    • 定位处理程序入口
  • 硬件实现:
    • 内中断:指令执行时立即检查
    • 外中断:指令周期末尾例行检查
  • 中断向量表存储各类中断处理程序指针

2.5 中断和异常的知识点回顾

第一章 03操作系统运行环境(王道)

三、系统调用

3.1 知识总览

第一章 03操作系统运行环境(王道)

3.2 什么是系统调用?

第一章 03操作系统运行环境(王道)
  • 定义: 系统调用应用程序请求操作系统内核服务编程接口,由操作系统向上层提供的一组服务接口组成。
  • 作用: 作为用户程序和硬件之间的桥梁,提供简单易用的服务接口,保证系统稳定性和安全性。

3.2 系统调用与库函数的区别

第一章 03操作系统运行环境(王道)
  • 层级关系:
    • 系统调用是操作系统直接提供的底层接口
    • 库函数可能封装系统调用(如文件操作)或独立实现(如数学运算)
  • 使用场景:
    • 必须使用系统调用的场景:涉及共享资源(设备、文件、内存等)的操作
    • 可不使用系统调用的场景:纯计算类操作(如数学运算)

3.3 应用案例

为什么系统调用是必须的?

第一章 03操作系统运行环境(王道)
  • 场景描述: WPS和Word两个进程并发请求打印机资源
  • 问题现象: 无系统调用管理时,打印内容会混杂
  • 解决方案:
    • 操作系统统一管理打印机资源
    • 进程必须通过系统调用申请资源
    • 内核协调各进程的资源使用顺序
  • 核心结论: 共享资源必须通过系统调用来管理,保证互斥访问

3.4 什么功能需要用到系统调用

第一章 03操作系统运行环境(王道)

凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。

3.5 系统调用的过程

第一章 03操作系统运行环境(王道)
第一章 03操作系统运行环境(王道)
  • 执行流程
    • 用户态程序执行传参指令(参数存入寄存器)
    • 执行陷入指令(trap/访管指令)
    • CPU检测到内中断,转入核心态
    • 执行系统调用入口程序
    • 根据参数调用具体处理程序
    • 处理完成后返回用户态

重点知识:

1、陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态

第一章 03操作系统运行环境(王道)

2、发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行

3.6 系统调用知识点回顾

第一章 03操作系统运行环境(王道)

本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客

(2)
何大锤的头像何大锤管理团队

相关推荐

  • 第一章 计算机系统概述(里昂习题)

    一、操作系统概述 1.1 错题 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 真题 1.12 错题 1.13 二、操作系统的运行环境 2.1 系统调用 错题 2.2 2.3 错题 2.4 2.5 2.6 2.7 错题 2.8 2.9 2.10 2.11 错题 2.12 2.13 错题 2.14 2.15 错题 I和4由硬…

    2025年8月27日
    900
  • 第一章 习题集

    一、重要知识点 二、错题汇总 三、习题 – 王道 四、习题 – 梁红兵 1.设计现代OS的主要目标是什么? (1)有效性 (2)方便性 (3)可扩充性 (4)开放性 2.OS的作用可表现在哪几个方面? (1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 3.为什么说O…

    2025年7月2日
    400
  • 第一章 06虚拟机(王道)

    一、传统计算机 二、虚拟机(VM、VMM) 2.1 虚拟机的定义 2.2 第一类虚拟机管理程序 2.3 第二类虚拟机管理程序 三、两类虚拟机管理程序的对比

    2025年6月23日
    200
  • 第一章 05操作系统的引导(Boot)(王道)

    一、知识总览 操作系统引导(boot)–开机的时候,怎么让操作系统运行起来? 二、操作系统引导理解 1、初始状态: 新购买的磁盘内部初始为空,类似于空钱包,需要安装操作系统后才能使用。 2、安装操作系统后、开机过程 操作系统要启动,数据先要放入主存中 CPU – RAM \ ROM组成 RAM程序一关机里面的数据清空 ROM芯片存储的…

    2025年6月23日
    800
  • 第一章 04操作系统体系结构(王道)

    一、操作系统体系结构知识总览 二、 操作系统的内核 2.1 内核的概念 2.2 大内核与微内核的区别 2.3 内核知识点回顾 三、操作系统结构 3.1 操作系统结构 -分层结构 内核分多层,每层可单向调用更低一层提供的接口 分层结构的优点: 1、便于调试和验证,自底向上逐层调式验证(新增大纲) 2、易扩充和易维护,各层之间调用接口清晰固定 分层结构的缺点: …

    2025年6月23日
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
网站建设中ing......