• 大小: 1.80KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-26
  • 语言: 其他
  • 标签: 其他  

资源简介


操作系统课程设计 模拟设计动态分区存储管理的分配与回收

资源截图

代码片段和文件信息

#include
using namespace std;
//#define MAX_LEN 1024//定义内存大小,1024字节
enum Status{FREEBUSYOKERROR};
struct PST
{//partition specification table
int ID;//分区号
int  addr;//起始地址
int size;//分区长度
Status state;//状态
};
struct Node
{//双向链表结点
PST data;
Node *back;//前驱
Node *next;//后继
Node()
{
back=NULL;
next=NULL;
}
Node(int idint size)
{
data.ID=id;
data.size=size;
back=NULL;
next=NULL;
}
};
int area;//输入内存空间
Node *head*last;
void Init(int area)
{
head=new Node();
last=new Node();
head->next=last;
last->back=head;
last->data.addr=0;
last->data.ID=0;
last->data.size=area;
last->data.state=FREE;
}
Status FFA(int idint size)
{//head fit algorithm
Node *temp=new Node(idsize);
temp->data.state=BUSY;
Node *cur=head->next;
while(cur)
{
if(cur->data.state==FREE&&cur->data.size==size)
{//如果空闲块大小刚好与请求大小相等直接分配 
cur->data.ID=id;
cur->data.state=BUSY;
return OK;
break;
}
if(cur->

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6598  2010-01-26 19:01  partition.cpp

----------- ---------  ---------- -----  ----

                 6598                    1


评论

共有 条评论