11 存储器管理之分配存储
1 连续分配存储管理方式
1.1 单一连续分配
内存分为系统区,用户区。
应用程序装入用户区
1.2 固定分区

缺点:存在内碎片:分区之内未被利用的空间
1.3 动态分区分配
根据进程的实际需要为各进程分配连续的物理内存。
存在外碎片:分区之间未被利用的空闲分区
分配算法有:
- 首次适应算法(从头寻找合适的)
- 循环首次适应算法(从分配好的下面开始寻找)
- 最佳适应法(寻找最接近,合适的)
- 最差适应法(找到剩余空闲最大的)
1.4 伙伴系统
分配的分区和空闲分区 大小都是2k,k为整数,i≤k ≤m。2i表示分配的最小分区大小,2m表示分配的最大分区大小。
1.5 可重定位分区分配
创建进程后,进程可以在内存中任意移动位置。
要求地址绑定动作在执行指令时做
即程序员能使用虚拟地址或逻辑地址
1.5.1 紧凑
各个占用分区向内存一端移动,使各个空闲分区聚集在另一端,合并为一个较大的空闲分区
1.6 对换
是将暂时不能执行的程序或数据送到外存中,从而获得空闲内存空间来装入具备运行条件的进程或进程所需要的程序和数据
采取连续分配的方式,较少考虑碎片方式
2 基本分页存储管理
2.1 基本知识
页式管理:物理内存被划分为固定大小的页框(或称页帧),进程的逻辑地址空间也分为同样大小的页。创建进程时,分配他所需要的全部页框(不必连续)。
使用CPU中的MMU,将虚地址转换为物理地址。
2.2 基本分页管理的数据结构
进程页表:每一个进程有一个页表,描述该进程的每个逻辑页占用的物理页框号。页表存放在内存中。(以页框形式分配内存)
物理页面表:整个系统有一个物理页面表, 描述所有物理页框的分配使用状况。
请求表:整个系统有一个请求表,描述系统内各个进程页表的位置和大小(用于地址变换目的)

2.3 优缺点
优点:
- 没有外碎片,内碎片为页大小的50%
- 一个程序不必连续存放
缺点:
- 仍需程序全部装入内存
- 页表过大,占用内存,且要连续地址空间
- 进程只能占有一个虚拟地址空间
2.4 具有快表的地址变换机构(升级一下下)
将页表装在寄存器中。
由于页表数量大,因此可以根据程序局部性原理,将页表的一部分放在里面。

2.5 多级页表(cpu逻辑地址大,放不下)



浙公网安备 33010602011771号