微信公众号:路人zhang
网站救助计划

1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本


2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助网站倒闭后可联系站长领取本站pdf内容


3.若网站能存活下来,后续将会持续更新内容

当前位置: 计算机基础 > 操作系统 > 4.用户态和内核态是如何切换的?

先看为什么要进行切换

用户程序是跑在用户态下的,但有时候会遇到一些操作需要比较高的权限,比如申请内存等,这时候就需要转换到内核态去做。

用户态切换到内核态主要是通过中断异常陷入机制(访管指令)

内核态切换到用户态是通过设置程序状态字PSW

导致用户态切换到内核态最主要有三种场景

  • 系统调用,这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作。
  • 异常,当CPU执行运行在用户态下的程序时,发生了异常,这时会从当前的进程切换到处理异常的内核相关程序中,也就是从用户态切换到内核态,比如缺页异常
  • 外围设备的中断,当外围设备完成用户请求的操作后,会像CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序

本站链接:https://www.mianshi.online如需勘误或投稿,请联系微信:lurenzhang888


点击面试手册,获取本站面试手册PDF完整版