进程用户态 上下文切换需要保存哪些_漫话性能:CPU上下文切换

745468f9c72e6b797602207080ca61ec.png

序言

表弟:CPU平均负载​zhuanlan.zhihu.com

我们理解了平均负载( Load Average),并用三个案例展示了不同场景下平均负载升高的分析方法。这其中,多个进程(或线程)竞争 CPU 就是一个经常被我们忽视的问题。

进程在竞争 CPU 的时候并没有真正运行,为什么还会导致系统的负载升高呢?CPU 上下文切换就是罪魁祸首。我们都知道,Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。

而在每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好 CPU 寄存器和程序计数器(Program Counter,PC)。

CPU上下文

什么是CPU上下文呢?说直白点就是CPU的寄存器信息,以ARM为例,CPU寄存器信息如下所示:

11389d9193416a9d30bac9c1e9bd7c15.png

CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储 CPU 正在执行的指令位置、或者即将执行的下一条指令位置。它们都是 CPU 在运行任何任务前,必须的依赖环境,因此也被叫做 CPU 上下文。

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

进程上下文切换

进程上下文切换是指从一个进程切换到另一个进程运行。而系统调用过程中一直是同一个进程在运行。所以,系统调用过程通常称为特权模式切换,而不是上下文切换。但实际上,系统调用过程中,CPU 的上下文切换还是无法避免的。

特权模式

内核把虚拟地址空间划分为两个部分,因此能够保护各个系统进程,使之彼此隔离。所有的现代CPU 都提供了几种特权级别,进程可以驻留在某一特权级别。每个特权级别都有各种限制,例如对执行 某些汇编语言指令或访问虚拟地址空间某一特定部分的限制。IA-32体系结构使用4种特权级别构成的系统, 各级别可以看作是环。内环能够访问更多的功能,外环则较少,如图所示:

7e34afbf8971c609ceccb82acb5bb3b7.png

尽管英特尔处理器区分4种特权级别,但Linux只使用两种不同的状态:核心态和用户状态。 两种状态的关键差别在于对高于TASK_SIZE的内存区域的访问。简而言之,在用户状态禁止访问内核空间。 用户进程不能操作或读取内核空间中的数据,也无法执行内核空间中的代码。这是内核的专用领域。 这种机制可防止进程无意间修改彼此的数据而造成相互干扰。从用户状态到核心态的切换通过系统调用的特定转换手段完成。

换个角度看,也就是说,进程既可以在用户空间运行,又可以在内

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者: 李大潜 编 出版社: 高等教育 出版年: 2011-4 页数: 82 定价: 8.00元 丛书: 数学文化小丛书 ISBN: 9787040316728 内容简介 · · · · · · 《数学文化小丛书:漫话e》先简要介绍对数的基本概念及性质,阐述其在多方面的表现和应用,然后着重讨论自然对数与自然指数及它们的底e。说明e这一似乎难以捉摸的数其实并不神秘,而且以e为底的对数和指数都的确非常自然。同,《漫话e》展示了e以及自然对数函数与自然指数函数的重要性质与应用,并通过将这些函数拓展到复变数的情形,揭示了指数函数与三角函数之间的深刻联系。 作者简介 · · · · · · 李大潜,复旦大学数学科学学院教授,中国科学院院士,第三世界科学院院士,法国科学院外籍院士。曾任复旦大学研究生院院长、中国数学会副理事长、上海市科学技术协会副主席。现任中法应用数学研究所所长,教育部高等学校数学与统计学教学指导委员会主任委员,中国工业与应用数学学会(CSIAM)理事长,国际工业与应用数学联合会(ICIAM)抄行委员。 目录 · · · · · · 一、对数——化乘除为加减二、常用对数三、对数的尺度四、e的现身——从一个复利问题谈起五、自然指数函数和自然对数函数六、无所不在的e七、离不开e的奇妙曲线八、由实变数到复变数附表 常用对数的尾数表(兼作常用对数的反对数表)参考文献后记 丛书信息   数学文化小丛书 (共22册), 这套丛书还有 《对称与群》,《笛卡儿之梦(第二辑)》,《从赵爽弦图谈起》,《二战期密码决战中的数学故事》,《走近高斯》 等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值