存储器管理课程设计报告

上传人:大米 文档编号:423608821 上传时间:2022-09-27 格式:DOCX 页数:9 大小:106.85KB
返回 下载 相关 举报
存储器管理课程设计报告_第1页
第1页 / 共9页
存储器管理课程设计报告_第2页
第2页 / 共9页
存储器管理课程设计报告_第3页
第3页 / 共9页
存储器管理课程设计报告_第4页
第4页 / 共9页
存储器管理课程设计报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《存储器管理课程设计报告》由会员分享,可在线阅读,更多相关《存储器管理课程设计报告(9页珍藏版)》请在金锄头文库上搜索。

1、号” U1晚操作系统课程报告题目:存储器管理系统设计学院名 称:电子与信息工程学院专业:计算机科学与技术班级:计科102姓名:袁孟超学 号:一 .存储器管理系统设计二 .研究背景和意义信息存储技术作为信息技术的核心之一,一直伴随着、同时推动着IT 业各方面技术的协同开展,是当今 IT 领域中少数开展最为迅速的热点之一。 纸的创造记载了人类的历史和文明,现代信息存储技术那么大大超越了纸X 记录的含义。 21 世纪是数字化和多媒体化的信息时代,现代信息社会和经济的开展,所产生的信息量每年以指数方式上升,出现了信息爆炸的态势。据UC Berkley 2001年公布的数据显示,未来 3年内所产生的数据

2、将超过过去4万年中产生数据的总和 ,而且93%的新生成的信息为数字形式.研究内容存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩大内存。存储器管理的主要对象是内存, 本设计主要针对进程读入内存中的过程模拟存储器管理系统。 涉及到程序的装入、 内存空间的分配方式以及进程的换出与换入和页面置换算法 本设计的页面置换算法为先进先出 FIFO 算法 。.关键技术1、数据构造const int pagesize=1024;const int blocknum=3;int blockblocknum;int pgblocknum;2、算法分析3、

3、算法实现#includeconst int pagesize=1024;const int blocknum=4;int blockblocknum;int pgblocknum;class pageint pno;int bno;int status;static int n;public:page()pno=n+;bno=-1;status=0;int getstatus() return status; int getbno() return bno; int getpno() return pno; void print()cout 页号 :pno地址 X 围 :pagesize*pn

4、o+1pagesize*(pno+1)物理块号 :bno 状态 :;if(status)cout 在主存endl;elsecout 在辅存endl;void load(int b)bno=b;status=1;blockb=0;void out() status=0;bno=-1;int page:n=0;int freebno()int i;for(i=0;i=0&tblocknum-1) t+;else if(t=blocknum-1) t=0;elsecout 出错 !endl;int add(int m,int n) if(m%n)return 1;elsereturn 0;void

5、main()int j;for(j=0;jblocknum;j+)blockj=1;pgj=-1;int i,set;int process_size,pagenum,address,pageNO;page *p;int next=0; / 下一个该替换的物理块号coutQ*存储器管理模拟系统*endl;cout 请输入进程的大小(注意:仅为数据有效):process_size;pagenum=process_size/pagesize+add(process_size,pagesize);cout 进程的页数为:pagenumendl;p=new pagepagenum; /new 动态分配

6、空间cout 各页面状态如下:endl;for(i=0;ipagenum;i+)pi.print();while(1)coutendl;cout1. 指令地址信息读取2.输出程序所用页面信息3.快表信息0.退出 endl;coutendl;cout 请选择相应操作:set;switch(set)case 1:cout 请输入要读入的指令地址:address;if(address0)cout 您所输入的是负数,不符合要求。 process_size)cout 您输入的数据太大,不符合要求。 endl;break;elseif(addresspagesize)pageNO=0;/ 判定指令地址页面

7、号elsepageNO=address/pagesize+add(address,pagesize)-1;/ 因为数组从0 开场计数,故减1if(ppageNO.getstatus()/ 判断是否在主存cout 此模块已在主存中 .endl;ppageNO.print();elsecout 此模块在辅存中,调入主存.=0&fnoblocknum) / 有空闲物理块ppageNO.load(fno);cout 装入页框表,查询并放入空闲物理块:fnoendl;pgfno=pageNO;ppageNO.print();/ 物理块已满,执行淘汰操作else原有页面cout 页 框 已 满 , 淘 汰

8、 物 理 块 :next 中 pgnextendl;for(i=0;ipagenum;i+)if(pi.getstatus()&pi.getbno()=next)pi.out();ppageNO.load(next);pgnext=pageNO;ppageNO.print();inc(next);break;case 2:for(i=0;ipagenum;i+)pi.print();break;case 3:for(i=0;i4;i+)couti:;if(blocki)cout 空闲 endl;elsecout 占用 ;int a=pgi;cout 页号 :a 地址 X 围 :pagesize

9、*a+1pagesize*(a+1)endl;break;case 0:delete p;/ 释放资源return;default:cout 非法操作,请根据提示选择1、 2、 3或 0操作 endl;0 1 2 3 4 E !口言 Irclrolpn 节址址址址址址也也也也也也:11024物理块中回 :1025048物理块号 :Z047307Z 物理块M :307S40?fr物理块号 ! 4097120物理块方 :&121&144物理块号.状态:在主存=1状态;在主存:-1昧态;在缄存:2或态病主存;=-1状态;在辅存2.输出程序所用反面信息五快表信息日.退出用用用用占占占占0 14-3*D

10、HlzaH* 巳出班址班也廿一心而一4tH寸;11024: 1025048 :0?5120 :30734076忆指令地址信息读取2.输出程序所用页面信息3.快表信息Z.退出四.总结存储器是计算机系统的重要组成局部。近年来,存储器容量虽然一直在不断扩大,但仍不能满足现 代软件开展的需要,因此,存储器仍然是一种珍贵而又紧X的资源。如何对它加以有效的管理,不仅直接影响存储器的利用率,而且还对系统性能有重大影响。存储器设计的主要内容是程序装入内存的过程,程序的装入有绝对装入方式和可重定位装入方式, 动态运行时装入方式。内存分区的连续分配方式那么有单一分配方式、固定分区分配包括分区大小相等 和大小不等方

11、式和动态分区分配。本设计系统主要面要用户的进程进展分区页面装入内存无力块当中。对于系统来说,内存页面大小 和物理块是固定的,因此涉及到物理块的分配属于可重定位方式,而物理块分配满了对于新的页面的装入 涉及到页面置换算法,本系统采用FIFO先进先出算法,该算法总是淘汰最先进入内存的页面,即选择进入内存中驻留时间最久的页面予以淘汰。通过该设计,我学会了存储器的管理内容,利用C+语言实现进程装入内存的的过程,同时也对存储器管理的多种装入方式及内存分区有了更深的了解,特别是页面置换算法的应用。但也应看到对于实际 的存储器应用还有很多地方不能实现真实,在今后的学习中应对所学知识做更深入的挖掘,对于各种算法 应用更好的利用。参考文献:1 .汤子赢等,计算机操作系统第二版,XX电子科技大学,19962 .汤子赢等,计算机操作系统新第一版 ,XX电子科技大学19963 .冯耀霖等,操作系统, XX电子科技大学,19924 .汤子瀛主编.计算机操作系统.XX:XX电子科技大学,2002.95 . X尧学史美林.计算机操作系统教程.:清华大学,1995,26 . X 乃琦等 . 操作系统原理及应用.:经济科学,1996.5

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

当前位置:首页 > 商业/管理/HR > 营销创新

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