当前位置: 首页 > news >正文

操作系统(day09) -- 连续分配管理方式

连续分配管理方式

单元连续分配

在这里插入图片描述

动态分区分配

1.系统要用什么样的数据结构记录内存的使用情况?
两种常用的数据结构

  • 空闲分区表
    每个空闲分区对应一个表项。表项中包含分区号、分区大小、分区起始地址等信息
  • 空闲分区链
    每个分区的起始部分和末尾部分分别设置前向指针和后向指针。起始部分出还可记录分区大小等信息

2.当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配?
引出动态分区分配算法

3.如何进行分区的分配回收操作?假设系统采用的数据结构是“空闲分区表”

  • 回收区前有相邻的空闲分区
  • 回收区后有相邻的空闲分区
  • 回收前、后各有一个相邻的空闲分区
  • 回收前、后都没有相邻的空闲分区
    在这里插入图片描述
    课后思维导图总结
    在这里插入图片描述

动态分区分配算法

首次适应算法

每次都从低地址开始查找,找到第一个能满足大小的空闲分区。

如何实现?
空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。

最佳适应算法

由于动态区分配是一种连续分配方式,为各进程分配的空间必须是连续的一整片区域。因此为了保证当“大进程”到来时有连续的大片空间,优先使用更小的空闲区

如何实现?
空闲分区以容量递增的次序排列。每次分配内存时顺序查找空闲分区链,找到大小能满足要求的第一个空闲分区

在这里插入图片描述

最坏适应算法

又称 最大适应算法
每次分配时优先使用最大的连续空闲区,这样分配后的剩余的空闲区就不会太小,方便使用
如何实现?
空闲分区按容量递减的次序排列。每次分配内存时顺序查找空闲分区链,找到大小能满足要求的第一个空闲分区

四种算法的优缺点
在这里插入图片描述

http://www.lryc.cn/news/8209.html

相关文章:

  • APISpace 带你一起走进西湖美景
  • 傻白探索Chiplet,Design Space Exploration for Chiplet-Assembly-Based Processors(十三)
  • 系统分析师真题2020试卷相关概念一
  • 20230215_数据库过程_渠道业务计算过程
  • 【C++】Expression的学习笔记
  • [数据库迁移]-MySQL常见问题
  • C语言编译过程
  • 前端学习 ---常用标签
  • 2023年PMP考试难不难?
  • Netty 入门
  • 收藏|一文掌握数据分析在企业的实际流程
  • 100ask_imx6ull 输出PWM
  • yolov5编译安卓APP:解决图像上全是检测框
  • 为什么我们需要地图?
  • 攻防世界1.新手练习区
  • Python进阶篇(二)-- Django 深入模型
  • ABAP SALV实现弹出ALV选择
  • git check-pick,git patch 与 git stash 详解
  • OA漏洞-到处搜集整理
  • web端接收读卡器卡片信息
  • BUUCTF-练习场-WEB-第一部分(8道)
  • Java Reflection 实战- Class类
  • 背包问题理解思路(01背包、完全背包、分组背包)
  • Mr. Cappuccino的第39杯咖啡——Kubernetes之深入理解Pod
  • SqlSession 和 SqlSessionTemplate 简单使用及注意事项
  • 1. QSaveFile和QFile的简单使用
  • 工业4.0是如何优化垃圾处理行业的
  • vue 动画(transition)
  • Python 爬虫工程师面试经验分享,金三银四
  • MySQL实战篇-MySQL 降配导致的实例宕机