區分作業系統中的程序切換和模式切換


程序被定義為正在執行的程式,以及表示系統中要實現的基本工作單元的實體。

程序切換

它被定義為處理器從一個執行緒/程序切換到另一個執行緒或程序。它使 CPU 暫存器和指令指標的內容被儲存。

對於新任務,暫存器和指令指標被載入到處理器中,然後新程序的執行可能開始/恢復。

舊程式將不再執行,但該程序的狀態儲存在記憶體中,因為當核心決定它準備好再次執行時。這個概念類似於多工處理,但實際上,在一個 CPU 上一次只能執行一個程序。

上下文切換由硬體或軟體引起。硬體中斷來自鍵盤、滑鼠或系統計時器等裝置,導致程式碼開始執行中斷程式碼。軟體切換是核心手動執行任務切換的結果。

這是排程程式使用上下文切換的方式。

特性 -

  • 它會影響效能
  • 它增加了 CPU 處理器的負載。
  • 這裡每個資料包都由路由器或交換機處理器檢查。
  • 在每個資料包上執行負載均衡。
  • 可以透過一條命令輕鬆啟用。

模式切換

當 CPU 更改特權級別時,使用模式切換。核心以比標準使用者任務更高的特權執行。

為了訪問由核心控制的使用者任務,必須發生模式切換。

在模式切換期間,當前正在執行的程序不會改變。處理器使用模式來保護作業系統免受行為異常或惡意程式的侵害,以及控制對 RAM、I/O 裝置等的併發訪問。

軟體上下文切換必須發生模式切換。只有核心才能導致上下文切換。

注意 - 一般保護錯誤的概念是使用者應用程式嘗試執行未被允許的操作,例如訪問其地址空間中無法訪問的某些部分。

模式切換步驟 -

  • 在執行程式時,我們有兩種模式:使用者模式和核心模式。

  • 因此,當程式在使用者級別執行時,必須存在使用者域/模式。

  • 當核心模式負責程式執行時,則存在核心模式。

  • 現在,當程序急需系統資源時,就會發生模式切換。

  • 它藉助於系統呼叫介面或使用中斷來實現。

  • 在此之後,可以從使用者模式呼叫核心函式並管理系統呼叫。

更新於: 2021年12月1日

3K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告