kar*_*hik 3 windows operating-system memory-management process virtual-address-space
当Windows可以访问的总内存也限制为4GB时,Windows如何为多个进程分别提供4GB的地址空间.
我在Windows内存管理中找到的上述问题的解决方案(撰写:Pankaj Garg)
解:
要实现此目的,Windows使用x86处理器(386及更高版本)的功能,称为分页.分页允许软件使用与物理内存地址不同的内存地址(称为逻辑地址).处理器的寻呼单元透明地将该逻辑地址转换为物理地址.这允许系统中的每个进程都有自己的4GB逻辑地址空间.
任何人都可以帮助我以更简单的形式理解它吗?
基本思想是你的物理RAM有限.一旦它填满,你开始在硬盘上存储东西.当进程请求当前在磁盘上的数据或要求新内存时,您可以通过将页面传输到磁盘来从RAM中取出页面,然后在您实际需要的数据中进行分页.
操作系统维护一个称为页表的数据结构,以跟踪哪些逻辑地址对应于当前物理内存中的数据以及磁盘上的内容.
每个进程都有自己的虚拟地址空间,并使用此空间内的逻辑地址进行操作.操作系统负责将对给定进程和逻辑地址的请求转换为磁盘上的物理地址/位置.它还负责阻止进程访问属于其他进程的内存.
当进程请求当前不在物理内存中的数据时,会触发页面错误.发生这种情况时,操作系统会选择一个页面移动到磁盘(如果物理内存已满).有几种页面替换算法可用于选择要踢出的页面.