在计算机系统中,进程是与其他进程共享CPU和主存资源的。但是共享主存会形成一些特殊的挑战。如果太多进程需要太多的内存,那么它们中的一些就根本无法运行,当一个程序没有空间可用时,那就是它运气不好了。另外内存还很容易被破坏,如果某个进程不小心写了另一个进程使用的内存,它就可能以某种完全和程序逻辑无关的令人迷惑的方式失败。
为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存。
虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个清晰的机制,虚拟内存提供了三个重要能力:
虚拟内存遍及计算机系统的所有层面,在硬件异常、汇编器、链接器、加载器、共享对象、文件和进程的设计中扮演者重要角色。
虚拟内存是计算机系统最重要的概念之一,它成功的一个主要原因就是因为它是默默地、自动地工作,不需要程序员的任何干涉。
联系客服