一、单一连续分配
按顺序分配
二、固定分区分配
分区大小固定,存放时会出现很多内部碎片
三、动态分区分配
1、支持的数据结构
空闲分区表 空闲分区链
2、分区分配操作
1、分配内存
2、回收内存
3、分配算法
1、基于顺序搜索的分配算法:
1)FF
2)NF
3)BF
4)WF
2、基于索引搜索的分配算法
1)快速适应算法:空闲分区根据其容量大小进行分类。将空闲分区用链表链接起来的,并设立了一个索引管理表。
2)伙伴系统:规定任何分区大小都为 2^k 大小。分配空间时,产生的碎片加入到小空间的链表中
3)哈希算法:·构建哈希表
3、动态可重定位分区分配
1)将碎片移到一起
2)动态重定位:程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加形成
分页.分段存储管理
一、分页存储管理
1、基本方法:
1)页面:将逻辑地址空间分成若干页。最后一页会形成页内碎片,页面大小往往为1~8kb。
2)地址结构:地址结构分为两部分:页号和位移量。位移量位数为页面大小。
3)页表:为管理页面的映像表,元素为 页号 块号。
2、地址变换机构:
1)基本:一个页表用一个寄存器
2)快表:单独一个页表,里面当前访问的页表项(放入联想存储器)
3、多级页表:
为页表建一个页表(外部页表,顶级页表)
4、反置页表:
为每个物理块设置一个页表项
二、分段存储管理
1、引入原因:
1)方便编程
2)信息共享
3)信息保护
4)动态增长
5)动态链接
2、与分页主要区别:
1)页是信息的物理单位
2)页的大小由系统决定
3)分页的用户程序地址空间是一维的
3、信息共享
不管每段多大,共享时为该段设置一个段表项,非常容易
三、段页式存储管理方式
将段表的每一段划分成页