1. 程式人生 > >覆蓋技術和交換技術

覆蓋技術和交換技術

bsp 程序 交換 狀態 主存 0kb 獨立 原來 存儲空間

覆蓋和交換是從邏輯上擴充主存的方法。

1.覆蓋:主要在早期的操作系統中使用

把程序劃分為若幹個功能獨立的程序段,這些程序段不會同時被CPU執行,且讓他們共享同一個主存區。當前沒有被CPU執行的程序段放在外存,需要執行時,從外存調入主存。

例如:一個程序分為如下:A,B1,B2,C1,C2,C3 六段

A(20kb)->B1(60kb),B2(30kb)->C1(30kb),C2(20kb),C3(50kb)

原來所需的主存空間為:20+60+30+30+20+50=210kb

若用覆蓋技術,所需的主存空間為:20+60+50=130kb

2.交換:進程在內存和外存之間的換入和換出。即換入時,把進程所需的程序和數據從外存中讀入內存。換出時,把不在執行狀態的進程所需的程序和數據全部寫到外存中。

3.區別:

  交換技術不用事先給出覆蓋結構,主要在進程或作業之間進行,可以在較小的存儲空間中運行較多的進程或作業;而覆蓋技術主要在同一個進程或作業之間進行,可以在較小的存儲空間運行較大的進程或作業。

覆蓋技術和交換技術