资源简介

连续存储空间管理仿真系统,操作系统,课设,存储空间

资源截图

代码片段和文件信息

#include
#include
#include       // 就是需要引用这个图形库
#include 
#include
#define Count 7
#define MAXSIZE 32
long CLK;//模拟时钟信号
int a[]={881616163232};
////////////////////////////////////////////////////////////////////////////////////////////////
//PCB表的结构和初始化
typedef struct PCB{
int sign;
int data;
long start;
int time1;
struct PCB *next;
}*pcb;

typedef struct {
pcb front;
pcb rear;
}Pcb_head;

Pcb_head ZZ;

void Init_pcb()
{
ZZ.front=ZZ.rear=NULL;
int datatime1name;
long start;

srand((unsigned)time(NULL));  //确保随机
int num;
num=rand()%13+7;
for(int j=1;j<=num;j++)
{

cout<<“进程名“<<“  “<<“申请内存“<<“  “<<“进入时间“<<“  “<<“持续时间“< cout<<“   “< data=rand()%1024+1;
cout< start=rand()%9+1;
cout< time1=rand()%9+1; 
cout<
pcb o=(pcb)malloc(sizeof(PCB));
o->sign=j;
o->data=data;
o->time1=time1;
o->start=start;

if(ZZ.front==NULL)
ZZ.front=ZZ.rear=o;
ZZ.rear->next=o;
o->next=NULL;
ZZ.rear=o;
}
}

void Init_pcb2()
{
ZZ.front=ZZ.rear=NULL;
int datatime1name;
long start;

srand((unsigned)time(NULL));  //确保随机
int num;
num=rand()%13+7;
for(int j=1;j<=num;j++)
{

cout<<“进程名“<<“  “<<“申请内存“<<“  “<<“进入时间“<<“  “<<“持续时间“< cout<<“   “< data=rand()%32+1;
cout< start=rand()%6+1;
cout< time1=rand()%6+1; 
cout<
pcb o=(pcb)malloc(sizeof(PCB));
o->sign=j;
o->data=data;
o->time1=time1;
o->start=start;

if(ZZ.front==NULL)
ZZ.front=ZZ.rear=o;
ZZ.rear->next=o;
o->next=NULL;
ZZ.rear=o;
}
}
/* while(1)
{
cout<<“输入进程名、占用空间、起始时间、持续时间。(进程名输入0退出)“< cin>>name;
if(name==0)
break;
cin>>data>>start>>time;
if(data>1024)
{
cout<<“所输入的数值大于最大内存空间!!“< exit(-1);
}
pcb o=(pcb)malloc(sizeof(PCB));
o->sign=name;
o->data=data;
o->time=time;
o->start=start;

if(ZZ.front==NULL)
ZZ.front=ZZ.rear=o;
ZZ.rear->next=o;
o->next=NULL;
ZZ.rear=o;
}*/
////////////////////////////
//后备等待队列的定义与初始化
typedef struct node{
int sign;
int data;
int time1;
struct node *next;
}*Queue;
typedef struct{
Queue front;
Queue rear;
}Queue_head;

Queue_head WW;

void Init_queue()
{
WW.front=WW.rear=NULL;
}
////////////////////////////////////////////////////////////////////////////////////////////////
//就绪队列和物理空间模拟队列的定义与初始化
typedef struct Pnode{//内存块结点
int data;
int sign;         //进程名
int address;
int time1;   //持续时间
struct Pnode *pre;  //指向前结点
struct Pnode *next;
}*QueuePtr;

typedef struct{       //头结点
QueuePtr front;
QueuePtr rear;
}linkQueue;

linkQueue FFFF_fenpei;
QueuePtr FF_next_ff;
int m_FF_Count=0;  //已分配的进程数
int m_FF_Total=0;  //已分配的分区容量

void Init_ff()
{
FF_fenpei.front=FF_fenpei.rear=NULL;

评论

共有 条评论