<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
    瀏覽
    867
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1

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

    內核態本質是內核,一種特殊的軟件程序,用于控制計算機的硬件資源,例如協調CPU資源,分配內存資源,并且提供穩定的環境供應用程序運行。

    用戶態切換到內核態的具體步驟:

    1. 從當前進程的描述符中提取其內核棧的ss0及esp0信息。

    2. 使用ss0和esp0指向的內核棧將當前進程的cs,eip,eflags,ss,esp信息保存起來,這個過程也完成了由用戶棧到內核棧的切換過程,同時保存了被暫停執行的程序的下一條指令。

    3. 將先前由中斷向量檢索得到的中斷處理程序的cs,eip信息裝入相應的寄存器,開始執行中斷處理程序,這時就轉到了內核態的程序執行了。

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

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