使用者模式與核心模式


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

解釋如下:

使用者模式

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

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

核心模式

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

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

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

說明從使用者模式到核心模式以及反向轉換的影像如下:

User Mode vs Kernel Mode

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

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

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

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

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

更新於:2020年6月22日

19K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.