簡體   English   中英

需求分頁術語說明

[英]Demand paging terminologies clarification

我一直在閱讀有關需求分頁的信息,有一些我不理解的術語。

  • 什么是鏡框? 我讀到它是一塊物理內存,至少可以容納一個頁面(因此一個框架可以容納一個或多個頁面?)。 但是,此物理內存是指RAM還是磁盤存儲?

  • 以下哪一項是正確的:

    虛擬地址空間(在32位系統中為4 GiB)一次分配給一個應用程序,因此每個應用程序都具有4 GiB虛擬地址可訪問,並且每次切換應用程序時,操作系統都會重新配置虛擬地址空間映射到其他應用程序。 還是將虛擬地址空間分配給多個進程? 如果是這樣,每個應用程序將獲得多少虛擬內存?當它需要更多虛擬內存時會發生什么?

  • 我們是否為每個正在運行的應用程序提供一個頁表,或者為所有應用程序提供一個公共頁表?
  • 虛擬內存碎片從何而來?

我希望有人可以澄清我。

  • 幀是物理內存(RAM)的塊。 我還沒有聽說過框架比頁面大,我一直都理解它們是同義詞。 但是,CPU可能允許不同大小的幀/頁面同時共存(例如x86上4MB / 2MB / 1GB大小的大頁面和常規4KB頁面)。
  • 是由多個應用程序共享一個地址空間,還是每個應用程序都有自己的地址空間,取決於操作系統。 Windows 3.xx和9x / Me具有共享的地址空間。 Windows NT / 2000 / XP / etc具有每個應用程序各自的地址空間。 並非所有地址空間都可用於一個應用程序。 為操作系統保留了一部分(內核,驅動程序及其數據)。
  • 現在應該很明顯。 不過要注意一點...即使有單獨的地址空間,仍然可以在幾個不同的地址空間中提供一部分內存,這可以通過在各個進程中使用一個公共頁表來完成。 同樣,由所有進程通用的幾個頁表來管理地址空間的內核部分是非常典型的。
  • 不管地址空間是虛擬的,它都會變得碎片化。 您可能想要分配一個連續的(就虛擬地址而言)8KB的緩沖區,但是您可能只有兩個不相鄰的4KB區域可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM