一、虚拟内存
(一)概念
1.定义:
具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充得一种存储器系统。其逻辑容量由内存之和和外存之和决定。
2.与传统存储器比较虚拟存储器有以下三个主要特征:
- 多次性,是指无需在作业运行时一次性地全部装入内存,而是允许被分成多次调入内存运行。
- 对换性,是指无需在作业运行时一直常驻内存,而是允许在作业的运行过程中,进行换进和换出。
- 虚拟性,是指从逻辑上扩充内存的容量,使用户所看到的内存容量,远大于实际的内存容量。
3.虚拟内存的实现有以下两种方式:
- 请求分页存储管理。
- 请求分段存储管理。
4.分页存储
分页系统的核心在于,将虚拟内存空间和物理内存空间皆划分为大小相同的页面,如 4KB、8KB 或 16KB 等,并以页面作为内存空间的最小分配单位,一个程序的一个页面可以存放在任意一个物理页面里。
为了便于在内存中找到进程的每个页面所对应的物理块,系统为每个进程建立一张页表,记录页面在内存中对应的物理块号,页表一般存放在内存中。在配置了页表后,进程执行时,通过查找该表,即可找到每页在内存中的物理块号。可见页表作用是实现从页号到物理块号的地址映射,这种是页存储管理方式。如下图所示:
- 解决空间浪费碎片化问题
- 解决程序大小受限问题