linux體系結(jié)構(gòu)與內(nèi)核結(jié)構(gòu)圖解
1.當(dāng)被問到Linux體系結(jié)構(gòu)(就是Linux系統(tǒng)是怎么構(gòu)成的)時,我們可以參照下圖這么回答:從大的方面講,Linux體系結(jié)構(gòu)可以分為兩塊:
本文引用地址:http://cafeforensic.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))
評論