实验4-虚拟存储管理.docVIP

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

河南工业大?学实验报告? 课程 操作系统原?理 实验名称 实验4:虚拟存储管?理 院 系_ 国际高等技?术学院 专业班级_?_ 国计090?1班 姓 名__ 杨小杰 学 号__ 20093?89401?34 指导老师 马宏琳 日 期 2011-11-17 实验目的 通过请求页?式存储管理?中页面置换?算法模拟设?计,了解虚拟存?储技术的特?点,掌握请求页?式存储管理?的页面置换?算法。 实验内容及?要求 1) 通过随机数?产生一个指?令序列,共320条?指令; 2) 将指令序列?变换为页面?号; 3) 计算FIF?O算法在分?配不同内存?块下的命中?率。(假设分配的?内存块从4?块至32块?。) 三、程序设计说?明 设计一个虚?拟存储区和?内存工作区?,使用FIF?O算法计算?访问命中率?。 首先用Sr?and()和rand?()函数定义和?产生指令序?列,然后将指令?序列变换成?相应的页面?号,并针对FI?FO算法计?算相应的命?中率。 命中率=1-缺页率 相关定义如?下: 1. 数据结构 (1) 页面类型结?构pl_t?ype中 pn页号, pfn块号?,count?er为一个?周期内访问?页面次数,time为?访问时间 (2) 页面控制结?构中 pfc[total?_vp]定义用户进?程虚页控制?结构 *freep?f_hea?d为空页面?头的指针 *busyp?f_hea?d为忙页面?头的指针 *busyp?f_tai?l为忙页面?尾的指针 2.函数定义 (1)void initi?alize?():初始化函数?,给每个相关?的页面赋值? (2)void FIFO():计算使用F?IFO算法?时的命中率? 3.变量定义 (1)int a[total?_inst?ructi?on]:指令流数组? (2)int page[total?_inst?ructi?on]:每条指令所?属页号 (3)int offse?t[total?_inst?ructi?on]:每页装入1?0条指令后?取模运算页?号偏移值 (4)int total?_pf:用户进程的?内存块数 (5)int disef?fect:页面失效次?数,即缺页次数? 四、实验结果 (1)编写的代码?如下: #inclu?de stdio?.h #inclu?de stdli?b.h #inclu?de sys/types?.h #inclu?de unist?d.h #defin?e TRUE 1 #defin?e FALSE? 0 #defin?e INVAL?ID -1 #defin?e NULL 0 #defin?e total?_inst?ructi?on 320 /* 指令流长 */ #defin?e total?_vp 32 /* 虚页长 */ #defin?e clear?_peri?od 50 /*清零周期*/ typed?ef struc?t{ /* 页面结构*/ int pn,pfn,count?er,time; }pl_ty?pe; pl_ty?pe pl[total?_vp]; /* 页面结构数?组*/ struc?t pfc_s?truct?{ /* 页面控制结?构*/ int pn,pfn; struc?t pfc_s?truct? *next; }; typed?ef struc?t pfc_s?truct? pfc_t?ype; pfc_t?ype pfc[total?_vp],*freep?f_hea?d,*busyp?f_hea?d,*busyp?f_tai?l; int disef?fect, a[total?_inst?ructi?on]; int page[total?_inst?ructi?on], offse?t[total?_inst?ructi?on]; void initi?alize?(); void FIFO(); main() { int S,i,j,temp; srand?(getpi?d()*10); /*由于每次运?行时进程号?不同,故可以用来?作为初始化?随即数队列?的“种子”*/ S=(float?)319*rand()/RAND_?MAX+1; // print?f(s=

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档