區分作業系統中的程序切換和模式切換
程序被定義為正在執行的程式,以及表示系統中要實現的基本工作單元的實體。
程序切換
它被定義為處理器從一個執行緒/程序切換到另一個執行緒或程序。它使 CPU 暫存器和指令指標的內容被儲存。
對於新任務,暫存器和指令指標被載入到處理器中,然後新程序的執行可能開始/恢復。
舊程式將不再執行,但該程序的狀態儲存在記憶體中,因為當核心決定它準備好再次執行時。這個概念類似於多工處理,但實際上,在一個 CPU 上一次只能執行一個程序。
上下文切換由硬體或軟體引起。硬體中斷來自鍵盤、滑鼠或系統計時器等裝置,導致程式碼開始執行中斷程式碼。軟體切換是核心手動執行任務切換的結果。
這是排程程式使用上下文切換的方式。
特性 -
- 它會影響效能
- 它增加了 CPU 處理器的負載。
- 這裡每個資料包都由路由器或交換機處理器檢查。
- 在每個資料包上執行負載均衡。
- 可以透過一條命令輕鬆啟用。
模式切換
當 CPU 更改特權級別時,使用模式切換。核心以比標準使用者任務更高的特權執行。
為了訪問由核心控制的使用者任務,必須發生模式切換。
在模式切換期間,當前正在執行的程序不會改變。處理器使用模式來保護作業系統免受行為異常或惡意程式的侵害,以及控制對 RAM、I/O 裝置等的併發訪問。
軟體上下文切換必須發生模式切換。只有核心才能導致上下文切換。
注意 - 一般保護錯誤的概念是使用者應用程式嘗試執行未被允許的操作,例如訪問其地址空間中無法訪問的某些部分。
模式切換步驟 -
在執行程式時,我們有兩種模式:使用者模式和核心模式。
因此,當程式在使用者級別執行時,必須存在使用者域/模式。
當核心模式負責程式執行時,則存在核心模式。
現在,當程序急需系統資源時,就會發生模式切換。
它藉助於系統呼叫介面或使用中斷來實現。
在此之後,可以從使用者模式呼叫核心函式並管理系統呼叫。
廣告