2016-08-04 72 views
0

我認爲我得到了什麼系統程序,但我想知道爲什麼它們部分在用戶模式下執行,部分在內核模式下執行。執行系統程序的模式

由於計算機軟件旨在爲其他軟件提供服務,我認爲它們可能完全以內核模式運行。他們在用戶模式下運行哪些casses?

回答

0

存在內核模式和用戶模式級別,以防止用戶軟件損壞系統及其功能。

用戶模式如何執行低級指令?

ANS - 使用系統調用

的用戶模式程序可以切換到內核模式,但是有超過這將在內核模式中執行所述指令的控制。因此唯一可能發生這種情況的方式是使用系統調用,用戶模式使用哪個接口與低級資源(硬件)進行通信。

唯一的例外是當一個進程使用''ioperm''系統調用。在這種情況下的設備可以通過 用戶模式進程直接訪問(IRQ的不能被使用)。

過程中

用戶模式程序放置在寄存器中的值,或創建具有參數, 堆棧幀,以指示什麼特定服務它從操作系統需要。然後執行陷阱指令。

,立即將CPU切換至內核模式,並且在存儲器中的固定位置跳轉到指令。

陷阱指令或系統調用處理程序時,讀取所請求的服務+參數,的細節,然後 執行在內核模式下此請求。

終於有了系統調用來完成,操作系統重置模式 到用戶模式,並從系統調用返回。