Dynamic memory allocation

  • Multiprogramming 之下,記憶體內存在有多個 Process 執行,且各個 Processsize 並不相同,進入系統及完成工作的時間也不盡相同
  • OS 採用 “Contiguous Allocation” 的方式,依據各個 Process 的大小,找到一塊夠大的連續可用空間,配置給該 Process 使用

Allocation 方式

  • OS 會利用 Link List 保存 (管理) Free Blocks,稱為 AV-List (Available list)

First-Fit

  • 若所需的記憶體大小為 n,從 AV-list 的頭部開始搜尋,直到找到第一個 free block size ⇒ n 為止

Best-Fit

Worst-Fit

Next-Fit