2009-06-09 129 views
6

我正在調查Windows內核相對於內存映射文件/虛擬內存的行爲。具體而言,我有興趣確定內存映射文件的內容被Windows刷新到磁盤的頻率,以及Windows使用什麼標準來決定是時候這樣做了。Windows內存映射文件

我已經在網上做了一些研究,除了MSDN更多地處理'如何處理'而不是詳細說明內部工作方式之外,似乎沒有太多的信息。如果任何人可以指向我的任何文章或已經看過,並有一些見解,我會歡迎它。

謝謝。

回答

3

內存映射文件由內核中修改過的頁面編寫器控制 - 只要支持頁面的內存需要刷新被重新使用(所以它可能發生在內存壓力下)。

系統還會跟蹤髒頁的數量並在達到閾值後將其寫入。

您可以在this文章中找到關於Windows Vista的Windows內存管理變更的更多信息 - 它並不直接回答您關於內存管理器如何處理修改頁面的問題,但您可以根據信息推斷出一些細節在文章中。

1

內部運作是一個實施細節,可能會改變。他們沒有記錄在任何地方,因爲微軟不希望你依賴細節。我不得不問:你爲什麼在意?如果你有很強的實時需求,Windows可能不是你的操作系統...

5

我建議閱讀由Mark Russinovich和David Solomon在第五版中的Microsoft Windows Internals以及Alex Ionescu。

2

我建議你獲得

的Microsoft®Windows®內幕 第四版的副本:微軟Windows Server 2003的Windows XP和Windows 2000

有PDF文件漂浮在網絡雲。

這是由「sysinternals」人羣完成的書,這些人已經寫了一些非常好的Windows實用工具多年。

http://www.microsoft.com/technet/sysinternals

你將不得不在

內存管理閱讀的章節

存儲管理

緩存管理器

文件系統

他們不d直接解決你的問題,但如果你設法閱讀,消化和掌握非常技術性的段落,你可以自己解決。但是,如果你能預測Windows爲什麼會這樣做「你是比大多數人更好的人」。

快樂的大腦凍結閱讀很多。