我们都知道,以前的计算机存储器空间很小,我们在运行计算机程序的时候物理寻址的范围非常有限。
比如,在 32 位的机器上,寻址范围只有 2 的 32 次方,也就是 4G。
并且,对于程序来说,这是固定的,我们可以想象一下,如果每开一个计算机进程就给它们分配 4G 的物理内存,那资源消耗就太大了。
资源的利用率也是一个巨大的问题,没有分配到资源的进程就只能等待,当一个进程结束以后再把等待的进程装入内存,而这种频繁地装入内存操作效率也很低。
并且,由于指令都是可以访问物理内存的,那么任何进程都可以修改内存中其它进程的数据,甚至修改内核地址空间的数据,这是非常不安全的。
由于物理内存使用时,资源消耗大、利用率低及不安全的问题。因此,引入了虚拟内存。
虚拟内存是计算机系统内存管理的一种技术,通过分配虚拟的逻辑内存地址,让每个应用程序都认为自己拥有连续可用的内存空间。
而实际上,这些内存空间通常是被分隔开的多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END