电子产业一站式赋能平台

PCB联盟网

搜索
查看: 18|回复: 0
收起左侧

Linux原来这样完成了多任务切换

[复制链接]

498

主题

498

帖子

4895

积分

四级会员

Rank: 4

积分
4895
发表于 2025-1-3 09:01:00 | 显示全部楼层 |阅读模式
点击上方“C语言与CPP编程”,选择“关注/置顶/星标公众号
干货福利,第一时间送达!
最近有小伙伴说没有收到当天的文章推送,这是因为微信更改了推送机制,导致没有星标公众号的小伙伴刷不到当天推送的文章,无法接收到一些比较实用的知识和资讯。所以建议大家加个星标??,以后就能第一时间收到推送了。

mjvfwohxmyq64046196631.png

mjvfwohxmyq64046196631.png

我们都知道 Linux 是一个多任务操作系统,它支持的任务同时运行的数量远远大于 CPU 的数量。当然,这些任务实际上并不是同时运行的(Single CPU),而是因为系统在短时间内将 CPU 轮流分配给任务,造成了多个任务同时运行的假象。

u1aourtwj2t64046196731.png

u1aourtwj2t64046196731.png

CPU 上下文(CPU Context)在每个任务运行之前,CPU 需要知道在哪里加载和启动任务。这意味着系统需要提前帮助设置 CPU 寄存器程序计数器
CPU 寄存器是内置于 CPU 中的小型但速度极快的内存。程序计数器用于存储 CPU 正在执行的或下一条要执行指令的位置。
它们都是 CPU 在运行任何任务之前必须依赖的依赖环境,因此也被称为 “CPU 上下文”。如下图所示:
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表