我對CPU調度程序有一點了解。當有IO中斷或某些情況時,切換執行其他進程。在此期間交換也會發生(換入換出)嗎?舊的進程是否會從物理內存中移除並重新加載?還是一直留在主內存中?上下文切換和交換同時發生?
根據這how dispatcher works?我沒有看到任何交換。
我對CPU調度程序有一點了解。當有IO中斷或某些情況時,切換執行其他進程。在此期間交換也會發生(換入換出)嗎?舊的進程是否會從物理內存中移除並重新加載?還是一直留在主內存中?上下文切換和交換同時發生?
根據這how dispatcher works?我沒有看到任何交換。
在此期間交換也會發生(交換和換出)嗎?
Swapin/Swapout和上下文切換沒有直接關係。如果頁面很少被引用,則頁面可以被刪除(請參閱頁面回收)。
現在有一種趨勢是現在幾天不交換進程。在16MB內存和32GB虛擬尋址多用戶系統的日子裏,交換是很常見的。
更爲現代的方法是在需要更多物理內存時從空閒進程中刪除頁面。
即使在整個流程被換出的系統中,這通常是爲了響應內存需求而完成的;不是上下文切換。
感謝您的答案。 –