最新消息
首頁 最新消息
一文帶你了解操作系統的兩種操作形態 2024-02-20
文章来源:由「百度新聞」平台非商業用途取用"http://www.baidu.com/link?url=OlD-SaMT2OvmC50Jq77Q8gqZjOjFmMU2JoRRIpUSK-g1df3lRYyXVYksmW-MplFb7VgHvxm0Cl-rfFyUKrkD_GhGTMdhFpI-NVq05EdLekS"

操作系統有兩種操作形態,一個是內核態,還有另外一個是用戶態。nn什麼是內核態?什麼是用戶態?nn權限等級nn可以看到,越靠近核心的權限越高。換句話說,權限由高到低為:Ring0 > Ring1 > Ring2 > Ring3。nn在Linux系統中,由于只有RIng0和RIng3級別的指令,所以我們可以對用戶態、內核態給更細節的區別描述:運行Ring0級別指令的叫內核態,運行Ring3級別的指令的指令叫用戶態。nn內核態:內核態運行的程序可以訪問計算機的任何數據和資源,不受限制,包括外圍設備,比如網卡、硬盤等。處于內核態的CPU可以從一個程序切換到另外一個程序,并且占用CPU不會發生搶占的情況。nn用戶態:用戶態運行的程序只能受限地訪問內存,只能直接讀取用戶程序的數據,并且不允許訪問外圍設備,用戶態下的CPU不允許獨立,也就是說CPU能夠被其他程序獲取。nn操作系統將運行狀態分為用戶態和內核態,主要是為了對訪問能力進行限制,防止隨意進行一些比較危險的操作導致系統的崩潰,比如設置時鐘、內存清理,這些都需要在內核態完成。nn用戶態切換到內核態的3種方式nn系統調用:這是用戶態進程主動要求切換到內核態的一種方式,用戶態進程通過系統調用申請使用操作系統提供服務程序完成工作。而系統調用的機制其核心還是使用了操作系統為用戶特別開放的一個中斷來實現,例如Linux的int 80h中斷。nn異常:當CPU在執行運行在用戶態的程序時,發生了某些事先不可知的異常,這時會觸發由當前進程切換到處理異常的內核相關程序中,也就轉到了內核態,比如缺頁異常。nn外圍設備的中斷:當外圍設備完成用戶請求的操作后,會向CPU發出相應的中斷信號,這時CPU會暫停執行下一條即將要執行的指令轉而去執行與中斷信號對應的處理程序,如果先前執行的指令是用戶態下的程序,那么這個轉換的過程自然也就發生了由用戶態到內核態的切換。比如硬盤讀寫操作完成,系統會切換到硬盤讀寫的中斷處理程序中執行后續操作等。nn這三種方式是系統在運行時由用戶態轉到內核態的最主要方式,其中系統調用可以認為是用戶進程主動發起的,異常和外圍設備中斷則是被動的。nn用戶態和內核態之間如何切換nn所有的用戶進程都是運行在用戶態的,但是我們上面也說了,用戶程序的訪問能力是有限的,一些比較重要的操作,就像用戶程序需要從硬盤讀取數據,但是從硬盤獲取數據只能在內

關鍵字標籤:BPM EIP 電子簽核系統推薦
多元課目家教可選擇,國立大學家教老師親自試教,學生有保障。
本中心英文家教皆具有各種英文證照,例如多益、全民英檢中高級、托福、雅思等。
經政府合法通過專業家教中心。