2

大多數操作系統使用虛擬內存分頁。爲什麼是這樣?爲什麼不使用分割?僅僅是因爲硬件問題?在某些情況下,一個比另一個好嗎?基本上,如果你必須選擇一個,你想使用哪一個,爲什麼?虛擬內存的分頁或分段,哪個更好?

讓我們假設它是一個x86的參數。

+2

選擇定義 「好」。總的來說(特別是操作系統)的開發是一個折衷案例研究。 – 2011-06-02 14:52:49

+0

此外,很多這些都受到希望操作系統定位的系統體系結構的限制。例如,x86體系結構中存在很多限制,這些限制使分頁成爲更好的選項。 – 2011-06-02 14:53:56

+0

@Cody Gray - 讓我們假設x86然後。爲什麼分頁會更好?我對真正的硬件知之甚少,對此我並不十分了解。謝謝! – Matt 2011-06-02 14:56:43

回答

2

像windows和Linux這樣的操作系統使用segmentationpaging的組合。一個進程的虛擬內存首先被分成多個段,然後每個段都由很多頁面組成。操作系統首先進入特定段,然後在該段中找到特定頁面以訪問地址

2

來自。分頁是另一種內存管理方案,具有這種優勢。但是,分頁避免了外部碎片和壓縮的需要,而分段則不需要。

Segmentaion問題: 問題的產生是因爲,當代碼片段 或駐留在主存儲器中的數據需要被換出,空間必須找到 在後備存儲。後備存儲具有相同的碎片問題 但訪問速度較慢,因此壓縮是不可能的。

用於實現尋呼的基本方法涉及破物理存儲器分成固定大小的塊稱爲幀和分斷邏輯存儲器成稱爲pages.The後備存儲相同尺寸的塊 分爲:

尋呼通過解決它固定大小的塊與內存幀或多個幀的集羣大小相同。

由於頁面框架 - 後臺存儲全部被分成相同的大小,所以它不會導致外部碎片。但可能有內部碎片。 所以頁面大小必須正確

Operating Systems concepts