1. 基本原理要点
- 内存分大小想的帧(Frame);
- 进程按照帧的大小被分为若干页(Page);
- 进程仅装入部分页面,即开始执行
- 在执行过程中访问的页若已在内存,进行动态的地址重定位,执行指令(同基本分页存储管理)
2. 请求分页式存储管理
- 在执行过程中访问的页未装入内存时,产生缺页中断,进程阻塞,等待从磁盘动态装入页面;
- 缺页装入以后,进程转入就绪,可以参与调度继续执行;
- 内存无空闲可用帧时,暂时不用的页面可换出到交换区;
- 通过页面的换入换出,实现小内存运行大进程。
3. 进程的一个页面会存在哪里?
4. 数据结构
- 位示图
系统设置一张位示图,记录内存划分为多少个帧,一个帧用0/1记录该帧占用还是空闲。 - 页表
为一个进程设置一张页表,记录该进程分了多少页、每一页是否已装入内存、内/外存地址、访问权限等的相关管理信息。
与基本分页存储管理的页表相比: 扩充页表的内容,增加驻留标志位和页面辅存的地址等信息。
5. 地址重定位机制
当一个进程调度时, 系统将其页表首址装入CPU中的页表控制寄存器。运行中用相对地址的高端部分作为页号去检索页表,看该页是否已在内存。
6. 不发生缺页时的地址重定位
若已在内存,就按普通分页机制的方式直接生成物理地址,并将访问标志和修改标志设置好。
7. 如果访问的页不在内存怎么办?
在缺页中断处理过程中,装入缺页,继续地址重定位