• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: C/C++
  • 标签:

资源简介

这是关于北京林业大学操作系统的实验

资源截图

代码片段和文件信息

#include 
#include 
#include 
#define N 10
#define M N
#define Memory_SIZE 1024
struct JCB
 {
double length;
int flag;
};
struct Ntable
{
double address;
double length;
int flag;
}used_table[N];
struct Mtable 
{
double address;
double length;
int flag;
}free_table[M];
JCB process[N];
int used_count=0;
void init()
{
int i;
double rest=0;
for (i=0;i {
process[i].length=rand()%Memory_SIZE;
process[i].flag=0;
}
for (i=0;i {
free_table[i].address=rest;
if (i==N-1)
{
free_table[i].length=Memory_SIZE-rest;
}
else 
{
free_table[i].length=Memory_SIZE/(pow(2.0i+1));
}
rest=rest+free_table[i].length;
free_table[i].flag=1;
used_table[i].flag=-1;
}

for (i=N;i {
used_table[i].flag=-1;
free_table[i].flag=0;
}
}

int findmax(){
int it;
double max=0;
for (i=0;i if (free_table[i].flag&&free_table[i].length>max)
{
max=free_table[i].length;
t=i;
}
return t;
}
void sort(){
int ij;
Mtable temp;
for (i=0;i for (j=0;j if (free_table[j].flag {
temp=free_table[j+1];
free_table[j+1]=free_table[j];
free_table[j]=temp;
}
else if (free_table[j].address>free_table[j+1].address&&free_table[j].flag==free_table[j+1].flag)
{
temp=free_table[j+1];
free_table[j+1]=free_table[j];
free_table[j]=temp;
}
}
}

int findtarget(int flagchar type){
int i;
if (type==‘f‘)
for (i=0;i {
if (free_table[i].flag==flag)
return i;
}
if (type==‘u‘)
for (i=0;i {
if (used_table[i].fla

评论

共有 条评论