精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
操作系统实验三报告
一.实验名称:分 return head;
}
void print(linklist head)
{
linklist p;
p=head->next;
printf("\n该页表为:");
printf("\n页号 块号\n");
while(p)
{
printf("%d%7d\n",p->pageNum,p->blockNum);
p=p->next;
}
printf("\n");
}
/*初始化位示图,将值全置为零,0表示空闲状态*/
void init(int g[100][100],int N)
{
int i,j;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
g[i][j]=0;
}
}
g[N+1][0]=N*N;
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
}
/*对作业的每一个页进行分配对应位示图里的块*/
linklist Dis(linklist head,int g[100][100],int n,int N)
{
linklist p;
int i,j;
p=head->next;
if(n<=g[N+1][0])
{
while(p)
{
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(g[i][j]==0)
{
p->blockNum=N*i+j;
g[i][j]=1;
g[N+1][0]--;
break;
}
}
break;
}
p=p->next;
}
return head;
}
}
/*回收已经完成的页*/
linklist Recy(linklist head,int g[100][100],int n,int N)
{
int i,j;
linklist p;
p=head->next;
while(p&&p->pageNum!=n)
{
p=p->next;
}
if(p)
{
i=p->blockNum/N;
j=p->blockNum%N;
g[i][j]=0;
g[N+1][0]++;
p->blockNum=-1;
}
return head;
}
/*打印位示图*/
void printStr(int g[100][100],int N)
{
int i,j;
分页存储管理实验报告(共4页) 来自淘豆网m.daumloan.com转载请标明出处.