一、计算机系统概述——1.3、操作系统运行环境
一、处理器运行模式
- 特权指令:不允许用户直接使用的指令。如I/O指令、置中断指令
- 非特权指令:允许用户直接使用的指令。
- CPU的运行模式分为用户态(目态)和核心态(管态、内核态)。用户态仅运行非特权指令,核心态可运行特权指令和非特权指令。
操作系统内核包括:
1、时钟管理
2、中断机制
3、原语:处于操作系统最底层,是最接近硬件的部分;其运行具有原子性,操作只能一气呵成;定义原语的直接方法是关闭中断。
4、系统控制的数据结构及处理
综上:核心态指令实际上包括系统调用类指令和一些针对时钟、中断和原语的操作指令。
二、中断和异常的概念
中断:也称外中断,指来自CPU执行指令外部的事件。如设备发出的I/O结束中断;时钟中断
异常:也称内中断,指来自CPU执行指令内部的事件。如程序的非法操作码、地址越界、运算溢出、虚存系统的缺页、专门的陷入指令引起的事件。
三、系统调用
系统调用:是指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。
系统调用要运行在核心态。
用户可以执行陷入指令(又称访管指令或trap指令)来发起系统调用。陷入指令是唯一一个只能在用户态执行而不可在核心态执行的指令。
trap指令在用户态执行,可将CPU的运行模式由用户态转为核心态。由于访管指令是在用户态使用的,所以其不可能是特权指令。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)