兰州大学操作系统实验八存储管理模拟题目和答案,实验报告

兰州大学操作系统实验八存储管理模拟题目和答案,实验报告

ID:47519984

大小:185.59 KB

页数:10页

时间:2019-09-13

兰州大学操作系统实验八存储管理模拟题目和答案,实验报告_第1页
兰州大学操作系统实验八存储管理模拟题目和答案,实验报告_第2页
兰州大学操作系统实验八存储管理模拟题目和答案,实验报告_第3页
兰州大学操作系统实验八存储管理模拟题目和答案,实验报告_第4页
兰州大学操作系统实验八存储管理模拟题目和答案,实验报告_第5页
资源描述:

《兰州大学操作系统实验八存储管理模拟题目和答案,实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告实验八实验名称:存储管理模拟实验目的:1.掌握请求分页存储管理系统的基本原理2.实现一个模拟的虚拟分页存储管理系统实验要求:编写一个程序,模拟一个虚拟分页存储管理系统。其中,由系统随机产生进程;进程大小、进程到达次序、时间、进程执行轨迹(页面访问顺序)也随机生成,但进程之间必须有并发存在,进程执行时间需有限,进程调度采用时间片轮转算法(以页面模拟);rss驻留集大小物理块分配策略采取固定分配局部置换;分配算法采用按比例分配算法;调页采用请求调页方式;置换分别采用FIFO、LRU(一直没用)访问次数和简单CLOCK算法(循环链表)标志有没有被访问;驻留集大小可调,观察驻留集大小对缺页

2、率的影响。算法思想:FIFO先进先出法LRU最久未使用算法CLOCK简单时钟算法命中率=1-页面失效次数/页地址流(序列)长度驻留集大小可调,观察驻留集大小对缺页率的影响。结构体定义页面控制表表结构页面号指针页面控制结构单位时间访问次数页框号上次访问时间页面序号页面页框号包含链表:空闲页面表忙页面表包含数组:进程数组页面号数组开始流程图:引用块编号大于物理块?分配物理块为其分配页号随机得到进程指令序列否页号在物理块内?是是是否完成?选择FIFOLRUCLOCK置换算法置换是结束实验结果分析:观察数据可看出:横向:三种替换算法的命中率由高到底排列应该是LRU>CLOCK>FIFO。纵向:进程

3、的驻留级越大,其缺页率就越低。实验体会:1.内存中进程的多少会影响驻留集大小和缺页中断率。如果内存中进程太多,将导致每个进程的驻留集太小,发生缺页中断的概率很大。相应地,系统发生抖动的可能性就会很大。如果在内存中保持太少的活动进程,那么所有活动进程同时处于阻塞状态的可能性就会很大,从而降低处理机的利用率。2.置换算法的好坏将直接影响系统的性能,不适当的置换算法可能导致系统出现“抖动”现象。常用的页面置换算法:最佳置换算法、最近最少使用算法、先进先出算法和时钟算法等。最佳置换算法难以实现但可以成为核对其他算法的标准。3.也应注意负载问题,解决系统应当保持多少个活动进程驻留在内存的问题,即控制

4、多道程序系统的度。当内存中的活动进程数太少时,负载控制将增加新进程或激活一些挂起进程进入内存;反之,当内存中的进程数太多时,负载控制将暂时挂起一些进程,减少内存中的活动进程数。实验代码:#include#include#include#include#defineTRUE1#defineFALSE0#defineINVALID-1#definetotal_instruction320//指令流长#definetotal_vp32//页长#defineclear_period50typedefstruct//页面结

5、构{intpn,//页面序号pfn,//页面所在内存区的页框号counter,//单位时间内访问次数time;//上次访问的时间}pl_type;pl_typepl[total_vp];//页面结构数组structpfc_struct{//页面控制结构intpn,//页面号pfn;//内存区页面的页框号structpfc_struct*next;//页面指针,用于维护内存缓冲区的链式结构};typedefstructpfc_structpfc_type;//主存区页面控制结构别名pfc_typepfc[total_vp],//主存区页面控制结构数组*freepf_head,//主存区页面控

6、制结构的空闲页面头指针*busypf_head,//主存区页面控制结构的忙页面头指针*busypf_tail;//主存区页面控制结构的忙页面尾指针intdiseffect;//页错误计数器,初次把页面载入主存时也当做页错误inta[total_instruction];//随即指令流数组intpage[total_instruction];//指令对应的页面号intoffset[total_instruction];//指令所在页面中的偏移量intinitialize(int);//初始化页面结构数组和页面控制结构数组intFIFO(int);//先进先出算法intLRU(int);//最

7、近最久未使用算法intCLOCK(int);//简单时钟(钟表)算法intmain(){ints;//随机数inti;srand(10*getpid());/*每次运行时进程号不同,用来作为初始化随机数队列的"种子"*/s=(int)((float)(total_instruction-1)*(rand()/(RAND_MAX+1.0)));printf("--------randinstructionsqueue-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。