当前位置: 首页 > news >正文

用户态内核态切换

文章目录

      • 用户态
      • 内核态
      • 切换时机

内核态和用户态是操作系统中两种不同的运行级别,它们的主要区别如下

用户态

  • 定义:用户态是操作系统提供给用户程序的运行环境。在用户态下,程序所能访问的资源和执行的操作受到严格限制,以防止用户程序对系统造成破坏。
  • 特点
    • 资源受限:用户态程序只能访问分配给自己的内存空间,不能直接访问系统内核的内存空间和硬件设备等资源。
    • 指令受限:只能执行非特权指令,如普通的算术运算、逻辑运算、数据传输等指令。如果用户态程序试图执行特权指令,将会引发处理器的异常,操作系统会捕获并进行相应处理。

内核态

  • 定义:内核态是操作系统内核运行的状态,具有最高的权限,可以访问系统的所有资源,包括硬件设备、内存空间等,并能执行所有指令,包括特权指令。
  • 特点
    • 资源不受限:内核态下的程序可以访问系统中的任何资源,包括其他进程的内存空间,能够直接与硬件设备进行交互,如读写磁盘、控制网络接口等。
    • 执行特权指令:可以执行如设置处理器状态、开启或关闭中断、访问设备控制寄存器等特权指令,这些指令对于系统的底层控制和资源管理至关重要。

切换时机

  • 系统调用:当用户态程序需要请求操作系统提供服务时,会通过系统调用陷入内核态。例如,用户程序需要读取文件数据,就会调用 read 系统调用,此时处理器会从用户态切换到内核态,由内核执行文件读取的相关操作,完成后再返回用户态。
  • 中断:硬件设备产生中断信号时,如定时器中断、键盘输入中断等,会使处理器暂停当前用户态程序的执行,切换到内核态来处理中断。内核会根据中断类型执行相应的中断处理程序,处理完成后再返回被中断的用户态程序继续执行。
  • 异常:当用户态程序发生错误或异常情况时,如除数为零、访问非法内存地址等,会触发异常机制,导致处理器切换到内核态。内核会对异常进行处理,可能会终止出错的程序,或者采取其他恢复措施,然后根据情况决定是否返回用户态。

相关文章:

  • 什么?获取到了未知的复位原因?
  • SOFABoot-07-版本查看
  • Linux系统管理与编程08:任务驱动综合应用
  • SAP SD学习笔记33 - 预詑品(寄售物料),预詑品引渡(KB),预詑品出库(KE)
  • S32k3XX MCU时钟配置
  • Gone v2 使用 goner/viper/remote链接远程的配置中心,支持etcd、consul、firestore、nats
  • 【Linux 下的 bash 无法正常解析, Windows 的 CRLF 换行符问题导致的】
  • 记忆力训练day24
  • C语言入门教程100讲(3)代码注释
  • 【免费】2000-2019年各省地方财政印花税数据
  • k8s--集群内的pod调用集群外的服务
  • 无法写入文件:(FileSystemError): Error: EPERM: operation not permitted, open...)
  • 【即插即用涨点模块】LSK大选择性核:自适应地捕捉遥感图像目标,实现暴力涨点【附源码+注释】
  • Android Compose 线性布局(Row、Column)源码深度剖析(十)
  • 【C#】WinForm自定义控件及窗体
  • Shell正则表达式
  • Java锁等待唤醒机制
  • 【Linux】交叉编译2
  • 前端Wind CSS面试题及参考答案
  • 【数据分享】2014-2024年我国各城市逐年空气质量指数(AQI)数据
  • 市场监管总局召开平台企业支持个体工商户发展座谈会
  • 多条跨境铁路加速推进,谁是下一个“超级枢纽”?
  • 学习教育期间违规吃喝,李献林、叶金广等人被通报
  • 广州一饮品店取名“警茶”?市监局:取名没问题,但图像会产生误解
  • 美国三大指数全线高开:纳指涨逾4%,大型科技股、中概股大涨
  • 江西吉水通报一男子拒服兵役:不得考公,两年内经商、升学等受限