Linux中的上下文

上下文的种类:
用户级上下文:其实就是虚拟内存(mm_struct),包括数据段,代码段,堆栈,mmap等
内核级上下文:内核栈
硬件级:寄存器(PC,IP,BP,SP,CR3等)

上下文切换类型:
1.进程/线程上下文切换:1.2.3都会发生,上下文存储在用户栈
2.内核上下文切换:只发生2.3,上下文存储在内核栈,内核栈每个线程都有一个
3.中断上下文切换:只发生3,上下文存储在中断栈,中断栈一般每个处理器一个

补充:在发生虚拟内存的切换时,需要切换页表,而页表的切换一般会导致TLB无效,同时,由于高速缓存具有局部性,所以也会导致高速缓存cache无效

参考:
https://zhuanlan.zhihu.com/p/79772089
https://zhuanlan.zhihu.com/p/52845869
https://blog.csdn.net/xiaoaid01/article/details/51659037

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值