虚拟内存
虚拟内存是一种管理内存的方式,是最近计算机中使用的一种技术趋势。硬件(计算机的物理部分,如CPU或显卡)运行软件。这个软件需要计算机内存来运行,并做它需要做的事情。今天使用的大多数计算机可以同时做一件以上的事情,它们运行一个以上的应用程序。这就是所谓的多处理。
在这种情况下,同一时间在计算机上运行的所有程序或应用程序都会共享其资源。一台计算机不会因为运行的程序多而拥有更多的处理器或主内存(RAM)。
虚拟内存是指应用程序看到一个给定大小的内存块。应用程序可以根据自己的需要使用这个内存。这个内存块是虚拟的,因为它来自不同的部分。其中一些可能在计算机的主内存中,但有些也可能在磁盘上。CPU有一个特殊的部分,叫做算术逻辑单元,它做一些应用内存和系统资源之间的转换。现代操作系统也会做一部分这样的工作。
当一个程序试图访问一个不在系统内存中的内存块时,该程序会被停止,而该内存块会被加载到系统内存中。系统内存中的那部分内容被写入磁盘。这通常称为分页。
某些计算机系统,如嵌入式系统,不使用虚拟内存,因为它们需要一个非常快的响应时间,或者说一个始终保持不变的响应时间。其中一个问题是,使用虚拟内存很难预测响应时间。一个应用程序使用一部分需要从磁盘加载的内存,它的响应时间将与不使用的应用程序不同。因此,虚拟内存的概念并没有在嵌入式系统中使用。
程序认为它有一个大范围的连续地址;但实际上它目前使用的部分分散在主内存中,而不活动的部分则保存在磁盘文件中。
问题和答案
问:什么是虚拟内存?答:虚拟内存是一种管理计算机内存的方式,它允许应用程序访问一个特定大小的内存块。这块内存可以来自不同部分,如主内存或磁盘。
问:虚拟内存是如何工作的?
答:虚拟内存的工作原理是允许CPU的算术逻辑单元在应用程序和系统资源之间进行转换。现代的操作系统也做了部分的工作。当一个应用程序试图访问一个不在系统内存中的内存块时,它将被停止,该内存块将被加载到系统内存。
问:有哪些计算机不使用虚拟内存的例子?
答:嵌入式系统是不使用虚拟内存的计算机的一个例子,因为他们需要快速的响应时间或始终保持相同的响应时间。使用虚拟内存很难预测响应时间,所以它没有被用于嵌入式系统。
问:什么是多处理?
答:多处理是指计算机可以同时做一件以上的事情,同时运行多个应用程序,共享其资源。
问:当一个应用程序试图访问一个不在系统内存中的内存块时会发生什么?
答:当一个应用程序试图访问一个不在系统内存中的内存块时,它将被停止,该块将被加载到系统内存中。
问:什么是分页?
答:分页指的是,由于应用程序访问原本不在系统内存中的另一部分,而需要将该部分的内容写回磁盘的情况。