操作系统运行机制学习卡片

📋
程序分类
内核程序 🏛️
  • 组成操作系统内核(Kernel)
  • 由操作系统开发者编写
  • 实现系统资源管理等核心功能
  • 最接近硬件的部分
  • 示例:Docker容器只需Linux内核即可运行
应用程序 💻
  • 运行在操作系统之上(如QQ、微信)
  • 普通程序员开发的程序
  • 通过操作系统使用硬件资源
⚙️
指令分类
特权指令 🔐
  • 内核程序可使用
  • 可能严重影响其他程序运行
  • 示例:内存清零指令
  • CPU设计时已划分指令类型
非特权指令 🔓
  • 所有程序可用
  • 不会造成系统级影响
  • 示例:加减乘除指令
🧠
CPU状态
内核态(管态) 👑
  • 运行内核程序
  • 可执行特权指令
  • PSW寄存器标志位为1(某些CPU可能相反)
用户态(目态) 👤
  • 运行应用程序
  • 只能执行非特权指令
  • PSW标志位为0
🔄
状态切换
内核态→用户态 ⬇️
  • 通过执行修改PSW的特权指令实现
  • 操作系统主动让出CPU使用权
  • 示例:开机初始化完成后运行用户程序
用户态→内核态 ⬆️
  • 中断触发(如非法特权指令)
  • 硬件自动完成状态切换
  • 示例:应用程序试图执行特权指令时
  • 这是用户态→内核态的唯一途径
⚠️
中断处理
  • CPU检测到中断后立即转入内核态
  • 停止当前程序,执行中断处理内核程序
  • 处理完毕后再交还CPU使用权
  • 典型场景:
  • 1. 开机时CPU处于内核态执行初始化
  • 2. 切换为用户态运行应用程序
  • 3. 应用程序触发中断(如非法操作)
  • 4. CPU自动切回内核态处理中断
  • 5. 处理完成后重新分配CPU资源
点击卡片翻转查看内容