存储管理实验

.江南大学物联网工程学院实验报告2015/5/17实验日期存储管理实验实验名称课程名称《操作系统》1030412612计算机班级1206姓名王成义学号仪器编号.实验体会55.运行情况.程序清单.实验步骤.实验要求.实验目的实验报告要求1234.实验目的1、通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解。熟悉虚存管理的各种页面淘汰算法。1、通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。2.实验要求2设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。1、设计一个可变式分区分配的存储管理方案。并模拟实现分区的分配和回收过程。2、.实验步骤3专业资料word.产生一个需要访问的指令地址流;1.2K为1页);或2.指令合适的页面尺寸(例如以1K指定存页表的最大长度,并对页表进行初始化;3.每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存——如果该页4.如果该页不已在主存,则打印页表情况;如果该页不在主存且页表未满,则调入一页并打印页表情况;页面淘汰算法淘汰一页后调入所需的页,打印页表情况;在主存且页表已满,则按FIFO5.逐个地址访问,直到所有地址访问完毕。.程序清单4专业资料word.代码一:<stdio.h>#include<stdio.h>#include<math.h>#include<stdlib.h>#includeNU#define(type))sizeof#definealloMemory(type)(type*)malloc(partiTabstruct{no;intsize;intfirstAddr;intstate;charab[NUM];}parTpartiTabPARTITAB;structtypedef*/JCB,部分信息省略/*typedefstructjcb{定义作业控制块作业名//charname[10];//作业大小intsize;链指针//structjcb*link;专业资料word.}JCB;structtypedef{JCB*front,*rear;}jcbQue;jcbQue*jcbReadyQue;size);intAllocateMemory(voidcreateTab();voidcheckTab();voidi);intvoidrecycleMemory(size)intvoidAllocateMemory({i;int(i=0;i<NUM;i++)for{PARTITABp=parTab[i];p.size>size)'N'(p.state=if;'Y'parTab[i].state=else专业资料word.);没有空闲分区,无法分配存!屜屮printf(}}createTab()voidi;{int(i=1;i<=NUM;i++)for{//getPartiTab(PARTITAB);ab[i-1].no=i;parTab[i-1].size=20;parTparTab[i-1].firstAddr=21;;'N'ab[i-1].state=parT}}checkTab()void{i;int);分区号printf(\t\t状态屜屮起址\t大小(i=0;i<NUM;i++)for{专业资料word.,parTab[i].no);╜層瑜printf(,parTab[i].size);╜層瑜printf(,parTab[i].firstAddr);╜層瑜printf(,parTab[i].state);╜屣瑜printf();屜湜printf(}}i)recycleMemory(intvoid{;'N'ab[i-1].state=parT}*argv[])charintmain(intargc,{);printf(屜湜屜屮瑜屜???????????????????????屜屴瑜屜屮);屜屮存储管理实验三printf(\\t\t\t);printf(屜瑜屜???????????????????????屜屴瑜屜屮);㈱?屜屮printf(\\n\n\t\t\t\t\t计算机);printf(\\t\t\t\t王成义屜屮);屜瑜屜屴瑜屜屴瑜????㈱屜屮printf();???尵?尷湜屜屮湜屜屮\\t\t\t\tprintf(完成时间:);屜瑜屜屴瑜屜坴汥潣敭屜屮湜printf(专业资料word.i;int);固定式分区分配存储管理???屜屮printf(****createTab();checkTab(););请按任意键继续:屜屮printf(getchar(););屜屮printf(每个分区装入一道作业:(i=0;i<NUM;i++)for{AllocateMemory((i+1)*3);}checkTab(););请按任意键继续:屜屮printf(getchar(););尩湜(假如该作业在第2分区printf(假如一段时间后,其中一个作业结束,回收给它分配的分区recycleMemory(2);checkTab(););请按任意键继续:屜屮printf(getchar(););假如该作业大小为?尩湜(,printf(接着从外存后备作业队列中选择一个作业装入该分区AllocateMemory(10);checkTab();专业资料word.);system(停啁?0;return}代码二:<stdio.h>#include<dos.h>#include<stdlib.h>#include<conio.h>#include10*/n值为/*假定系统允许的最大作业数为n,假定模拟实验中n10#define值为10*/,假定模拟实验中/*假定系统允许的空闲区表最大为mm#definem10,则将该空闲分区全部分配,若大于空闲分区被分配时,如果分配后剩余的空间小于minisize#defineminisize100/*,则切割分配*/mini...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?