操作系统(Linux)--首次适应法实现主存分配和回收

本文介绍了操作系统中采用首次适应算法进行主存分配和回收。在可变分区管理下,通过二叉树数据结构实现,初始化时将内存分为已分配和空闲区。在分配和回收过程中,遵循首次找到足够大小的空闲区原则。实验展示了分配32K给homework5和8K给homework6,以及回收homework3的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 首次适应算法:

       从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高地址空间保留大的空闲区。

 

  题目要求:

 

在可变分区管理方式下采用首次适应算法实现主存分配和回收。

[提示]:

(1) 可变分区方式是按作业需要的主存空间大小来分割分区的。当要装入一个作业时,根据作业需要的主存容量查看是否有足够的空闲空间,若有,则按需分配,否则,作业无法装入。假定内存大小为128K,初始状态见下图。空闲区说明表格式为:起始地址——指出空闲区的起始地址;长度——一个连续空闲区的长度;状态——有两种状态,一种是“未分配”状态,另一种是“空表目”状态。

(2) 采用首次适应算法分配。运行时,输入一系列分配请求和回收请求。

 

 

 

设计思路:

数据结构采用的是二叉树;

初始化,只有一个根节点,分为左右孩子,左孩子用来装入作业,

右孩子为空闲区

 

 

第一个数据表示地址,第二个表示长度,第三个表示状态

(因为0到5K分给了系统)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值