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