💻
Operating System
  • 操作系统
  • 第一章:操作系统概述
    • 1. 操作系统概论 & 功能
    • 2. 操作系统的四个特征
    • 3. 操作系统的发展 & 分类
    • 4. 操作系统的运行机制
    • 5. 中断 & 异常
    • 6. 系统调用
    • 7. 操作系统的体系结构
  • 第二章:进程管理
    • 1. 进程的概念 & 组成 & 特征
    • 2. 进程的状态 & 转换
    • 3. 进程控制
    • 4. 进程通信
    • 5. 线程
    • 6. 进程的调度
    • 7. 进程同步 & 互斥
    • 8. 死锁
  • 第三章:内存管理
    • 1. 内存的基础知识
    • 2. 内存空间的分配与回收
    • 3. 内存空间的扩充
    • 4. 地址转换
    • 5. 存储保护
  • 第四章:文件管理
    • 1. 文件的基本概念 & 属性
    • 2. 文件的逻辑结构
    • 3. 文件的物理结构
    • 4. 文件的目录结构
    • 5. 空闲分区管理
    • 6. 文件的基本操作
    • 7. 文件共享
    • 8. 文件保护
    • 9. 磁盘管理
Powered by GitBook
On this page
  • 1. 内核程序 v.s. 应用程序
  • 2. 特权指令 v.s. 非特权指令
  • 3. 内核态 v.s. 用户态
  • 4. 内核态 & 用户态切换

Was this helpful?

  1. 第一章:操作系统概述

4. 操作系统的运行机制

Previous3. 操作系统的发展 & 分类Next5. 中断 & 异常

Last updated 4 years ago

Was this helpful?

1. 内核程序 v.s. 应用程序

普通程序员写的程序就是“应用程序”

微软、苹果有一帮人负责实现操作系统,他们写的是“内核程序”

由很多内核程序组成了“操作系统内核”,或简称“内核(Kernel)”

内核是操作系统最重要最核心的部分,也是最接近硬件的部分。甚至可以说,一个操作系统只要有内核就够了(eg:Docker—>仅需Linux内核)

操作系统的功能未必都在内核中,如图形化用户界面GUI

2. 特权指令 v.s. 非特权指令

在 CPU 设计和生产时就划分了特权指令和非特权指令,因此 CPU 执行一条指令前就可以判断出其类型

应用程序只能使用“非特权指令”,如:加法指令、减法指令等

操作系统内核作为“管理者”,有时会让 CPU 执行一些“特权指令”,如:内存清零指令。这些指令影响重大,只允许“管理者” —— 即操作系统内核来使用

3. 内核态 v.s. 用户态

处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令

处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令

CPU 中有一个寄存器叫程序状态寄存器(PSW),其中有个二进制位,1 表示内核态,0 表示用户态

别名:内核态 = 核心态 = 管态;用户态 = 目态

4. 内核态 & 用户态切换

内核态 —> 用户态:执行一条特权指令 —— 修改 PSW 的标志位为“用户态”,这个动作意味着操作系统将主动让出 CPU 使用权

用户态 —> 内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回 CPU 的使用权

触发中断信号:除了非法使用特权指令之外,但凡需要操作系统介入的地方,都会触发中断信号