Windows 什么';物理页面和页面文件中页面之间的关系是什么?

Windows 什么';物理页面和页面文件中页面之间的关系是什么?,windows,memory-management,x86,kernel,paging,Windows,Memory Management,X86,Kernel,Paging,在Windows下,内核可以将物理内存页交换为分页文件中的页 为简单起见,我们假设只有一个分页文件 据我所知,分页文件由与物理内存页大小相同的页组成。i、 e.4K 我只是想知道: 内核如何知道分页文件中的哪个页面是可用的 (Free此处表示分页文件中的页面以前不存储另一个物理内存页面。)冒着过度简化的风险。实现虚拟内存的常用方法是,磁盘是主存储器。除非存在到文件的映射,否则虚拟页不存在。该映射在流程的生命周期内保持不变 磁盘上的虚拟内存在可用时映射到物理内存 内核维护一些数据结构(例如位图),

在Windows下,内核可以将物理内存页交换为分页文件中的页

为简单起见,我们假设只有一个分页文件

据我所知,分页文件由与物理内存页大小相同的页组成。i、 e.4K

我只是想知道:

内核如何知道分页文件中的哪个页面是可用的


Free此处表示分页文件中的页面以前不存储另一个物理内存页面。)

冒着过度简化的风险。实现虚拟内存的常用方法是,磁盘是主存储器。除非存在到文件的映射,否则虚拟页不存在。该映射在流程的生命周期内保持不变

磁盘上的虚拟内存在可用时映射到物理内存


内核维护一些数据结构(例如位图),以指示页面文件的可用区域,并维护逻辑地址到文件的映射。

我相信您是在询问内存管理中的页面替换算法

当操作系统需要在内存中保存一个新页面并在页面文件(也称为页面表)上跟踪其信息时,无法保证会有一个空闲点——这意味着其他页面的信息可能已经占用了所有页面。在这种情况下,操作系统将不得不退出现有页面。操作系统不需要空闲空间,因为如果没有空闲空间,它会成功的

如果您有兴趣了解更多(这是一个相当大的主题),您可能会发现来自纽约大学“操作系统”课程的帮助,在下面,您可以进一步了解一些页面替换算法(“WS-Clock”和“Aging”可能是最重要的)


希望这是有帮助的

只要有上下文切换,只要进程页面出现故障并有权获得更多内存,物理内存就会映射到虚拟内存。因此,内核对物理内存页的“最后使用”时间有一个概念,并且可以想当然地选择将那些在一段时间内没有被请求的内存驱逐到磁盘上。这个问题似乎是离题的,因为它与操作系统设计有关,而不是一个特定的编程问题。如果您可以根据编程问题(例如,需要知道此信息才能正常工作的代码)来重新表述此问题,那么它将位于主题上。