缓冲池管理算法实验报告(共10篇)

上传人:bin****86 文档编号:60265419 上传时间:2018-11-15 格式:DOCX 页数:40 大小:30.73KB
返回 下载 相关 举报
缓冲池管理算法实验报告(共10篇)_第1页
第1页 / 共40页
缓冲池管理算法实验报告(共10篇)_第2页
第2页 / 共40页
缓冲池管理算法实验报告(共10篇)_第3页
第3页 / 共40页
缓冲池管理算法实验报告(共10篇)_第4页
第4页 / 共40页
缓冲池管理算法实验报告(共10篇)_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《缓冲池管理算法实验报告(共10篇)》由会员分享,可在线阅读,更多相关《缓冲池管理算法实验报告(共10篇)(40页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划缓冲池管理算法实验报告(共10篇)操作系统实验报告题目:存储管理算法设计院系:计算机科学与工程学院班级:姓名:学号:一、实验题目存储管理算法设计二、实验日期XX年11月3日三、实验目的与要求1、通过本实验,帮助学生理解存储管理的功能,掌握动态异长分区的存储分配与回收算法。2、常用的动态异长分区的分配算法有:最先适应算法、最佳适应算法和最坏适应算法;要求选择任意一种算法,设计相应的数据结构,模拟内存空间的分配和回收。实验报告中给出程序中使用的数据结构及流程图。四、实验环境RedHatL

2、INUX五、实验内容流程图:六、实验结果与分析七、实验心得与体会通过本次实验,了解并掌握了操作系统的存储管理算法的运行机理,以及常用的三种算法最佳适应算法、最先适应算法及最坏适应算法的基本思想;并通过对程序代码的调试过程,更加深刻理解了操作系统是怎么进行存储管理的。八、实验程序代码头文件variable_#include#include#include#include#include#include#include#defineMAX_THREAD3#defineBF_initialize_require_memory_listFF_initialize_require_memory_list

3、#defineWF_initialize_require_memory_listFF_initialize_require_memory_list#defineBF_initialize_thread_residence_memory_listFF_initialize_thread_residence_memory_list#defineWF_initialize_thread_residence_memory_listFF_initialize_thread_residence_memory_list#defineWF_delete_freearea_listFF_delete_freea

4、rea_list#defineBF_delete_freearea_listFF_delete_freearea_list#defineWF_delete_require_memory_listFF_delete_require_memory_list#defineBF_delete_require_memory_listFF_delete_require_memory_list#defineWF_delete_thread_residence_memory_listFF_delete_thread_residence_memory_list#defineBF_delete_thread_re

5、sidence_memory_listFF_delete_thread_residence_memory_listtypedefstructfreeareatypedefstructrequire_memorystructrequire_memory*next;typedefstructthread_residence_memorystructthread_residence_memory*next;FREEAREAinit_free_area_table5=;NULL,10,10,NULL,40,30,NULL,80,5,NULL,145,15,NULL,180,20charthread_n

6、ame10;intstart_address;intsize;charthread_name10;intsize;intduration;structfreearea*next;intstart_address;intsize;FREEAREA;REQUIRE_MEMORY;THREAD_RESIDENCE_MEMORY;昆明理工大学信息工程与自动化学院学生实验报告课程名称:操作系统开课实验室:年月日一、实验目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。通过本次实验,要求学生通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解,通过请求页式存储

7、管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。二、实验原理及基本技术路线图用C或C+语言模拟实现请求式分页管理。要求实现:页表的数据结构、分页式内存空间的分配及回收、地址重定位、页面置换算法。intsubareaSizenum=8,12,16,32,24,16,64,128,40,64;/分区大小Process*pro=NULL;/保持进程信息intProcessNum=0;/进程数目intapplyProcessNum=0;/每次申请进程数目intmaxApplyNum=0;/最大可申请数目int*applyIndex=NULL;/申请进程队列int

8、totalApplyNum=0;/申请总数int*assignPointer=NULL;/已分配内存的进程队列intassignFlag=0;/分配索引,表示已申请队列已分配的进程数intexeIndex;/执行的进程号Node*subareaNode=newNode3;/分区回收时,进程所在分区及其前,后分区信息LinkListcreateLinkList(intn);/建立空闲分区链NodefirstFit(LinkList&head,Processpro);/首次适应算法NodenestFit(LinkList&head,Processpro,Nodeflag);/循环适应算法Nodeb

9、estFit(LinkList&head,Processpro);/最佳适应算法NodeworstFit(LinkList&head,Processpro);/最坏适应算法Nodeassign(LinkList&head,intorderIndex,intindex,NodeflagNode);/一次分区分配intassignMemory(LinkList&head);/内存分配voidinsertNode(LinkList&head,Nodeq,intindex);/插入节点NodedeleteNode(LinkList&head,intindex);/删除节点intdisplay(Link

10、List&head);/打印分区分配情况intlowAttemper(int*excursionPointer);/低级调度intfindSubarea(LinkList&head,intindex);/回收内存intcreatProcess();/创建进程Process*randomCreatPro(intn);/随机产生进程下面是各种方法简述:(1)最优替换算法,即OPT算法。上面介绍的几种页面替换算法主要是以主存储器中页面调度情况的历史信息为依据的,它假设将来主存储器中的页面调度情况与过去一段时间内主存储器中的页面调度情况是相同的。显然,这种假设不总是正确的。最好的算法应该是选择将来最久

11、不被访问的页面作为被替换的页面,这种替换算法的命中率一定是最高的,它就是最优替换算法。要实现OPT算法,唯一的办法是让程序先执行一遍,记录下实际的页地址流情况。根据这个页地址流才能找出当前要被替换的页面。显然,这样做是不现实的。因此,OPT算法只是一种理想化的算法,然而,它也是一种很有用的算法。实际上,经常把这种算法用来作为评价其它页面替换算法好坏的标准。在其它条件相同的情况下,哪一种页面替换算法的命中率与OPT算法最接近,那么,它就是一种比较好的页面替换算法。(2)先进先出算法,即FIFO算法。这种算法选择最先调入主存储器的页面作为被替换的页面。它的优点是比较容易实现,能够利用主存储器中页面

12、调度情况的历史信息,但是,没有反映程序的局部性。因为最先调入主存的页面,很可能也是经常要使用的页面。(3)最久没有使用算法,即LRU算法。这种算法把近期最久没有被访问过的页面作为被替换的页面。它把LFU算法中要记录数量上的多与少简化成判断有与无,因此,实现起来比较容易。管理模型算法设计课程实验报告专业班级:学号:姓名:XX年3月实验AVB环境和可视化编程基础实验时间:题号:第一题界面贴图:代码:PrivateSubCommand1_Click()=EndSubPrivateSubLabel1_Click()Caption=欢迎学习VisualBasicEndSub题号:第二题界面贴图:代码:P

13、rivateSubForm_load()=0EndSubPrivateSubCommand1_Click()自动=0CallMyMoveEndSubPrivateSubCommand2_Click()手动=200EndSubPrivateSubTimer1_Timer()CallMyMoveEndSubSubMyMove()-500Ifq:内存存储队列,先进先出3)最近最少使用算法:?structLpage:?LpagelPageMAX_MEMORY_PAGE:FIFOLRU进程页面?priority_queueq:内存存储优先队列,最近使用次数大者优先级高?queueqq:LRU中用于修改最

14、近使用时间函数的临时队列4)最佳淘汰算法:?structOpage:?OpageoPageMAX_MEMORY_PAGE:OPT进程页面?priority_queueq:内存存储优先队列,CPU使用间隔大者优先级高?queueqq:OPT中用于修改使用间隔的临时队列3.主要代码结构1)公共部分:?intmain():Main函数菜单界面?voidInitial(intn):用于初始化各算法参数的函数?voidOutput(intn):控制输出函数2)最近最少使用算法:?voidalterLateUse(priority_queue&q,intPos):LRU中用于修改内存中页面最近使用时间3)最佳淘汰算法:?alterDist(priority_queue&q,intn,int*Page_OP):OPT中用于修改内存中页面使用间隔4.主要代码段分析()1)公共部分:按照实验要求,随机生成320条随机数指令流,同时转换为页地址流操作系统原理实验报告一、课程设计的题目:根据“操作系统原理”课程的课堂教学内容,结合自己的知识积累情况,题目可从下述拟题中选择,亦可自定。二、实验设计的内容:在Linux或W

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号