加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

深入分析CPU上下文切换

发布时间:2021-05-28 21:46:02 所属栏目:移动互联 来源:互联网
导读:什么是CPU上下文 我们都知道,Linux 是一个多使命操纵体系,它支持宏大于 CPU 数目的使命同时运行。虽然,这些使命现实上并不是真的在同时运行,而是由于体系在

我们都知道,Linux 是一个多使命操纵体系,它支持宏大于 CPU 数目的使命同时运行。虽然,这些使命现实上并不是真的在同时运行,而是由于体系在很短的时刻内,将 CPU 轮番分派给它们,造成多使命同时运行的错觉。

而在每个使命运行前,CPU 都必要知道使命从那边加载、又从那边开始运行,也就是说,必要体系事先帮它配置好 CPU 寄存器和措施计数器(Program Counter,PC)。

CPU 寄存器,是 CPU 内置的容量小、但速率极快的内存。而措施计数器,则是用来存储 CPU 正在执行的指令位置、可能即将执行的下一条指令位置。它们都是 CPU 在运行任何使命前,必需的依靠情形,因此也被叫做 CPU 上下文。

而这些生涯下来的上下文,会存储在体系内核中,并在使命从头调治执行时再次加载进来。这样就能担保使命原本的状态不受影响,让使命看起来照旧持续运行。

按照使命的差异,CPU的上下文切换可以分为差异的场景,也就是历程上下文切换、线程上下文切换、间断上下文切换。

历程上下文切换

Linux 凭证特权品级,把历程的运行空间分为内核空间和用户空间,别离对应着下图中, CPU 特权品级的 Ring 0 和 Ring 3。

内核空间(Ring 0)具有***权限,可以直接会见全部资源;

用户空间(Ring 3)只能会见受限资源,不能直接会见内存等硬件装备,必需通过体系挪用陷入到内核中,才气会见这些特权资源

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读