作業系統的多程序組織 程序間切換

2021-08-20 09:54:17 字數 339 閱讀 6313

使用者使用計算機就是啟動了一堆程序;使用者管理計算機就是管理這一堆程序

即根據pcb、根據狀態形成不同的佇列放在不同的位置。多個程序如何組織呢?用pcb放在不同的佇列中(就緒、阻塞),用狀態轉化來推進多個程序的執行

排程選擇下乙個程序,得到下乙個程序的pcb,把上乙個程序的執行現場儲存起來,把下乙個程序的現場覆蓋到cpu對應的暫存器中去。多程序如何交替?如何切換?把上乙個程序的執行現場儲存起來,把當前cpu中的暫存器資訊等儲存到上乙個程序的pcb中,把選好的要執行的程序(由程序排程確定)的pcb中的各暫存器資訊恢復到當前cpu的暫存器中

通過記憶體管理,位址對映方式,將不同程序中相同的虛擬位址對映到不同實體地址,實現分離

作業系統之程序切換

最近複習作業系統關於程序切換的一些記錄。程序切換指從正在執行的程序中收回處理器,讓待執行程序來占有處理器執行。實質上就是被中斷執行程序與待執行程序的上下文切換。二 模式切換 程序切換必須在作業系統核心模式下完成,這就需要模式切換。模式切換又稱處理器切換,即使用者模式和核心模式的互相切換。1 中斷 異...

作業系統 程序間通訊

程序間通訊涉及到3個問題 1.乙個程序如何把資訊傳遞給另乙個程序 2.確保兩個或多個程序之間不會在關鍵活動中出現交叉 3.程序間執行的順序對執行結果的影響。注意 確保程序對臨界區的 互斥 訪問。忙等待的互斥 1.遮蔽中斷 當乙個程序進入臨界區後立即遮蔽所有中斷,時鐘中斷也被遮蔽 這樣cpu就不會進行...

作業系統 程序間通訊

include include include include include include ifndef semun h 條件編譯,即若semun在標頭檔案中沒有被定義,就進行下面的編譯 define semun h union semun endif static int set semval...