分页式管理实验报告

发布时间 : 星期六 文章分页式管理实验报告更新完毕开始阅读

}

display(){

TABLE *pt=tab;

if(pt==NULL) return 0;

printf(\空闲分区情况---------\\n\ printf(\状态\\t大小\\t起始地址\\n\ while(pt!=NULL){

printf(\ pt=pt->next; } return 0; }

sorttable(){ /*分区按升序排列*/ TABLE *first, *second; if(tab==NULL){ p->next=tab; tab=p; } else{ first=tab;

second=first->next; while(second!=NULL){ first=first->next;

second=second->next; }

first->next=p; } }

InitTab(){ int num;

int i,paddr=0;

TABLE *pn; /*指向前一结点*/ pn=NULL;

printf(\ printf(\请输入分区个数:\\n\ scanf(\ for(i=0;i

p=getpch(TABLE);

printf(\输入分区NO.%d的ID:\\n\ scanf(\ p->state='N';

printf(\输入分区大小:\\n\

scanf(\

p->addr=paddr;

paddr=p->addr+p->size; p->prev=pn; pn=p;

p->next=NULL;

sorttable(); /* 按分区起始地址排序*/ } }

main(){

int ch=1; int size;

char name[10],c='y'; UI();

InitTab(); system(\ UI(); display(); getch();

system(\

while(c!='n'&&c!='N'){ UI(); printf(\选择你要进行的操作\\n1--分配作业\\n2--回收分区\\n0/其他--退出\\n\\n\

scanf(\system(\switch(ch) {

case 1:

UI(); display();

printf(\请输入作业大小:\\n\scanf(\allocate(size); break;

UI(); display();

printf(\请输入待回收分区的ID:\\n\scanf(\

case 2:

recycle(name); break; case 0:

} 截

}

default :exit(0);

}

display();

printf(\是否继续?y/n\\n\system(\

c=getch();

图:

五、实验小结

此次实验, 动手实践模拟在连续分配与分页管理两种方式下,主存空间的分配与回收,加深了解存储器管理的工作过程。尝试采用首次适应算法、循环首次适应算法、最佳适应算法其中的一种或多种算法实现动态分区分配,分页式主存管理系统等等.实验过程中,深刻了解了分页式与连续式之间的区别与相似处,更好的对主存管理、回收、装入等等有了更加深入的了解.

联系合同范文客服:xxxxx#qq.com(#替换为@)