目录:
定义-虚拟内存(VM)是什么意思?
虚拟内存(VM)是为操作系统(OS)内核开发的功能,它可以模拟其他主内存,例如RAM(随机访问内存)或磁盘存储。 该技术通过允许同时加载和执行更大的程序或多个程序来涉及对存储器的操纵和管理。 它还允许每个程序像具有无限内存一样运行,并且通常被认为比购买额外的RAM具有更高的成本效益。
虚拟内存允许软件通过将硬盘驱动器(HDD)用作临时存储来使用其他内存。 大多数中央处理单元(CPU)提供支持虚拟内存的内存管理单元(MMU)。 MMU支持“页表”,用于转换位于内存和HDD上的“真实”和“虚拟”地址。
使用虚拟内存的OS通过从HDD传输不需要立即使用的数据来释放空间。 需要数据时,会将其复制回HDD。 使用所有RAM时,VM会将数据交换到HDD,然后再次返回。 因此,VM允许更大的总系统内存; 但是,需要复杂的代码编写。
Techopedia解释了虚拟内存(VM)
在VM之前的1940年代和1950年代,大型程序实现了用于管理主存储和辅助存储的逻辑。 该过程称为覆盖。 当程序大于内存存储空间时,该过程会将程序中未被连续使用的部分视为覆盖。 每个单独的覆盖都会覆盖内存中的当前覆盖。 覆盖的编程是广泛的。 创建VM的主要原因之一不是为了增加主内存,而是为了易于编程。 到1969年,虚拟内存的有效性得以实现。 并得到广泛实施。
VM实际上会尝试使用比实际数量更多的RAM或磁盘存储内存。 此过程允许CPU同时处理较大的程序和多个程序。 VM是通过暂时存储和控制内存来利用HDD的普通操作系统(OS)和硬件程序。 操纵和管理内存的过程使每个应用程序都可以发挥作用,就好像它具有几乎无限的内存一样。 临时内存由内存管理单元(MMU)(也称为“分页内存管理单元”(PMMU))管理。
“实际”内存分为称为“页面”的小部分。页面的大小通常为4 KB。 当使用了所有RAM或磁盘内存时,任何未使用的页面都将被写入交换文件中的虚拟内存。 当需要交换文件时,它将转换回“实际”内存,此过程称为页面交换。
使用VM的几个缺点之一是页面交换过多,尤其是在用户拥有大量打开的应用程序的情况下。 这可能会导致程序大大减慢速度,因为CPU花费大量时间写入HDD。 性能的显着降低称为抖动。