新聞中心

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

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

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

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

本文引用地址:http://www.butianyuan.cn/article/201610/305658.htm

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

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

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

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

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

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

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

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

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



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

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

關(guān)閉