20. 下列何者是記憶體配置策略最容易產生外部碎裂(External Fragmentation)?
(A) 分段(Segmentation)
(B) 分頁(Paging)
(C) 固定分割配置 (Fixed Allocation)
(D) 動態重配置(Dynamic Relocation)

答案:登入後查看
統計: A(11), B(4), C(5), D(3), E(0) #3447887

詳解 (共 1 筆)

#6443882

在記憶體配置策略中,**外部碎裂(External Fragmentation)**是指可用的記憶體空間總量足夠滿足一個新的配置請求,但這些可用空間不是連續的,而是分散成許多小的非連續區塊,導致無法分配給需要連續空間的程式。

讓我們分析各個選項:

  • (A) 分段(Segmentation)

    • 分段管理將程式的邏輯單元(如程式碼段、資料段、堆疊段等)視為一個個大小不一的「段」,每個段在物理記憶體中佔據一個連續的區塊。
    • 當程式運行和結束時,這些大小不一的段被載入和卸載,會導致物理記憶體中產生許多大小不一的空洞。這些不連續的空洞即使總和起來足夠大,也無法滿足需要更大連續空間的段,從而非常容易產生外部碎裂
  • (B) 分頁(Paging)

    • 分頁管理將物理記憶體和邏輯記憶體都劃分成固定大小的「頁」和「頁框」。任何一個頁都可以載入到任何一個可用的頁框中。
    • 由於頁和頁框的大小是固定的且較小,分頁技術能夠有效地消除外部碎裂。它主要的問題是可能導致「內部碎裂」(Internal Fragmentation),即最後一個頁框的內部可能無法完全被程式碼或資料填滿。
  • (C) 固定分割配置(Fixed Partition Allocation)

    • 這種策略將物理記憶體預先劃分成固定數量的、大小固定的或不固定的分區。每個分區只能容納一個程式。
    • 如果程式的大小小於分區的大小,會導致內部碎裂。同時,如果可用的空閒分區不足以容納新的程式(即使總體空閒記憶體足夠),也會產生外部碎裂。相較於分段,它的碎片形式較為固定,但仍會產生外部碎裂。
  • (D) 動態重配置(Dynamic Relocation)

    • 動態重配置本身不是一種記憶體配置策略,而是一種技術,它允許程式在記憶體中移動,並在執行時才決定其物理位址。
    • 這種技術通常與其他記憶體管理策略(如可變分割配置或分段)結合使用,目的是透過記憶體壓縮(Compaction)來消除外部碎裂,將分散的空閒區塊合併成一個大的連續區塊。因此,它是一種解決外部碎裂的方法,而不是導致外部碎裂的原因。

綜合以上分析,分段(Segmentation)由於其動態分配和可變大小的特性,是最容易產生外部碎裂的記憶體配置策略。

The final answer is A

0
0