进程的地址空间是怎么回事?虚拟内存是如何实现的

虚拟内存
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序 认为它拥有连续的可用的内存(一个连续完整的地址空间),而 实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。

虚拟内存的存在使得CPU上的指令访问的地址都是虚拟地址,而这些地址是需要在物理内存中真实存在的,这里就需要在虚拟地址和物理地址直接建立一个映射关系(应当是多对一的关系),就是一个整数集合到另一个整数集合的映射。然后在查找时,根据相应的算法(如先进先出,最多使用等)进行调度。

你可能感兴趣的:(进程/线程,操作系统)