Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows内存映射文件_Windows_Memory_Kernel_Virtual - Fatal编程技术网

Windows内存映射文件

Windows内存映射文件,windows,memory,kernel,virtual,Windows,Memory,Kernel,Virtual,我试图研究Windows内核在内存映射文件/虚拟内存方面的行为。具体来说,我感兴趣的是确定内存映射文件的内容(由Windows)刷新到磁盘的频率,以及Windows使用什么标准来决定是时候这样做了 我在网上做了一些研究,除了MSDN更多地涉及“如何和为什么”,而不是详细说明内部工作,似乎没有太多的信息。如果有人能给我指点任何文章,或者以前研究过这个问题,并且有一些见解,我会欢迎的 谢谢。内部工作是一个实施细节,可能会更改。因为微软不想让你依赖这些细节,所以他们没有在任何地方记录下来 我不得不问:

我试图研究Windows内核在内存映射文件/虚拟内存方面的行为。具体来说,我感兴趣的是确定内存映射文件的内容(由Windows)刷新到磁盘的频率,以及Windows使用什么标准来决定是时候这样做了

我在网上做了一些研究,除了MSDN更多地涉及“如何和为什么”,而不是详细说明内部工作,似乎没有太多的信息。如果有人能给我指点任何文章,或者以前研究过这个问题,并且有一些见解,我会欢迎的


谢谢。

内部工作是一个实施细节,可能会更改。因为微软不想让你依赖这些细节,所以他们没有在任何地方记录下来


我不得不问:你为什么在乎?如果您有硬实时要求,Windows可能不是适合您的操作系统…

内存映射文件由内核中修改过的页面编写器控制-每当需要重新使用支持页面的内存时,它们都会被刷新(因此在内存压力下可能会发生)

系统还跟踪脏页的数量,并在达到阈值后写入脏页


您可以在关于Windows Vista的Windows内存管理更改的文章中找到更多信息-它不会直接回答您关于内存管理器如何处理修改过的页面的问题,但您可以根据文章中的信息推断出一些详细信息。

我建议您按Mark阅读Microsoft Windows内部构件Russinovich和David Solomon,第五版中还有Alex Ionescu。

我建议您获得一份

Microsoft®Windows®内部构件 第四版:Microsoft Windows Server 2003 Windows XP和Windows 2000

网络云中到处都是PDF文件

这本书是由“系统内部人员”编写的,他们多年来编写了一些非常好的windows UTIL

你将不得不阅读本书的章节

内存管理

存储管理

缓存管理器

文件系统

它们不会直接解决你的问题,但如果你能够阅读、消化和掌握非常技术性的段落,你可以自己解决。然而,如果你能预测Windows为什么会这么做,“你比大多数人都要好”

快乐的大脑冻结了阅读的时间