虚拟内存
虚拟内存目的是将物理内存扩充成更大的逻辑内存,从而让程序可以获得更多的内存。
操作系统将内存抽象成地址空间,让每个程序拥有自己的地址空间并将其分割成多个块,每一块成为一页。这些页映射到物理内存时就不需要映射到连续的物理内存上,也不用全部在物理内存(需要时通过页面调度进入内存即可)。
页面置换算法
分段
虚拟内存采用分页技术,将地址空间分成固定大小的页,每一页再与内存映射。
分段就是将程序资源分成段,一个段构成独立的地址空间,每个段长度可以不同,切可以动态增长。
段页式
程序的地址空间划分成多个有独立地址空间的段,每个段上地址空间划分为大小相同的页。这样既有分段系统的共享和保护,又有分页系统的虚拟内存功能。
分页和分段比较
①透明性:分页是透明的,但分段需要程序员显式划分。
②地址空间的维度:分页是一维地址空间,分段是二维的。
③大小可变性:页大小不可变,段可变
④原因:分页主要用于虚拟内存,为了获取更大地址空间;分段为了使程序和数据可以划分为逻辑上独立的地址空间,有助于共享和保护。