新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > linux體系結(jié)構(gòu)與內(nèi)核結(jié)構(gòu)圖解

linux體系結(jié)構(gòu)與內(nèi)核結(jié)構(gòu)圖解

作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

1.當被問到Linux體系結(jié)構(gòu)(就是Linux系統(tǒng)是怎么構(gòu)成的)時,我們可以參照下圖這么回答:從大的方面講,Linux體系結(jié)構(gòu)可以分為兩塊:

本文引用地址:http://2s4d.com/article/201610/305658.htm

(1)用戶空間:用戶空間中又包含了,用戶的應(yīng)用程序,C庫

(2)內(nèi)核空間:內(nèi)核空間包括,系統(tǒng)調(diào)用,內(nèi)核,以及與平臺架構(gòu)相關(guān)的代碼

2.Linux體系結(jié)構(gòu)要分成用戶空間和內(nèi)核空間的原因:

1)現(xiàn)代CPU通常都實現(xiàn)了不同的工作模式,

以ARM為例:ARM實現(xiàn)了7種工作模式,不同模式下CPU可以執(zhí)行的指令或者訪問的寄存器不同:

(1)用戶模式 usr (2)系統(tǒng)模式 sys(3)管理模式 svc(4)快速中斷 fiq(5)外部中斷 irq(6)數(shù)據(jù)訪問終止 abt(7)未定義指令異常 以(2)X86為例:X86實現(xiàn)了4個不同級別的權(quán)限,Ring0—Ring3 ;Ring0下可以執(zhí)行特權(quán)指令,可以訪問IO設(shè)備;Ring3則有很多的限制

2)所以,Linux從CPU的角度出發(fā),為了保護內(nèi)核的安全,把系統(tǒng)分成了2部分;

3.用戶空間和內(nèi)核空間是程序執(zhí)行的兩種不同狀態(tài),我們可以通過“系統(tǒng)調(diào)用”和“硬件中斷“來完成用戶空間到內(nèi)核空間的轉(zhuǎn)移

4.Linux的內(nèi)核結(jié)構(gòu)(注意區(qū)分LInux體系結(jié)構(gòu)和Linux內(nèi)核結(jié)構(gòu))



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉