4.(記憶體管理 Memory Management)下列哪一項描述符合 「分頁(Paging)」機制?
(A)將程式拆成固定大小的頁面 (page)放入任意的實體框架
(B)必須將整個程式一次載入 連續實體記憶體才能執行
(C)不支援虛擬記憶體
(D)分頁大 小可以任意改變,不固定
統計: A(17), B(2), C(0), D(1), E(0) #3678235
詳解 (共 1 筆)
【解題思路】
抓關鍵字:「分頁 Paging」「固定大小 page」「任意 frame」「虛擬記憶體」。
分頁的核心概念只有三個:
-
程式被拆成固定大小的 Pages(虛擬頁)
-
實體記憶體被切成同大小的 Frames(實體框)
-
虛擬頁可以放到任意一個實體框,不需要連續
只有 (A) 完全符合這三件事。
【為什麼其他選項不正確(逐一破題)】
(A) 將程式拆成固定大小的頁面放入任意的實體框架
→ 完全正確,這就是 Paging 的定義。
(B) 必須載入連續實體記憶體
→ 這是「分割 Segmentation」或「早期單一連續配置」的做法,
不是 Paging。Paging 最大優點就是「不需要連續記憶體」。
(C) 不支援虛擬記憶體
→ 錯得離譜。Paging 正是虛擬記憶體(Virtual Memory)的核心技術之一,
用頁表(Page Table)把虛擬位址對應到實體位址。
(D) 分頁大小可以任意改變
→ 錯。Page size 是「固定大小」的,例如 4 KB、8 KB,不能每頁不同尺寸。
【延伸知識】
Paging 的好處:
-
避免外部碎裂(External Fragmentation)
因為分頁都是固定大小。 -
允許虛擬記憶體
程式可以比實體記憶體大,只載入需要的頁面。 -
每頁可以映射到不同的實體位置,不必連續
讓記憶體利用率提高。
Page Table(頁表) 用來記錄:
虛擬頁 → 實體框 架位置
【記憶技巧】
口訣:
「分頁:固定大小、任意放置、虛擬記憶體靠它。」
或
「Paging:頁固定,框任意。」
【常見錯誤】
-
把「分頁 Paging」跟「分割 Segmentation」混在一起
Segmentation 是可變大小、邏輯區段
Paging 是固定大小 -
以為 paging 要連續記憶體 → 錯
這反而是 paging 的最大優勢:不用連續。 -
誤以為 page 大小可變 → 錯
每個系統固定,例如 4 KB。