计算机操作系统内存管理系统可变分区存储管理方式的内存分配回收.doc
【计算机操作系统内存管理系统可变分区存储管理方式的内存分配回收】 在计算机操作系统中,内存管理是确保高效利用有限内存资源的关键部分。可变分区存储管理方式是一种动态分配内存的方法,它根据进程的需求来划分内存,使得内存分配更加灵活。本课程设计的目标是深入理解并实现这种管理方式的内存分配和回收。 **预备知识** 在可变分区存储管理中,内存被分为多个可变大小的分区,每个分区可以分配给一个进程。当进程需要内存时,操作系统会寻找一个足够大的空闲分区来满足其需求。当进程结束时,分配给它的分区会被回收,重新成为空闲分区。 **设计思路与算法** 整体设计思路是将内存视为一个大的空闲区,作业(即进程)装入时,系统会从空闲区中找到满足需求的最小分区分配给它。为了实现这一目标,采用了最优适应算法,该算法优先分配最小的能满足要求的空闲分区,以最大化剩余的大块内存。 然而,最优适应算法可能导致产生大量的小碎片,因为分配后的小空闲区可能无法再满足大进程的需求。为了解决这个问题,引入了一个阈值`minsize`,如果空闲区减去作业需求后剩余的部分小于等于`minsize`,那么整个空闲区都会被分配给作业,而不是仅分配一部分。 **数据结构** 1. **已分配表(used_table)**:记录已分配给作业的分区信息,包括起始地址、长度和一个标志位,标志位为0表示空栏目,用于存储作业名。 2. **空闲分区表(free_table)**:记录所有空闲分区的信息,包括起始地址、长度和标志位,标志位为0表示空栏目,1表示未分配。 **全局变量** `minsize`是设定的最小分割阈值,初始设置为5。`n`和`m`分别代表已分配表和空闲分区表的最大容量,这里假定为10。 **核心算法** - **最优分配算法(distribute)**:这个函数负责找到满足需求的最小空闲分区。通过遍历空闲分区表,找到第一个满足条件的最小空闲分区,并将其分配给作业。如果剩余空间小于`minsize`,则整个空闲区分配给作业。否则,将空闲区分为两部分,一部分分配给作业,另一部分保持为空闲。 **内存回收** 内存回收时,首先在已分配表中找到对应作业的记录,将其标志位改为0,表示该分区已释放。然后检查空闲区表,如果存在相邻的空闲区,将它们合并,更新空闲区的起始地址和长度。 可变分区存储管理方式通过动态分配和回收内存,以及使用最优适应算法来提高内存利用率,但同时也需要处理小碎片的问题。通过数据结构的维护和特定算法的实施,可以有效地实现这一过程。

















剩余21页未读,继续阅读


- 粉丝: 3927
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- ERP系统在项目管理中的应用.docx
- STM32以太网进阶培训:01-STM32以太网外设介绍.pdf
- 运用信息化教学提高中职数学教学中学生自主学习能力的探究.docx
- PLC火灾自动报警系统设计方案.doc
- 项目安全管理指导手册.doc
- STM32H7_高性能系列及应用设计_20210701.pdf
- 销售收款作业指引.doc
- 全国计算机二级测验笔试试题.doc
- 年产10000吨脂肪酶生产项目的可行性报告.doc
- 农村生活污水处理工程报告.doc
- 一般废弃物管理规定B2.doc
- 活用互联网技术-激活数学课堂教与学.docx
- 2017视频片头商业计划书PPT模板设计.pptx
- 【STM32MP1线上课程】STM32MP1 online training_26_M4 load FW Uboot&K
- 基于教育信息化背景下的小学科学课程实践教学初探.docx
- 大数据时代企业财务内部控制的探析.docx


