電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 77|回復(fù): 0
收起左側(cè)

Linux上下文切換的原理

[復(fù)制鏈接]

418

主題

418

帖子

4293

積分

四級(jí)會(huì)員

Rank: 4

積分
4293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-12-1 11:45:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)注+星標(biāo)公眾號(hào),不錯(cuò)過(guò)精彩內(nèi)容
來(lái)源 | Linux云計(jì)算網(wǎng)絡(luò)

之前給大家分享過(guò)嵌入式編程上下文切換的一種方案,今天給大家分享一下Linux系統(tǒng)中上下文切換的原理。


我們都知道 Linux 是一個(gè)多任務(wù)操作系統(tǒng),它支持的任務(wù)同時(shí)運(yùn)行的數(shù)量遠(yuǎn)遠(yuǎn)大于 CPU 的數(shù)量。當(dāng)然,這些任務(wù)實(shí)際上并不是同時(shí)運(yùn)行的(Single CPU),而是因?yàn)橄到y(tǒng)在短時(shí)間內(nèi)將 CPU 輪流分配給任務(wù),造成了多個(gè)任務(wù)同時(shí)運(yùn)行的假象。
CPU 上下文(CPU Context)在每個(gè)任務(wù)運(yùn)行之前,CPU 需要知道在哪里加載和啟動(dòng)任務(wù)。這意味著系統(tǒng)需要提前幫助設(shè)置 CPU 寄存器程序計(jì)數(shù)器
CPU 寄存器是內(nèi)置于 CPU 中的小型但速度極快的內(nèi)存。程序計(jì)數(shù)器用于存儲(chǔ) CPU 正在執(zhí)行的或下一條要執(zhí)行指令的位置。
它們都是 CPU 在運(yùn)行任何任務(wù)之前必須依賴的依賴環(huán)境,因此也被稱(chēng)為 “CPU 上下文”。如下圖所示:

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表