使用者模式與核心模式


作業系統中有兩種執行模式以確保其正常工作。它們是使用者模式和核心模式。

解釋如下:

使用者模式

當作業系統執行使用者應用程式(例如處理文字編輯器)時,系統處於使用者模式。當應用程式請求作業系統的幫助或發生中斷或系統呼叫時,會從使用者模式轉換到核心模式。

在使用者模式下,模式位設定為 1。從使用者模式切換到核心模式時,它會從 1 更改為 0。

核心模式

系統在啟動時以核心模式啟動,並且在載入作業系統後,它以使用者模式執行應用程式。有些特權指令只能在核心模式下執行。

這些是中斷指令、輸入輸出管理等。如果在使用者模式下執行特權指令,則是非法的,並且會生成陷阱。

在核心模式下,模式位設定為 0。從核心模式切換到使用者模式時,它會從 0 更改為 1。

說明從使用者模式到核心模式再返回的影像如下:

User Mode vs Kernel Mode

在上圖中,使用者程序在使用者模式下執行,直到它獲得系統呼叫。然後生成系統陷阱並將模式位設定為零。系統呼叫在核心模式下執行。執行完成後,再次生成系統陷阱並將模式位設定為 1。系統控制返回核心模式,並且程序執行繼續。

作業系統中雙模式(使用者模式和核心模式)的必要性

作業系統中缺乏雙模式(即使用者模式和核心模式)會導致嚴重問題。其中一些是:

  • 正在執行的使用者程式可能會意外地透過用使用者資料覆蓋作業系統來清除作業系統。
  • 多個程序可以同時寫入同一個系統,結果將是災難性的。

這些問題可能發生在沒有模式位且因此沒有雙模式的 MS-DOS 作業系統中。

更新於:2020年6月22日

19K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告