使用者態:只能受限的訪問記憶體,且不允許訪問外圍裝置。
核心態:可以訪問到所有資料,包括外圍裝置、使用者空間和系統空間。
為了限制不同程式之間的訪問能力,防止他們獲取到別的程式的記憶體資料,或者獲取外圍裝置的資料,所以就分成了兩個許可權——使用者態和核心態。
一般情況下, 所有的使用者程式都是執行在使用者態下的,但是有些時候程式必須得做一些核心態的事情,比如從硬碟讀取資料或者獲取鍵盤輸入等等,那麼這些時候程式就必須通過申請使用作業系統提供的服務程式來完成工作。
這時就需要乙個機制,讓使用者態程式切換到核心態,但是又不能控制在核心態中執行的指令。這種機制就被稱為系統呼叫,在cpu中的實現被稱為陷阱指令。
當程式處於使用者態下執行時,發生了某些事先不可預知的異常,這時會觸發由當前執行程序切換到處理此異常的核心相關程式中,也就轉到了核心態,比如缺頁異常。
當外圍裝置完成使用者請求的操作後,會向cpu發出相應的中斷訊號,這時cpu會暫停執行下一條即將要執行的指令轉而去執行與中斷訊號對應的處理程式,如果先前執行的指令是使用者態下的程式,那麼這個轉換的過程自然也就發生了由使用者態到核心態的切換。比如硬碟讀寫操作完成,系統會切換到硬碟讀寫的中斷處理程式中執行後續操作等。
OS回顧 使用者態和核心態
為了限制使用者程式的許可權,保護系統安全,保證系統不被應用程式有意或無意地破壞。如果使用者執行了一些惡意的程式,它們可能就會進行一些危險操作,如果不對使用者程式的許可權進行限制,那麼這些惡意程式可能就會對作業系統造成破壞。原因 系統呼叫這是使用者態程序主動要求切換到核心態的一種方式,使用者態程序通過...
核心態和使用者態
在核心態下,cpu可執行任何指令,在使用者態下cpu只能執行非特權指令。當cpu處於核心態,可以隨意進入使用者態 而當cpu處於使用者態,只能通過中斷的方式進入核心態。一般程式一開始都是執行於使用者態,當程式需要使用系統資源時,就必須通過呼叫軟中斷進入核心態。當乙個任務 程序 執行系統呼叫而陷入核心...
核心態和使用者態
複習的時候發現 作業系統 書上竟然沒有找到使用者態和核心態的概念,還納悶了半天以為是自己上課的時候沒有認真聽講.核心態 cpu可以訪問記憶體所有資料,包括外圍裝置,例如硬碟,網絡卡.cpu也可以將自己從乙個程式切換到另乙個程式 使用者態 只能受限的訪問記憶體,且不允許訪問外圍裝置.占用cpu的能力被...