实验三存储管理实验

实验三存储管理实验

ID:22982218

大小:1.38 MB

页数:27页

时间:2018-11-02

实验三存储管理实验_第1页
实验三存储管理实验_第2页
实验三存储管理实验_第3页
实验三存储管理实验_第4页
实验三存储管理实验_第5页
资源描述:

《实验三存储管理实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验三存储管理实验一.目的要求:1、通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法。2、通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。二.实验内容:1、设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和冋收过程。可以假定每个作业都是批处理作业,并且不允许动态申请内存。为实现分区的分配和冋收,可以设定一个分区说明表,按照表中的有关信息进行分配,并根据分区的分配和回收情况修改该表。算法描述:本算法将内存的用户区分成大小相等的四个的分区,设一张分区说明表用来记录分

2、区,其中分区的表项有分区的大小、起始地址和分E的状态,当系统为某个作业分配主存空间吋,根据所需要的内存容量,在分区表屮找到一个足够大的空闲分区分配给它,然后将此作业装入A存。如果找不到足够大的空闲分区,则这个作业暂时无法分配内存空间,系统将调度另一个作业。当一个作业运行结束时,系统将回收改作业所占据的分区并将该分区改为空闲。算法原程序^include"stdio•h"#include"windows•h"#include^include#definePCB_NUM5//模拟进程数量#defi

3、neINT800//内存分区数量structMemlnf{intaddr;//分区起始地址intsize;//分区人小intstate;//0表示空闲,>0吋表示已分配,存储的是进程工D};structPCB{intpcbID;//进程IDintsize;//进程大小intRunState;//运行状态,0农示就绪,1农示L:分配A存正运行,2农示运行结朿且退出内存intTolTime;//总志耍运行时间intRunTime;//己运行时间}pcbList[PCB_NUM];voidmenu()//菜毕{intm;system(

4、"cis");★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★printf(Htttt闽记分区存储®序演/p");★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★printf(utttl.执行程序.n);printf(”tttO.退出程序.");scanf(n%dn,&m);switch(m){easel:break;caseO:system(uclsu);menu();break;default:system(H

5、clsH);break;}}voidpaixu(structMemlnf*ComMem,intn){inti,j,t;for(j=0;jComMem[i+1].size){t=ComMem[i]•size;ComMem[i]•size=ComMem[i+2]•size;ComMem[i+1]•size=t;}}voidpaixu2(){inti,j,t;for(j=0;j<4;j++)for(i=0;i<4-j;i++)if(pcbLi

6、st[i].size>pcbList[i+1].size){t=pcbList[i]•size;pcbList[i]•size=pcbList[i+1]•size;pcbList[i+1]•size=t;}}voidmain(){DD:menu();charch;inti,j,n,a=0;structMemlnf*ComMem;system("cis");printf(”你要分多少个分

7、x:呢,请输入数位吧:n);scanf(11,&n);ComMem=(structMemlnf*)malloc(n*sizeof(structM

8、emlnf));printf(n请划分内存固定大小分区:”);//划分内存固定大小分区for(i=0;i

9、x:%d分区的长度:,i);//输入同定分卜:付个的长度scanf(’•%dn,&ComMem[i].size);if(i==0)ComMem[i].addr=40;//;dZ义第•个分区的起始地址力40elseComMem[i].addr=ComMem[i-1].addr+ComMem[i-1]•size;//:衣/」;•[、••个起始地址的起始状态表示的是分区长度加上起始地址

10、长度ComMem[i]•state=0;//衣•状态为未分配a=ComMem[i]•size+a;if(a>=INT){printf(n超出规记内存范凼n);ch=getchar();ch=getchar();gotoDD;}}paixu(ComMem,n);/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。