计算机操作系统实验三存储器管理.docxVIP

  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文档。上传文档
查看更多
佛山科学技术学院 实验报告 课程名称 操作系统原理 实验项目 实验二■进程调度实验讲义 专业班级 姓名—学号 指导教师 成绩 日期 一、 实验目的 1、 实验目的 (1) 掌握先进先出页面置换算法; (2) 掌握随机替换页面置换算法; (3) 掌握OPT页面置换算法; (4) 掌握最近最少使用页面置换算法; (5) 熟悉抖动现象及其产生原理; (6) 熟悉C/C++编程。 2、 实验学时:2学时 3、 实验要求 (1) 进程正常运行占用内存空间共320K,页面大小是IK/2K/4K/8K; (2) 随机生成256个页面置换次序; (3) 用于分配页面大小的内存总空间是32K; (4) 给出四种页面置换算法的换页过程,并计算各自的缺页率。 二、 实验内容 编写程序,使用四种不同的页面替换策略算法进行页面替换。分别是先进先出,随机替换,时钟页面替换,最 近最久未使用页面替换,并计算缺页率。 三、 实验原理 在地址映射过程中,若在页面中发现所要访问的页而不再内存中,则产生缺页中断。当发生缺页中断时操 作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规 则叫做页面置换算法c常用算法有:1.最佳置换算法(OPT)(理想置换算法);2.先进先出置换算法(FIFO): 3.最近最久未使用(LRU)算法;4. Clock置换算法(LRU算法的近似实现;5.最少使用(LFU)置换算法。 抖动(Thrashing)就是指当内存中己无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送 磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被 换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,以致花费大量的时间,我们称这种现象为” 抖动”; 产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率, 可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调 度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于”抖动”状态. 请根据实验数据进行分析:页面大小是越大越好?还是越小越好?如何解释这个现象? 例子: 进程A占用内存空间共64k。 1) 页面大小是1K时分成64页;给各页面编号:0-63 随机生成 15 个替换页面:1,1, 4,6,12,48, 4,8,16,6, 57,28,47,26,17 2) 页面大小是2K时分成32页;给各页面编号:0-31 随机生成 15 个替换页面:1,1, 4,6,12,28, 4,8,16,6, 17,28,14,26,17 页面大小是4K时分成16页;给各页面编号:0-15 随机生成 15 个替换页面:1,1, 4,6,12,8, 4,8,1,6, 7,8,7,6,7 页面大小是8K时分成8页;给各页面编号:0.7 随机生成 15 个替换页面:1,1, 4,6,12,48, 4,8,16,6, 57,28,47,26,17 针对以上四种情况,釆用四种不同的置换算法。 四、 实验步骤 输入进程置换页数; 输入内存的空间大小; 输入进程的空间大小; 输入页面大小(1K/2K/4K/8K/I6K/32K); 选择相应的算法,计算缺页率; 实验结果分析及讨论。 五、 程序源代码及注释 break:实验三存储器管理 break: ?includestdio.h ?includestdlib. h ?include3alloc. h ^define MAXSIZE 300 int M€flory_Roxi, ProEX€55_RooE, 可供分氈的为专皀 兰间大小Meaory.Roon.当程正常运行占塁内存空间 ProEress_Rocc int Rand_Nua, Menory_NiE, Progress_Nm://£5§3分配的 总灵敛由宇灵宴个数和遂巷英数 int PaEe_Size://S大小(单位:K) int LACK_NUM: 〃缺灵散和餵灵電 float LACK_RATE; int *Progre5S_Pa£e: *Meziary, *LRU_F:a£;〃内专数更 W理敛咀 int TeHp_Meaory_NuB=0: void Infinite化W程和内存 void HANDLE (int choose):,宜接灵亘主菌我 int Choose_0PT (int k) ://OPT 子函数 int Choose.LRU(int k);/7LRU孑为数 bool IS.IN.MEMOF.Ydnt k);//判断内存是杳已:?在法程 Xz void print ()

文档评论(0)

独行千里 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档