模拟页式存储管理-操作系统课程设计(编辑修改稿)内容摘要:

,具体代码 如下: void again() //用于再输入 { print()。 int numpage,m。 printf(************************************** \n)。 printf( .\n)。 printf( .\n)。 printf( .\n)。 printf(************************************** \n)。 printf( 选择所要操作 :)。 scanf(%d,amp。 m)。 if(m==1) { flag1=1。 //重新输入 init()。 } else if(m==2) { flag2=1。 cout输入新页面数:。 cinnumpage。 num_page=numpage。 memset(a,1,sizeof(a))。 } else return。 模拟页式存储管理 8 五、运行截图 主菜单: 根据不同的分工,限于纸张只列出部分截图,以下是对 opt 调度算法的实验截图: 图 相同的内存容量下不同的访问串序列 1 模拟页式存储管理 9 图 相同的内存容量下不同的访问串序列 2 依上图 和 来看, opt 调度算法在访问串长度一致,随机值不同以致产生不同的访问串序列时,但页面数不相同的情况下,所得到的命中率也不同。 图 不同的内存容量下相同的访问串序列 在上图 中就是对同一访问 串序列进行 opt 调度,只是改变其页面的大小,得到了不同的命中率。 模拟页式存储管理 10 六、小结 本 次课程设计 目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 要求设计随机页面产生程序,并说明随机的性能和其性能可能对算法的影响,对随机性要有一定的参数控制能力;计算并输出 FIFO 及 LRU OPT 算法在不同内存容量下的命中率。 由于上学期做过页面置换的实验,内容包括 先进先出算法( FIFO)、最近最久未使用页面置换算法( LRU)和理想淘汰算法( OPT), 3 种算 法思想简单明确,选好数据结构,思路清晰便基本没问题了。 所以相对来说,这次操作系统的课程设计容易许多,只是在之前实验基础上,要附加设计随机页面产生程序,对随机性要有一定的参数控制能力。 对于随机页面产生程序,我们之前没做过,在网上查阅资料,使用了库函数 srand()和 rand(),实现了简单的随机页面产生程序,功能基本完成。 我们知识所限,没有使用漂亮可视化界面编程实现功能,用简单的 C 语言编程实现的。 不管怎么样,最终还是实现的本次课程设计要求的。 做了这么多次课程设计了,大致的过程都熟悉了,每次的动手实践,调动了我们主动学习的积极性 , 并引导我们根据实际编程要求 , 训练自己实际分析问题的能力及编程能力 , 并养成良好的编程习惯。 通过详细的实例 , 循序渐进地启发我们完成设计课程设计将要求。 从拿到题目到完成整个编程,从理论到实践可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考 的能力。 知识的获得是无止境的,只要你想学,只要你行动,就一定会有所收获的。 回首这两个星期的课程设计,尽管很是头痛,很多都不会,但经过努力,我们还是学了不少知识的。 这期间,老师给了我们许多帮助,非常感谢。 模拟页式存储管理 11 七、参考文献 【 1】张尧学 , 史美林 . 计算机操作系统教程 (第 2 版 )习题解答与实验指导 . 北京 : 清华大学出版社 , 2020 【 2】 谭浩强 , 张基温 . C语言程序设计教程 . 高等教育出版社 ,1991 【 3】 张尧学 , 史美林 . 计算机操作系统教程 (第 2版 ). 北京 : 清华大学出版社 , 2020 模拟页式存储管理 12 附录 所有源程序代码如下: includeiostream include using namespace std。 int length,num_page,count,seed。 int result[20][30],order[30],a[10]。 int pos1,flag1,flag2。 char result1[30]。 void init() { memset(a,1,sizeof(a))。 int i。 cout输入访问 串的长度 :。 cinlength。 cout输入种子数控制产生的随机值:。 cinseed。 srand(seed)。 cout产生的随机访问串 :。 for(i=0。 ilength。 i++) { // cinorder[i]。 order[i]=rand()%10。 coutorder[i]。 } coutendl。 c。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。