1. 核心態與使用者態的區別:
1) 核心態
的**不受任何限制,可以訪問
所有處理器指令集、記憶體位址以及i/o空間
。2)
使用者態的**只能訪問其位址空間的頁表項中規定的虛擬位址。
2. 使用者態到核心態的切換方式:
1) 系統呼叫(軟中斷的一種):由使用者程序主動發起;
2) 異常:當cpu在執行執行在使用者態下的程式時,發生了異常,切換到處理此異常的核心相關程式中,比如缺頁異常。被動;
3) 硬體中斷:被動。
3. 核心空間與使用者空間的劃分(32位):
核心空間:最高的1g位元組(從虛擬位址0xc0000000到0xffffffff);
使用者空間:
較低的3g位元組(從虛擬位址0x00000000到0xbfffffff)。
4.
cpu對處於核心態根據上下文環境進一步細分:
1) 核心態,執行於程序上下文,核心代表程序執行於核心空間。
2) 核心態,執行於中斷上下文,核心代表硬體執行於核心空間。
3) 使用者態,執行於使用者空間。
references:
1. 2.
核心空間與使用者空間
首先,這個概念的由來,我認為跟cpu的發展有很大關係,在目前cpu的保護模式下,系統需要對其賴以執行的資料進行保護,為了保證作業系統核心資料,我們把記憶體空間進行劃分,一部分為作業系統核心執行的空間,另一部分是應用程式執行的空間,所謂空間就是記憶體的位址。因此核心空間和使用者空間的概念就出現了。在3...
核心空間與使用者空間
關於虛擬記憶體有三點需要注意 上圖展示了整個程序位址空間的分布,其中4g的位址空間分為兩部分,在使用者空間內,對應了記憶體分布的五個段 資料段 段 bss段 堆 棧。在上篇文章中有詳細的介紹。這個圖示核心使用者空間的劃分,圖中最重要的就是高階記憶體的對映 其中kmalloc和vmalloc函式申請的...
linux核心空間與使用者空間
核心空間和使用者空間是作業系統理論的基礎之一,即核心功能模組執行在核心空間,而應用程式執行在使用者空間。現代的cpu都具有不同的操作模式,代表不同的級別,不同的級別具有不同的功能,在較低的級別中將禁止某些操作。linux系統設計時利用了這種硬體特性,使用了兩個級別,最高端別和最低級別,核心執行在最高...