虚拟内存

为什么要有虚拟内存?

1、保证数据的安全性,因为如果程序运行在物理内存的话会很容易内存越界访问到其他程序的数据,并且这个会导致操作系统把这个程序杀掉,这样恶意进程就不容易访问到其他进程的数据。

2、通过分段或者分页方式在内存和硬盘之间构建一层中间层,通过页表把虚拟内存和物理块连接起来,可以提高内存使用率。

3、可以把一个超过需要内存大小的程序导入到内存中,每次导入一部分,如果缺少数据就缺页中断把缺少的数据从硬盘中导入到内存。

因为每个进程都使用虚拟内存,无法知道其他进程的地址,这样如果进程间要通话的话需要借助其他方式。

进程通话方式