1.物理内存
物理内存就是内存条的大小,如果是32位的地址,则最大支持4G
2.什么是虚拟内存
虚拟内存技术,就是操作系统拿出一部分硬盘空间,虚拟内存并不是把硬盘当作内存,而是在硬盘上创建的交换文件。
虚拟内存可以完全自动的运行,不需要在应用程序里做什么工作,另外虚拟内存是不能禁用的
虚拟内存的好处:
- 将主存看成是一个 存储在磁盘空间上的地址空间 的高速缓存,主存中只保存活跃区域,并根据需要在磁盘和主存之间来回传送数据。
- 内存管理
- 保护进程不会被其它进程破坏
并不是所有的“程序”都是运行在虚拟地址中。CPU在启动的时候是运行在实模式的,内核在初始化页表之前并不使用虚拟地址,而是直接使用物理地址的。
在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存
认为虚拟内存只是“使用硬盘空间来扩展内存“的技术,这是不对的。虚拟内存的重要意义是它定义了一个连续的虚拟地址空间,使得程序的编写难度降低。并且,把内存扩展到硬盘空间只是使用虚拟内存的必然结果,虚拟内存空间会存在硬盘中,并且会被内存缓存(按需),有的操作系统还会在内存不够的情况下,将某一进程的内存全部放入硬盘空间中,并在切换到该进程时再从硬盘读取(这也是为什么Windows会经常假死的原因…)
计算机的存储结构:
前面的速度差10倍迪,但是主存与磁盘之间,它们的速度相差十万倍。所以主存与磁盘之间交换的页容量是最大的,尽可能的增加命中率
进程地址空间:
虚拟内存的最大容量是由计算机的地址结构(cpu寻址范围)确定的
虚拟内存的实际容量=min(内存和硬盘容量之和,cpu寻址范围)
某计算机地址结构为32位,按字节编址ÿ