CPU上下文切换原理

CPU上下文:
把前一个任务的CPU上下文(CPU寄存器和程序计数器)保存起来,加载新任务的CPU上下文,执行新任务。

任务:
1)进程;
2)线程;
3)硬件中断,中断处理程序的调用;

CPU特权模式
1)Ring0–内核空间;
2)Ring3–用户空间;
进程可以运行在用户空间和内核空间。通过系统调用实现进程用户态到内核态的切换。系统调用会发生CPU上下文切换,但是不涉及虚拟内存等进程用户态的资源,不会切换进程,也叫做特权模式切换。

进程上下文:
1)虚拟内存;
2)栈;
3)全局变量;
4)内核堆栈;
5)寄存器;

进程上下文切换:
1)时间片用完;
2)系统资源不足被挂起;
3)sleep主动挂起;
4)优先级进程抢占,当前进程被挂起;
5)硬件中断,当前进程被挂起;

线程上下文:
1)线程私有数据;
2)寄存器;

线程上下文切换:
1)同一进程的线程;
2)不同进程的线程;

中断上下文:
1)寄存器;
2)内核堆栈;
3)硬件中断参数;

中断上下文切换:
响应硬件中断,执行中断处理程序,和进程上下文切换不同,不需要保存和恢复原来进程的虚拟内存、全局变量等资源。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值