网站大量收购闲置独家精品文档,联系QQ:2885784924

北理工操作系统内存管理实验报告.pdfVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验三:内存管理

班级:

学号:

姓名:

一、实验目的

1.通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解;

2.熟悉虚存管理的页面淘汰算法;

3.通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。

二、实验要求

1.设计一个请求页式存储管理方案(自己指定页面大小),并予以程序实现。

并产生一个需要访问的指令地址流。它是一系列需要访问的指令的地址。为

不失一般性,你可以适当地(用人工指定地方法或用随机数产生器)生成这

个序列。

2.页面淘汰算法采用FIFO页面淘汰算法,并且在淘汰一页时,只将该页在页

表中抹去。而不再判断它是否被改写过,也不将它写回到辅存。

3.系统运行既可以在Windows,也可以在Linux。

三、实验流程图

图1页式存储管理程序参考流程

四、实验环境

硬件设备:个人计算机。

系统软件:windows操作系统,VisualC++6.0编译环境。

五、实验结果

说明:模拟产生35个指令地址,随机产生20个指令地址进行排队,假设主存中

共有10个工作集页帧。将前9个指令调入内存,因为前9个指令中,页号为13

的指令有两个,所以调入内存中共有8页。此时主存中还有两个空闲帧。此时按

刚才随机顺序进行访问指令工作。前9页因都在主存中可直接调用。第10个随

机地址为页号为5的指令,也在主存中,也可直接调用。页号为24,3因不在主

存中,需要调用进主存。此时主存已满。然后主存需要进行调用页号为27号的

指令,因主存已满,需要执行FIFO算法,将最先进入主存的页号为30的指令调

出,将27号放入第1000000帧。以后需要调用的页面按照存在就无需调用,否

则按FIFO原则进行调页工作。

六、实验感想

七、实验代码

#includeiostream

#includeiomanip

#includestdlib.h

#includetime.h

#includevector

#includequeue

//#includealgorithm

usingnamespacestd;

#definePAGETABLE_NUM35//模拟进程的页表表项数量;

#defineAVAILABLEFRAME_NUM10//主存中固定工作集页帧的数量;

#defineRANDOMNUMBER_NUM20//产生随机指令地址的数量;

structPageTableEntry

{

unsignedintFrameNum;

boolPressent;

};

voidInitRandomAddr(vectorunsignedintRandomAddr);

voidInitIdleFrameQueue(queueunsignedintIdleFrameQueue);

voidInitPageTable(vectorPageTableEntryPageTable,vectorunsignedintRandomAddr,

queueunsignedintIdleFrameQueue,queueunsignedintAvtiveFrameQueue);

voidSetPTE(PageTableEntryPTE);

intmain()

{

inta;

//初始化RANDERNUMBER_NUM条随机的32位指令地址;

vectorunsignedintRandomAddr(RANDOMNUMBER_NUM);

InitRandomA

文档评论(0)

177****3106 + 关注
实名认证
文档贡献者

大学本科生

1亿VIP精品文档

相关文档