核心態與核心態
處理機(cpu)在執行使用者程式和執行作業系統核心程式時的模式是有區別的,這是因為處理機在執行系統核心程式時,可以獲得更多的特權,以便作業系統程式實現更強的功能,這叫做核心態。
而在執行使用者程式的時候,僅有有限的許可權,這樣保障了系統的安全性,這是使用者態。
劃分理由
劃分特權與非特權態的理由簡單的理解,是為了保護作業系統和作業系統的資料**不被可能出錯的使用者程式破壞,使用者程式是不可靠的,不能賦予太大特權。
處理機制
處理機如何知道它在哪種態下?執行態如何變化?何時變化呢?前面講到過,處理機狀態字psw中有一位表示處理機執行態,這一位可以通過特殊指令修改。
當執行在處理機上的使用者程式產生自陷,或被外部事件中斷進入作業系統程式執行時,系統要用置模式指令馬上將處理機模式轉變為核心態,原處理機狀態字作為執行現場被保護,新的處理機狀態字中的狀態被置為核心工作狀態。這時,處理機執行任何特權指令或訪問系統的空間都不會報錯,待到返回使用者態程式時,原保護的處理機狀態字被恢復,處理機模式又轉到使用者態下。此後如果執行了特權指令,處理機則會報錯
作業系統 使用者態與核心態
1 linux程序有4gb位址空間,如圖所示 3g 4g大部分是共享的,是核心態的位址空間。這裡存放整個核心的 和所有的核心模組以及核心所維護的資料。2 特權級的概念 對於任何作業系統來說,建立乙個程序是核心功能。建立程序要做很多任務作,會消耗很多物理資源。比如分配物理記憶體,父子程序拷貝資訊,拷貝...
作業系統使用者態和核心態
核心態 cpu可以訪問記憶體所有資料,包括外圍裝置,例如硬碟,網絡卡.cpu也可以將自己從乙個程式切換到另乙個程式 使用者態 只能受限的訪問記憶體,且不允許訪問外圍裝置.占用cpu的能力被剝奪,cpu資源可以被其他程式獲取 為什麼要有使用者態和核心態 由於需要限制不同的程式之間的訪問能力,防止他們獲...
作業系統 使用者態和核心態
3g 4g大部分是共享的,是核心態的位址空間。這裡存放整個核心的 和所有的核心模組以及核心所維護的資料。2 特權級的概念 對於任何作業系統來說,建立乙個程序是核心功能。建立程序要做很多任務作,會消耗很多物理資源。比如分配物理記憶體,父子程序拷貝資訊,拷貝設定頁目錄頁表等等,這些工作得由特定的程序去做...