Linux 2:上下文切换(1)

CPU上下文是运行任务所需的状态信息,包括CPU寄存器和程序计数器。当操作系统进行上下文切换时,会保存并加载这些信息以在不同任务间切换。这种切换发生在进程上下文,确保任务状态的连续性。上下文切换涉及保存旧任务状态,加载新任务状态,并跳转到新任务的执行位置。此过程在多任务环境中频繁发生,影响系统的效率。
摘要由CSDN通过智能技术生成

什么是CPU上下文

Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。同时运行是这些任务系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。而每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好 CPU 寄存器和程序计数器(Program Counter,PC)。

  • CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。
  • 程序计数器,则是用来存储 CPU 正在执行的指令位置、或者即将执行的下一条指令位置。

它们都是 CPU 在运行任何任务前,必须的依赖环境,被叫做 CPU 上下文。

CPU上下文切换

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

CPU上下文切换的场景

进程上下文切换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值