(1)用戶空間:用戶空間中又包含了,用戶的應用程序,C庫
(2)內核空間:內核空間包括,系統調用,內核,以及與平臺架構相關的代碼
2.Linux體系結構要分成用戶空間和內核空間的原因:
1)現代CPU通常都實現了不同的工作模式,
以ARM爲例:ARM實現了7種工作模式,不同模式下CPU可以執行的指令或者訪問的寄存器不同:
(1)用戶模式 usr (2)系統模式 sys(3)管理模式 svc(4)快速中斷 fiq(5)外部中斷 irq(6)數據訪問終止 abt(7)未定義指令異常 以(2)X86爲例:X86實現了4個不同級別的權限,Ring0—Ring3 ;Ring0下可以執行特權指令,可以訪問IO設備;Ring3則有很多的限制
2)所以,Linux從CPU的角度出發,爲了保護內核的安全,把系統分成了2部分;
3.用戶空間和內核空間是程序執行的兩種不同狀態,我們可以通過“系統調用”和“硬件中斷“來完成用戶空間到內核空間的轉移
4.Linux的內核結構(注意區分LInux體系結構和Linux內核結構)