<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Linux 系統中的內核態的定義是


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    181
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1

    linux系統中的內核態本質是內核,一種特殊的軟件程序,用于控制計算機的硬件資源,例如協調CPU資源,分配內存資源,并且提供穩定的環境供應用程序運行。0-4G 范圍的虛擬空間地址都可以操作,尤其是對 3-4G 范圍的高位虛擬空間地址必須由內核態去操作。

    用戶態提供應用程序運行的空間,為了使應用程序訪問到內核管理的資源,例如CPU,內存,I/O等。用戶態只能受限的訪問內存, 且不允許訪問外設(硬盤、網卡等);內核態CPU可以訪問內存所有數據, 包括外設,且可以將自己從一個程序切換到另一個程序。

    從用戶態切換到內核態有以下三種方式:

    • 系統調用:是用戶態進程主動要求切換到內核態的一種方式,用戶態進程通過系統調用申請使用操作系統提供的服務程序完成工作。例如上面的例子、還比如fork()實際上就是執行了一個創建新進程的系統調用。(其實系統調用本身就是中斷,是軟件中斷)

    • 異常:如果當前進程運行在用戶態,如果這個時候發生了異常事件,就會觸發切換。例如:缺頁異常。

    • 外設中斷:當外設完成用戶的請求時,會向CPU發送中斷信號,此時CPU會暫停執行下一條即將要執行的指令轉而去執行與中斷信號對應的處理程序,如果先前執行的指令是用戶態下的程序,那么這個轉換的過程自然也就發生了由用戶態到內核態的切換。例:如硬盤讀寫操作完成后,系統會切換到硬盤讀寫的中斷處理程序中執行后續操作。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类