计算机系统内存管理
虚拟内存与物理内存
在计算机系统中进程之间是共享物理内存和其他系统资源的。为了更加有效管理内存和减少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存,它为每个进程提供了一个大的、私有的和一致的内存空间。物理内存通常是具有掉电就丢失的高速RAM构成,而虚拟内存通常是指在硬盘上开辟的一块区域。虚拟内存有三个主要的作用:
1.它将主存看成是一个存储磁盘上的地址空间数据的高速缓存,在主存中只保存活动区域,根据需要在主存和磁盘之间来回交换数据,这样可以高效利用内存。
2.它为每个进程提供了一致的地址空间,这样便于内存管理,以及便于链接器链接和加载器加载代码到内存中运行。
3.虚拟内存还可以保证每一个进程的地址空间不被其他的进程破坏。
物理寻址和虚拟寻址
物理寻址
CPU通过直接发送物理地址到主存读取所在地址的数据内容的方式称为物理寻址,物理寻址速度快,简单直接,在大多数嵌入式处理器中都采用的是这种方式寻址。
虚拟寻址
在虚拟寻址系统中,CPU将虚拟地址传递给内存管理单元MMU,MMU将虚拟地址翻译成物理地址传递给主存来读取对应物理地址的数据内容到CPU。这种寻址方式常用于比较复杂的系统中&#