虚拟内存是一种管理内存的方式,是最近计算机中使用的一种技术趋势。硬件(计算机的物理部分,如CPU或显卡)运行软件。这个软件需要计算机内存来运行,并做它需要做的事情。今天使用的大多数计算机可以同时做一件以上的事情,它们运行一个以上的应用程序。这就是所谓的多处理。

在这种情况下,同一时间在计算机上运行的所有程序或应用程序都会共享其资源。一台计算机不会因为运行的程序多而拥有更多的处理器或主内存(RAM)。

虚拟内存是指应用程序看到一个给定大小的内存块。应用程序可以根据自己的需要使用这个内存。这个内存块是虚拟的,因为它来自不同的部分。其中一些可能在计算机的主内存中,但有些也可能在磁盘上。CPU有一个特殊的部分,叫做算术逻辑单元,它做一些应用内存和系统资源之间的转换。现代操作系统也会做一部分这样的工作。

当一个程序试图访问一个不在系统内存中的内存块时,该程序会被停止,而该内存块会被加载到系统内存中。系统内存中的那部分内容被写入磁盘。这通常称为分页。

某些计算机系统,如嵌入式系统,不使用虚拟内存,因为它们需要一个非常快的响应时间,或者说一个始终保持不变的响应时间。其中一个问题是,使用虚拟内存很难预测响应时间。一个应用程序使用一部分需要从磁盘加载的内存,它的响应时间将与不使用的应用程序不同。因此,虚拟内存的概念并没有在嵌入式系统中使用。