壓縮(碎片整理)


我們知道動態分割區受到外部碎片的影響。 但是,這可能會導致一些嚴重的問題。

為了避免壓縮,我們需要更改規則,該規則指出進程無法儲存在記憶體中的不同位置。

也可以使用壓縮來減少外部碎片的可能性。 在壓縮過程中,所有的空閒分割區都是連續的,所有載入的分割區都集中在一起。

通過應用這種技術,可以將更大的進程儲存在記憶體中。 合併可用分割區,現在可以根據新進程的需要分配這些分割區。 這種技術也稱為碎片整理。

如上圖所示,由於缺少連續的空間,無法將記憶體裝載到記憶體中的進程P5現在可以載入到記憶體中,因為空閒分割區是連續的。

壓實問題

由於所有的自由空間將從幾個地方轉移到一個地方,因此在壓實的情況下系統的效率會降低。

這個過程投入了大量的時間,並且CPU一直保持空閒狀態。 儘管壓實避免了外部碎片,但卻使得系統效率低下。

讓我們考慮一下,作業系統需要6個NS將1個位元組從一個地方複製到另一個地方。

1 B轉移需要6 NS
256 MB傳輸需要256 X 2 ^ 20 X 6 X 10 ^ -9秒

因此,在一定程度上證明,較大容量的儲存器傳輸需要幾秒鐘的大量時間。