#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#define MAPSIZE 100
struct map //存储资源表结构
{
int m_addr;
int m_size;
};
struct map map[MAPSIZE]; //存储资源表
//BF存储分配函数
int BF_malloc(struct map *mp,int size)
{
register int a,s;
register struct map *bp,*bpp;
for(bp = mp; bp->m_size; bp++)
{
if (bp->m_size >= size)
{
a = bp->m_addr;
s = bp->m_size;
for(bpp = bp; bpp->m_size; bpp++)
{ //最佳适应
if(bpp->m_size >= size && bpp->m_size < s)
{
a = bpp->m_addr;
s = bpp->m_size;
bp = bpp;
}
}
bp->m_addr += size;
if ((bp->m_size -= size) == 0)
do
{
bp++;
操作系统实验三存储管理源码
最新推荐文章于 2021-12-16 15:39:40 发布
这篇博客主要展示了操作系统中两种存储管理算法的C语言实现:Best Fit(BF)和Worst Fit(WF)。BF算法寻找最适合的空闲区分配内存,而WF则选择最大的空闲区进行分配。此外,还包含了存储释放和内存映射的函数,以及一个简单的用户交互界面用于请求和释放内存。
摘要由CSDN通过智能技术生成