页式虚拟存储管理
int i=1;
page *p,*q;
head=(page *)malloc(sizeof(page));
p=head;
for(i=1;i<=num;i++)
{
q=(page *)malloc(sizeof(page));
p->next=q;
q->address=0;
q->next=NULL;
p=q;
}
rear=p;
}
int search(int n)
{
page *p;
int i=0;
p=head;
while(p->next)
{
if(p->next->address==n)
{
printf("Get it at the page %d\n",i+1);
run=p;
return 1;
}
p=p->next;
i++;
}
return 0;
}
void changeOPT(int n,int position)
{
int i;
int total=0;
int flag=1;
int distance[num];
int MAX;
int order=0;
page *p,*q;
p=head->next;
q=head->next;
for(i=0;i<num;i++)