核心空間與使用者空間

2021-07-03 05:02:49 字數 693 閱讀 5743

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系統設計時利用了這種硬體特性,使用了兩個級別,最高端別和最低級別,核心執行在最高...