2009-06-09 166 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为什么会这样做“你是比大多数人更好的人”。

快乐的大脑冻结阅读很多。