2022年分页存储管理实验报告 .pdf

上传人:C****o 文档编号:33674818 上传时间:2022-08-12 格式:PDF 页数:4 大小:225.83KB
返回 下载 相关 举报
2022年分页存储管理实验报告 .pdf_第1页
第1页 / 共4页
2022年分页存储管理实验报告 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年分页存储管理实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年分页存储管理实验报告 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 操作系统实验三报告一实验名称:分页存储管理二实验目的:了解分页存储管理在内存空间分配的作用三实验内容:分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,相应的, 也把内存空间分成与页面相同大小的若干个存储块,称为物理块或页框, 同样加以编号, 在为进程分配内存时,以块为单位将进程的若干个也分别装入到多个可以不相邻的物理块中。系统为每个进程建立了一张页面映像表,简称页表。 位示图是利用二进制的一位来表示磁盘中的一个盘块的使用情况,这里用位示图来表示内存分配情况。四实验代码#include #include #include typedef int

2、datatype; typedef struct node datatype pageNum,blockNum; struct node *next; linknode; typedef linknode *linklist; linklist creatlinklist(int n) linklist head,r,s; int x,y,i=0; head=r=(linklist)malloc(sizeof(linknode); printf( 开始创建页表 n); printf( 请分别输入页表的页号及块号(-1 表示空):n); printf(n 页号块号 n); while (ipag

3、eNum=x; s-blockNum=y; r-next=s; r=s; i+; r-next=NULL; return head; void print(linklist head) linklist p; p=head-next; printf(n 该页表为 :); printf(n 页号块号n); while(p) printf(%d%7dn,p-pageNum,p-blockNum); p=p-next; printf(n); /*初始化位示图,将值全置为零,0 表示空闲状态 */ void init(int g100100,int N) int i,j; for(i=0;i100;i

4、+) for(j=0;jnext; if(n=gN+10) while(p) for(i=0;iN;i+) for(j=0;jblockNum=N*i+j; gij=1; gN+10-; break; break; p=p-next; return head; /*回收已经完成的页*/ linklist Recy(linklist head,int g100100,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;

5、 gij=0; gN+10+; p-blockNum=-1; return head; /*打印位示图 */ void printStr(int g100100,int N) int i,j; printf( 此时位示图为:n ); for(i=0;iN;i+) printf( ); printf(%d,i); printf(n); for(i=0;iN;i+) printf(%d,i); for(j=0;jN;j+) printf( ); printf(%d,gij); printf(n); void main() int n,N,x,y; int graph100100; linklist

6、 head; printf( 输入位示图的字长:); scanf(%d,&N); printf( 输入作业的页数:); scanf(%d,&n); head=creatlinklist(n); print(head); init(graph,N); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 3 printStr(graph,N); printf(n 现在进行作业分配:); head=Dis(head,graph,n,N);

7、 print(head); printStr(graph,N); printf( 是否回收已完成的页,“是” 1,“否” 0:); scanf(%d,&x); if(x) / 判断是否要回收 printf(n 请输入您要回收的页号:); scanf(%d,&y); head=Recy(head,graph,y,N); print(head); printStr(graph,N); 五实验截图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 4 六实验心得:通过这次实验, 了解到分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片, 称为页面或页,并为各页加以编号,相应的,也把内存空间分成与页面相同大小的若干个存储块,称为物理块或页框,同样加以编号,在为进程分配内存时,以块为单位将进程的若干个也分别装入到多个可以不相邻的物理块中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁