淺談Linux內核和CPU架構

Linux由用戶空間和內核兩部分組成,之因此有這兩部分構成,我想應該是因爲考慮CPU體系結構架構

嵌入式ARM處理器有七種工做狀態,分別是用戶模式、快速中斷、外部中斷、管理模式、數據訪問終止模式、系統模式和爲定義指令模式,ide

而X86體系結構的CPU則有RING0~RING3 四種工做模式,這些工做模式是有權限限制的,例如在訪問IO設備上it

Linux利用CPU這中架構,用戶空間和內核空間分別工做在不一樣的模式下,class

X86體系上,用戶代碼工做在RING3,而內核代碼則工做中在RING0上硬件

若是想切換工做狀態,能夠經過系統調用和硬件中斷兩種方式來觸發權限

例如在ARM中,咱們實用寄存器CPSR前四位來控制CPU的七種工做模式的轉換!程序

固然工做模式不是隨便切換的,例如在切換至中斷時候,在中斷向量表中指定的空間咱們要編寫中斷服務程序。im

 

下面是Linux內核的七大組成部分數據

相關文章
相關標籤/搜索