从零开始理解Linux中断架构(6)---Linux执行上下文

        因为中断会引起Linux从用户态切入到内核态,为了描述中断程序运行的外围环境,我们需要理解Linux中执行上下文这一概念。

1 执行上下文的基本理念

        我们先抛开Linux复杂的框架,回到最基本的原型系统,后续复杂的处理都是在基本的原型系统上一个一个版本生长出来的。所谓的把程序放到CPU上去执行,本质是为PC指针赋值,让CPU开始进入目标程序逻辑并被这个程序逻辑俘获。

        CPU被俘获就是当前PC指针只能根据当前代码逻辑跳转(顺序执行,无条件转移,条件转移,函数调用,函数返回),这个俘获体现出相当的本地性,如有一个while(1){...},PC就会在这个while loop里面不停的转圈。每一个进程本质就是一个大的loop,如果不出意外,CPU一旦开始进入这个loop,就会一直被这个loop俘获,没有意外产生,PC永远都不会跳出loop,这个是由程序逻辑的连贯性和完备性所决定的。

        PC指针被俘获体现出的本地性,让应用程序的执行逻辑产生了“我"(this)的感觉:CPU在忠实的执行我的代码,我决定了PC的下一条指令,各个运算的结果跟我的设计一致,我掌控了这一切。

只要让CPU执行满足:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值