【操作系统】第三章:连续式内存分配

3.1 计算机体系结构及内存分布体系

  • 计算机体系结构/内存分层体系
  • 地址空间&地址生成
  • 连续内存分配
    在这里插入图片描述
    在这里插入图片描述

(1)操作系统要完成的目标

  • 抽象:逻辑地址空间
  • 保护:独立地址空间
  • 共享:访问相同内存
  • 虚拟化:更多的地址空间
    在这里插入图片描述

(2)操作系统实现内存管理目标的手段

  • 程序重定位
  • 分段
  • 分页
  • 虚拟内存
  • 按需分页虚拟内存·

(3)实现高度依赖于硬件

  • 必须知道内存框架
  • MMU(内存管理单元):硬件组件负责处理CPU的内存访问请求

3.2地址空间与地址生成

(1)地址空间定义

  • 物理地址空间------硬件支持的地址空间
  • 逻辑地址空间------一个运行的程序所拥有的内存范围
    在这里插入图片描述

逻辑地址的生成

在这里插入图片描述
在这里插入图片描述
(4)地址安全检查
在这里插入图片描述

3.3连续内存分配

(1)内存碎片与分区的动态分配

在这里插入图片描述

简单的内存管理方法:

  • 当一个程序准许运行时,分配一个连续的区间
  • 分配一个连续的内存区间给运行的程序以访问数据
    在这里插入图片描述

(2)分配策略

首次适配

在这里插入图片描述

基本原理&实现

需求:

  • 按地址排列的空闲块列表
  • 分配需要寻找一个合适的分区
  • 重分配需要检查,看是否自由分区能合并于相互邻的空闲分区

优势:

  • 简单
  • 易于产生更大空闲块,向着地址空间的结尾

劣势:

  • 外部碎片
  • 不确定性

最优适配算法

在这里插入图片描述

基本原理&实现
  1. 为了避免分割大空闲块
  2. 为了最小化外部碎片产生的尺寸
    需求:
  • 按尺寸排列的空间块列表
  • 分配需求寻找一个合适的分区
  • 重分配需要搜索及合并于相邻的空闲分区,若有

优势:

  • 当大部分分配是小尺寸时非常有效
  • 比较简单

劣势:

  • 外部碎片
  • 重分配慢
  • 易产生很多没用的微小碎片(不怎么好)

最差匹配分配

在这里插入图片描述

基本原理&实现

为了避免有太多微小的碎片
需求:

  • 按尺寸排列的空闲块列表
  • 分配很快(获得最大的分区)
  • 重分配需要合并于相邻的空闲分区,若有,然后调整空闲块列表

优势:

  • 假如分配是中等尺寸效果最好

劣势:

  • 重分配慢
  • 外部碎片
  • 易于破碎大的空闲块以致大分区无法被分配

3.4连续内存分配:压缩式与交换式碎片整理

(1)压缩式碎片整理

在这里插入图片描述

(2)交换式碎片整理

  • 运行程序需要更多的内存
  • 抢占等待的程序&回收他们的内存
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值