资源简介
循环首次适应算法
最佳适应算法
最坏适应算法
代码片段和文件信息
#include
#include
using namespace std;
#include“stdlib.h“
typedef struct area{
int start;
int length;
int state;
struct area *next;
}Area*pArea;
Area *head;
const int Max=255;
void PrintMemoryState(Area *);
void BestFit(Area *);
void WorstFit(Area *);
void init();
void main()
{
int Choice;
//开始循环
while(1)
{
system(“cls“);
init();
PrintMemoryState(head);
printf(“1.最优适应法;2.最差适应法;0.退出程序\n“);
scanf(“%d“&Choice);//输入你所要的选项。为choice 的值
switch(Choice)
{
case 0:
printf(“The System Is Shutdown... \n“);
exit(0);
case 1:
BestFit(head);
PrintMemoryState(head);//最优适应法
break;
case 2:
WorstFit(head);
PrintMemoryState(head);//最差适应法
break;
default:
printf(“Please input a right number!\n“);
break;
}
system(“pause“);
}
}
void init()
{
Area *work;
Area *p;
Area *p1;
Area *p2;
Area *p3;Area *p4;Area *p5;
//int start;
delete head;
head=(Area *)malloc(sizeof(Area));//分配头指针
//extern void *malloc(unsigned int num_bytes)功能:分配长度为num_bytes字节的内存块
work=(Area *)malloc(sizeof(Area));
head->start=0;
head->length=0;
head->state=0;
head->next=NULL;
//装入系统
printf(“.............正在载入系统中..............\n“);
work->start=0;
work->length=1;
work->next=NULL;
work->state=0;
head->next=work;
p=(Area *)malloc(sizeof(Area));
p->start=1;
p->length=32;
// p->next=NULL;
p->state=0;
work->next=p;
p1=(Area *)malloc(sizeof(Area));
p1->start=33;
p1->length=16;
// p1->next=NULL;
p1->state=0;
p->next=p1;
p2=(Area *)malloc(sizeof(Area));
p2->start=49;
p2->length=8;
// p2->next=NULL;
p2->state=0;
p1->next=p2;
p3=(Area *)malloc(sizeof(Area));
p3->start=57;
p3->length=4;
//p3->next=NULL;
p3->state=0;
p2->next=p3;
p4=(Area *)malloc(sizeof(Area));
p4->start=61;
p4->length=64;
// p4->next=NULL;
p4->state=0;
p3->next=p4;
p5=(Area *)malloc(sizeof(Area));
p5->start=125;
p5->length=Max-125;
p5->next=NULL;
p5->state=0;
p4->next=p5;
}
void PrintMemoryState(Area *head)
{
int state=-1;
Area *temp=(Area *)malloc(sizeof(Area));
temp=head->next;
printf(“\t起始地址\t内存长度\t内存状态\n“);
do
{
printf(“\t%8d\t%8d\t%8d\n“temp->starttemp->lengthtemp->state);
temp=temp->next;
}while(temp!=NULL);
return ;
}
void WorstFit(Area *head)//装入作业最差适应法
{
int lengthtemp;
int a[3];
Area *last=NULL;
Area *newFree=NULL;
int i;
int name=0;
cout<<“请分别输入需要分配内存的3个作业内存长度:“< for(i=1;i<=3;i++)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2008-06-27 17:56 最优最差算法\
目录 0 2008-06-27 11:41 最优最差算法\Debug\
文件 7580 2010-01-27 18:36 最优最差算法\Debug\BuildLog.htm
文件 400588 2010-01-27 18:36 最优最差算法\Debug\dynamic.obj
文件 67 2010-01-27 18:36 最优最差算法\Debug\mt.dep
文件 82944 2008-06-27 17:56 最优最差算法\Debug\vc60.idb
文件 118784 2008-06-27 11:41 最优最差算法\Debug\vc60.pdb
文件 478208 2010-01-27 18:36 最优最差算法\Debug\vc90.idb
文件 184320 2010-01-27 18:36 最优最差算法\Debug\vc90.pdb
文件 399437 2010-01-27 14:34 最优最差算法\Debug\余子晨.obj
文件 500736 2010-01-27 18:36 最优最差算法\Debug\操作系统4.exe
文件 406 2010-01-27 14:29 最优最差算法\Debug\操作系统4.exe.em
文件 472 2010-01-27 14:29 最优最差算法\Debug\操作系统4.exe.em
文件 381 2010-01-27 18:36 最优最差算法\Debug\操作系统4.exe.intermediate.manifest
文件 795196 2010-01-27 18:36 最优最差算法\Debug\操作系统4.ilk
文件 2706432 2010-01-27 18:36 最优最差算法\Debug\操作系统4.pdb
文件 5686 2010-01-27 17:31 最优最差算法\dynamic.cpp
文件 4317 2008-06-25 21:44 最优最差算法\操作系统4.dsp
文件 526 2008-06-25 20:10 最优最差算法\操作系统4.dsw
文件 1567744 2010-01-27 20:09 最优最差算法\操作系统4.ncb
文件 48640 2008-06-27 17:56 最优最差算法\操作系统4.opt
文件 895 2008-06-27 17:56 最优最差算法\操作系统4.plg
文件 891 2010-01-27 20:09 最优最差算法\操作系统4.sln
文件 14848 2010-01-27 20:09 最优最差算法\操作系统4.suo
文件 5201 2010-01-27 21:32 最优最差算法\操作系统4.vcproj
文件 1427 2010-01-27 20:09 最优最差算法\操作系统4.vcproj.PC-201001031646.Administrator.user
文件 1427 2010-01-26 23:48 最优最差算法\操作系统4.vcproj.PC-201001092322.Administrator.user
文件 1427 2010-01-27 22:53 最优最差算法\操作系统4.vcproj.XSIT-4F51DE9CAE.xsit.user
相关资源
- 操作系统实验之动态分区算法首次适
- 动态分区分配存储管理-操作系统课程
- 操作系统之动态分区分配
- 模拟设计动态分区存储管理的分配与
- 操作系统课程设计之存储管理—动态
- 动态分区存储管理方式的主存分配回
- 计算机操作系统实验_动态分区分配方
- 动态分区存储管理的模拟实现
- 模拟设计动态分区存储管理中地址转
- 计算机操作系统实验报告_动态分区分
- 动态分区管理方式的主存分配模拟系
- 动态分区分配内存管理源代码附有实
- 操作系统实验四 动态分区分配算法
- 设计一个可变式分区分配的存储管理
- 动态分区分配存储管理
- 实验四__动态分区分配方式的模拟_答
- 模拟设计动态分区存储管理的分配与
- 动态分区分配算法实现代码+文档
- 动态分区存储管理方式的算法 最佳
评论
共有 条评论