CPU上下文你真的理解了吗

1. 什么是CPU上下文

CPU 寄存器和程序计数器,都是 CPU 在运行任何任务前必须的依赖环境,被叫做CPU上下文。

  • CPU寄存器: CPU 内置的容量小、但速度极快的内存。
  • 程序计数器:存储 CPU 正在执行的指令位置、或者即将执行的下一条指令位置。

2. 什么是CPU上下文切换

把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务。而这些保存下来的上下文,会存储在系统内核中,并在任务重新调度执行时再次加载进来。这样就能保证任务原来的状态不受影响,让任务看起来还是连续运行。

3. CPU上下文切换的类型有哪些

  • 进程上下文切换
  • 线程上下文切换
  • 中断上下文切换

4. 如何从用户态到内核态的转变

需要通过系统调用来完成。

5. 一次系统调用涉及几次CPU上下文切换

涉及两次CPU上下文切换:用户态到内核态,内核态到用户态

6. 系统调用具体过程

  • 保存CPU寄存器里原来用户态的指令位置
  • 为了执行内核态代码,CPU 寄存器需要更新为内核态指令的新位置,跳转到内核态运行内核任务
  • 当系统调用结束后,CPU 寄存器需要恢复原来保存的用户态,然后再切换到用户空间,继续运行进程

7.系统调用和进程上下文切换的关系

  • 系统调用过程,通常称为特权模式切换,而不是上下文切换,系统调用属于同进程内的 CPU 上下文切换;进程上下文切换属于不同进
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值