操作系统内存管理总结
关于内存管理这一块的学习进行自己简单的总结,如有错误,请指出交流,一起学习进步…
我抽离出几个概念来总结。
虚拟内存
虚拟内存其实就是一种操作系统的内存管理机制,使得看起来有比真正拥有的内存更大的空间,其一部分映射到物理内存,一部分对应在磁盘上。
虚拟内存允许执行进程不必完全在内存中。虚拟内存的基本思想是:每个进程拥有独立的地址空间,这个空间被分为大小相等的多个块,称为页(Page),每个页都是一段连续的地址。这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部分在物理内存中的地址空间时,由硬件立刻进行必要的映射;当程序引用到一部分不在物理内存中的地址空间时,由操作系统负责将缺失的部分装入物理内存并重新执行失败的命令。这样,对于进程而言,逻辑上似乎有很大的内存空间,实际上其中一部分对应物理内存上的一块(称为帧,通常页和帧大小相等),还有一些没加载在内存中的对应在硬盘上,如下图所示。
访问虚拟内存
访问虚拟内存时,如果访问到的已经映射在物理内存上则直接访问物理内存,如果发现访问的虚拟内存并不在物理