每个进程都有自己的4GB内存空间,内存地址为0-FFFFFFFF。这个内存不是真正的物理内存,是操作系统分配给进程的虚拟地址
但当我们在进程内存中写入值的时候值会保存下来,这个值保存在物理内存中,当虚拟内存真正使用的时候,操作系统才会在物理内存中分配内存存储数据
INTEL x86架构中物理内存按照4KB的方式来分配的,把所有物理内存按照4KB大小分成一页一页的,所以把物理内存称为页式管理
物理内存也不是内存条,和内存条之间还有一层映射
进程只能使用自己低2G的虚拟内存,高2G内存是内核。每个进程的内核部分80000000-FFFFFFFF空间是相同的
当物理内存太小,不够使用时,操作系统会采用把硬盘当做内存的策略
操作系统允许我们设置虚拟内存,这个内存和进程的内存没有关系。是操作系统把硬盘划出一块当内存使用
当物理内存不够用时,会根据高级设置里的虚拟内存定义的大小在磁盘中划出一块空间当做内存使用
C盘下有个隐藏文件pagefile.sys,这个文件的大小就是虚拟内存的大小
物理内存是不够的使用的,操作系统将不频繁使用的物理内存的数据存储到硬盘上的虚拟内存中(pagefile.sys)。当再次使用这块内存的时,会再次将数据放入物理页中
当访问已经分配的虚拟内存却发现没有物理页,操作系统接管缺页异常,查看原来是否有数据,原来确实分配了物理页,会分配一个新的物理页,把pagefile.sys中的数据放到物理页中
虚拟内存与物理内存(滴水)
最新推荐文章于 2022-08-24 15:02:32 发布