2022-05-17虚拟内存机制解决的问题

虚拟内存的解释:
虚拟存储技术的基本思想时利用大容量外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟空间,简称虚存,以便能够有效地支持多道程序系统的实现和大型程序运行的需要,从而增强系统的处理能力。

1.安全问题:

虚拟内存机制为每一个进程分配了线性的连续的内存空间,操作系统将这种虚拟的内存空间映射到物理的内存空间上面(就是下面的内存问题解决),每个进程都有自己的虚拟内存空间,不能够访问其他进程的内存空间,只有操作系统才能够操作物理的内存空间。故产生的内存隔离能够保证各进程之间的安全。(但是由此也衍生出了跨进程通信的必要性).

2.内存问题

当进程开始运行时,先将一部分程序装入内存,另一部分暂时留在外存;当要执行的指令不在内存时,由系统自动完成将它们调入内存的工作;当没有足够的内存时,系统自动选择部分内存(暂不执行的程序)空间,将其中原有的内容交换到磁盘上,并释放这些内存空间供其他进程使用。(其中所说的外存就是我们的虚拟内存,通过这样的程序的暂时存储,就好像产生了一个比有线的实际空间大的多的内存空间)
这样做的结果使程序的运行丝毫不受影响,使程序在运行中感觉到拥有一个不受内存容量约束的、虚拟的、能够满足自己需求的存储器。

这里负责将虚拟内存空间进行映射的就是MMU(内存管理单元)

不同系统的虚拟内存的组成:
Linux:SWAP分区
windows:硬盘上的文件:PageFile.Sys

你可能感兴趣的:(2022-05-17虚拟内存机制解决的问题)