linux體系結構與內核結構圖解
1.當被問到Linux體系結構(就是Linux系統(tǒng)是怎么構成的)時,我們可以參照下圖這么回答:從大的方面講,Linux體系結構可以分為兩塊:
本文引用地址:http://m.butianyuan.cn/article/201610/305658.htm(1)用戶空間:用戶空間中又包含了,用戶的應用程序,C庫
(2)內核空間:內核空間包括,系統(tǒng)調用,內核,以及與平臺架構相關的代碼
2.Linux體系結構要分成用戶空間和內核空間的原因:
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)數據訪問終止 abt(7)未定義指令異常 以(2)X86為例:X86實現(xiàn)了4個不同級別的權限,Ring0—Ring3 ;Ring0下可以執(zhí)行特權指令,可以訪問IO設備;Ring3則有很多的限制
2)所以,Linux從CPU的角度出發(fā),為了保護內核的安全,把系統(tǒng)分成了2部分;
3.用戶空間和內核空間是程序執(zhí)行的兩種不同狀態(tài),我們可以通過“系統(tǒng)調用”和“硬件中斷“來完成用戶空間到內核空間的轉移
4.Linux的內核結構(注意區(qū)分LInux體系結構和Linux內核結構)
評論