Linux中核心態指什麼?使用者態切換到核心態的方式有哪些?
在Linux技術大佬口中,我們經常會時不時聽到核心態、使用者態等,核心主要是和硬體打交道,管理最核心的內容,如硬碟、記憶體、CPU等,那你知道在Linux系統中,核心態具體是什麼嗎?請看下文:
Linux系統中的核心態本質是核心,一種特殊的軟體程式,用於控制計算機的硬體資源,例如協調CPU資源,分配記憶體資源,並且提供穩定的環境供應用程式執行。0-4G範圍的虛擬空間地址都可以操作,尤其是對3-4G範圍的高位虛擬空間地址必須由核心態去操作。
使用者態提供應用程式執行的空間,為了使應用程式訪問到核心管理的資源,例如CPU,記憶體,I/O等。使用者態只能受限的訪問記憶體,且不允許訪問外設 (硬碟、網路卡等);核心態CPU可以訪問記憶體所有資料,包括外設,且可以將自己從一個程式切換到另一個程式。
從使用者態切換到核心態有以下三種方式:
系統呼叫:是使用者態程式主動要求切換到核心態的一種方式,使用者態程式透過系統呼叫申請使用作業系統提供的服務程式完成工作。例如上面的例子、還比如fork()實際上就是執行了一個建立新程式的系統呼叫。(其實系統呼叫本身就是中斷,是軟體中斷)
異常:如果當前程式執行在使用者態,如果這個時候發生了異常事件,就會觸發切換。例如:缺頁異常。
外設中端:當外設完成使用者的請求時,會向 CPU 傳送中斷訊號,此時 CPU 會暫停執行下一條即將要執行的指令轉而去執行與中斷訊號對應的處理程式,如果先前執行的指令是使用者態下的程式,那麼這個轉換的過程自然也就發生了由使用者態到核心態的切換。例:如硬碟讀寫操作完成後,系統會切換到硬碟讀寫的中斷處理程式中執行後續操作。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2912917/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux核心態是什麼?使用者態如何切換到核心態?Linux
- 作業系統中使用者態和核心態(系統態)是什麼?使用者態如何變成核心態?作業系統
- Linux中靜態路由指什麼?優缺點有哪些?Linux路由
- 核心態,使用者態,目態,管態
- 使用者態和核心態
- Linux中什麼是動態路由?動態路由協議有哪些?Linux路由協議
- 使用者態和核心態的區別
- Linux使用者態與核心態的互動 (2)(轉)Linux
- 工作流從無狀態切換到有狀態的好處
- 使用者態和核心態的區別是啥
- 在Linux中,程序狀態有哪些?Linux
- linux核心動態載入模組Linux
- win10中word怎麼切換改寫狀態_win10怎樣切換插入狀態和改寫狀態Win10
- windows建立程式的使用者態和核心態互動----小話windows(1)Windows
- 什麼是Linux核心?有什麼功能?Linux
- 30個類手寫Spring核心原理之動態資料來源切換Spring
- 動態IP和靜態IP有什麼區別?
- 靜態IP是什麼意思?和動態IP 有什麼區別
- echarts 主題動態切換Echarts
- 30個類手寫Spring核心原理之動態資料來源切換(8)Spring
- 【科普】靜態IP和動態IP有什麼區別?
- 【普】靜態IP和動態IP有什麼區別?
- 靜態HTTP代理有什麼作用?HTTP
- 進入windows核心態的通用方法 (轉)Windows
- 【python基礎】什麼是動態IP?與靜態ip有什麼不同?Python
- 靜態住宅IP與動態住宅IP有什麼區別?
- jenkins動態切換環境Jenkins
- Linux一切皆檔案指什麼?Linux檔案型別有哪些?Linux型別
- linux下靜態連結庫和動態連結庫的區別有哪些Linux
- 海外靜態代理IP如何搭建?靜態IP有什麼好處?
- 靜態ip有什麼好處呢?
- 什麼是組態雲平臺?有什麼功能?
- 揭祕有狀態服務上 Kubernetes 的核心技術
- 動態切換 web 報表中的統計圖型別Web型別
- Java執行緒狀態及切換Java執行緒
- Linux靜態路由是什麼?UG代表什麼?Linux路由
- RPC核心實現原理-動態代理RPC
- Vue 動態資料繫結核心方法Vue