FF,NF,BF

本文介绍了三种分区分配算法:首次适应(FF)、循环首次适应(NF)和最佳适应(BF)。通过模拟示例展示了如何在存储管理中应用这些算法进行分区的分配和回收。在测试案例中,详细解释了如何根据作业需求选择合适的分区。

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

FF,NF,BF

 

设计一个可变式分区分配的存储管理方案。并模拟实现分区的分配和回收过程。

对分区的管理法可以是下面三种算法之一:

首次适应算法

循环首次适应算法

最佳适应算法

 

对于测试样例

首地址        大小

123            3

125            2

213            4

     作业名        大小

      1             3

      2             3

      3             1

123开始查找,其大小满足作业1的需求,因此直接分配,开始作业2,再从头开始,123已经不能再分配,查找125,125由于被占用了1个地址单元,可以利用的只有1个地址单元,继续寻找,213满足,分配,开始作业3,此时125刚好满足,只不过地址是从126开始的。

代码:

#include <iostream>
#include <cstring>
#define Max_num 10
#define Max_job_num 10

using namespace std;

struct partition
{
    int address;
    int size;
    bool state;
    partition& operator = (partition& B)
    {
        this->address = B.address;
        this->size = B.size;
        this->state = B.state;
        return *this;
    }
};

typedef struct
{
    string name;
    int size;
} job;

typedef struct
{
    partition data[100];
} Singlypartition;

typedef struct
{
    job data[100];
} Singlyjob;

Singlypartition p;
Singlyjob j;
int part_num,job_num;
int address[10];
int address1[10];

void init()
{
    for(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值