標籤:連結 超過 增加 動態分區 適應 整理 計算 定位 硬體
1:連續的記憶體空間分配:
(1)單一連續分配:只能單作業,單任務運行:
分為系統和使用者區:使用者區是指除了系統需外左右的記憶體,由於單使用者,單任務,要不都被佔用,要不全空
(2):固定空間分配:固定分區分配是最簡單的一種多道程式儲存管理方式,它將使用者記憶體空間劃分為若干個固定大小的地區,每個分區只裝入一道作業。當有空閑分區時,便可以再從外存的後備作業隊列中,選擇適當大小的作業裝入該分區,如此迴圈。
- 分區大小相等:用於利用一台電腦去控制多個相同對象的場合,缺乏靈活性。
- 分區大小不等:劃分為含有多個較小的分區、適量的中等分區及少量的大分區。
分區說明表:
是一個表有下面幾列
分區號:大小:起始地址:是否分配
(3)動態分區分配
動態分區分配又稱為可變分區分配,是一種動態劃分記憶體的分區方法。這種分區方法不預先將記憶體劃分,而是在進程裝入記憶體時,根據進程的大小動態地建立分區,並使分區的大小正好適合進程的需要。因此系統中分區的大小和數目是可變的。
動態分區在開始分配時是很好的,但是之後會導致記憶體中出現許多小的記憶體塊。隨著時間的推移,記憶體中會產生越來越多的片段(圖3-6中最後的4MB和中間的6MB,且隨著進程的換入/換出,很可能會出現更多更小的記憶體塊),記憶體的利用率隨之下降。這些小的記憶體塊稱為外部片段,指在所有分區外的儲存空間會變成越來越多的片段,這與固定分區中的內部片段正好相對。克服外部片段可以通過緊湊技術來解決,就是作業系統不時地對進程進行移動和整理。但是這需要動態重定位寄存器的支援,且相對費時。緊湊的過程實際上類似於Windows系統中的磁碟整理程式,只不過後者是對外存空間的緊湊。
為瞭解決新引入的進程處於記憶體那塊位置引入四中演算法:
- 首次適應演算法:
- 迴圈首次適應演算法:前兩種按照地址增長,這個是迴圈,上個從頭尋找
- 最佳適應演算法:按大小增長,c從小記憶體到大記憶體
- 最壞適應演算法:從大記憶體到小記憶體
(4)非連續空間的分配
頁式管理:其優點是沒有外片段,每個內片段不超過頁的大小。缺點是,程式全部裝入記憶體,要求有相應的硬體支援。例如地址變換機構缺頁中斷的產生和選擇淘汰頁面等都要求有相應的硬體支援。這增加了機器成本,增加了系統開銷。
段式管理:其優點是可以分別編寫和編譯,可以針對不同類型的段採用不同的保護,可以按段為單位來進行共用,包括通過動態連結進行代碼共用。缺點是會產生片段。
段頁式管理::段頁式管理的段式管理與頁式管理方案結合而成的所以具有他們兩者的優點。但反過來說,由於管理軟體的增加,複雜性和開銷也就隨之增加了。另外需要的硬體以及佔用的記憶體也有所增加。使得速度降下來。
Windows記憶體管理簡介: