操作系统原理之内存管理(第四章第二部分)
一、基本分页存储管理方式
1、分⻚存储管理的基本原理:
- 页:将⼀个进程的逻辑地址空间分成若⼲个⼤⼩相等的⽚
- 页框:将物理内存空间分成与⻚⼤⼩相同的若⼲个存储块
- 分⻚存储:将进程中的若⼲⻚分别装⼊多个可以不相邻的⻚框中
- 页内碎片:进程最后⼀⻚⼀般装不满⼀个⻚框,形成⻚内碎⽚
- 页表:实现从⻚号到⻚框号的映射
************************************************************************************************
2、分⻚地址结构:基本分页存储管理方式的逻辑地址结构包括两部分,即页内偏移量 和页号
*******************************************************************************************************************
例题:
*****************************************************************************************************************
3、分⻚地址变换
- 进程执行,pcb中页表起始地址和页表长度送到cpu的页表寄存器
- cpu访问某个逻辑单元a
- 由分页地址变换硬件自动将a分为页号和页内偏移两部分
- 由硬件检索页表,得到a所在的页对应的页框号
- 页框号和页内偏移地址送物理地址寄存器,计算物理地址。物理地址=页框大小✖页框号+页内偏移量
4、⻚⼤⼩的选择因素
- 管理内存开销 :页较⼩,划分为较多⻚,⻚表过⻓,占内存 较⼤
- 内存的利⽤率: 页较⼤,⻚内碎⽚⼤,空间利⽤率低
5、快表tlb:
快表也称“转换后援缓冲”,是为了提⾼cpu访存速度⽽采⽤的专⽤缓存, ⽤来存放最近被访问过的⻚表项。
快表tlb的计算:
***************************************************************************************************************************************
6、两级和多级⻚表
将⻚表再分⻚,形成两级或多级⻚表,将⻚表离散地存放在物理内存中。
**********************************************************************************************************
二、基于分页的虚拟存储系统
1、虚拟存储器:
- 虚拟存储器是指具有请求调⼊功能和置换功能,能从逻辑上对内存容量 进⾏扩充的⼀种存储器系统
- 就是说,先将进程的⼀部分装⼊内存,其余的部分什么时候需要,什么 时候请求系统装⼊,即请求调⼊
- 如果请求调⼊时,没有⾜够的内存,则由操作系统选择⼀部分内存中的 进程内容移到外存,以腾出空间把当前需要装⼊的内存调⼊,即置换
2、请求分⻚系统是最基本、最常⽤的虚拟存储系统的实现⽅式
请求分⻚中的硬件⽀持:
为了实现请求分⻚,需要: 特殊的⻚表、缺⻚异常机构和⽀持请求分⻚的地址变换机构。
⻚分配策略:
*****************************************************************************************************************************
***********************************************************************************************************************************
*****************************************************************************************************************************************
三、分段存储管理
四、 linux的伙伴系统