内存分配的过程:

单一连续分配是最简单的内存分配方式
分为系统区 和 用户区
***固定分区分配***: 支持多道程序的最简单存储分配方式
每个分区只提供给一个程序使用
***动态分区分配***:空闲表 空闲链(节点要记录可存储的容量)
动态分区分配算法:
    首次适应算法(FF)
    最佳适应算法(BF)把链表按照容量大小排序
    节点1 [1] -> 节点4 [1] -> 节点2-3 [2] -> 节点5-6 [2] 避免大材小用的发生
    快速适应算法 (QF) 多个空闲区链表 
    

内存回收的过程:回收区的位置

1.在一个空闲区之前 两个合并 新的空闲区使用回收区的地址
2.在一个空闲区之后 
3.在两个空闲区的中间 三个合并 使用最上面空闲区的地址
4.一个单独的回收区 直接创建新的空闲节点

页式存储管理:(页面大小通常是512B - 8K)

进程逻辑空间分成若干大小的页面 (假如页面大小1.5,放到节点2-3上之后产生0.5大小的内存碎片)
物理内存空间分成页面大小的逻辑块
以页面为单位把进程空间装进物理内存中分散的物理块
页表: 记录逻辑空间到物理空间的映射

段式存储管理:

进程逻辑空间分为若干段(不等分)
段的长度由连续逻辑的长度决定
主函数main 子程序段X 子函数Y

段页式逻辑管理:

先将逻辑空间按段式分为若干段
再把段内空间按页式管理分为若干页






SkinnyTracy
15 声望6 粉丝