操作系统课程设计-模拟设计页式存储管理的分配与回收.doc
《操作系统课程设计-模拟设计页式存储管理的分配与回收.doc》由会员分享,可在线阅读,更多相关《操作系统课程设计-模拟设计页式存储管理的分配与回收.doc(14页珍藏版)》请在咨信网上搜索。
1、武汉理工大学操作系统课程设计说明书学 号:0120910340228课程设计题目模拟设计页式存储管理的分配与回收学院计算机科学与技术专业计算机科学与技术班级XX姓名XX指导教师XXX2011年01月09日课程设计任务书学生姓名:XX 专业班级: 计算机0902班指导教师:XXX工作单位:计算机科学与技术学院 题 目: 模拟设计页式存储管理的分配与回收初始条件:1预备内容:阅读操作系统的内存管理章节内容,了解有关虚拟存储器、页式存储管理等概念,并体会页式管理内存的分配和回收过程。2实践准备:掌握一种计算机高级语言的使用。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体
2、要求)1采用页式管理方案实施内存分配和回收。能够处理以下的情形能够输入给定的内存页面数,页面大小,进程的个数及每个进程的页数.要求当某进程提出申请空间的大小后,显示能否满足申请,以及为该进程分配资源后内存空间的使用情况(被进程占用的页面,空闲的页面)。2设计报告内容应说明:课程设计目的与功能;需求分析,数据结构或模块说明(功能与框图);源程序的主要部分;测试用例,运行结果与运行情况分析;自我评价与总结:i)你认为你完成的设计哪些地方做得比较好或比较出色;ii)什么地方做得不太好,以后如何改正;iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训);iv)完成本题是否有其他的其他方法
3、(如果有,简要说明该方法);v)对实验题的评价和改进意见,请你推荐设计题目.时间安排:设计安排一周:周1、周2:完成程序分析及设计。周2、周3:完成程序调试及测试。周4、周5:验收,撰写课程设计报告。(注意事项:严禁抄袭,一旦发现,抄与被抄的一律按0分记)指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日模拟设计页式存储管理的分配与回收1需求分析页式管理是一种内存空间存储管理的技术,页式管理分为静态页式管理和动态页式管理.基本原理是将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存
4、地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理.图1 页的划分图2 基本页表示例静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。页表指的是内存中的一块固定存储区.页式管理时每个进程至少有一个页表。请求表指的是用来确定作业或进程的虚拟空间的各页在内存中的实际对应位置;另外整个系统有一个存储页面表,其描述了物理内存空间的分配使用状况。图3 请求表的示例存储页面表有两种构成方法:1、位示图法2、空闲页面链表法模拟设计页式存储管理的分配与回收要求能
5、够满足如下的要求:(1) 输入给定的内存页面数,页面大小,进程的个数及每个进程的页数.(2) 要求当某进程提出申请空间的大小后,显示能否满足申请,以及为该进程分配资源后内存空间的使用情况(被进程占用的页面,空闲的页面).2 功能设计2。1 算法分析首先,请求表给出进程或作业要求的页面数.然后,由存储页面表检查是否有足够的空闲页面,如果没有,则本次无法分配。如果有则首先分配设置页表,并请求表中的相应表项后,按一定的查找算法搜索出所要求的空闲页面,并将对应的页好填入页表中.图4 分配页面的算法流程2。2 数据结构页式管理把内存空间按页的大小划分成片或者页面,再按照一定的规律建立起页表,并通过请求表
6、将分配内容显示出来。将页表和请求表的内容使用结构体来定义是比较方便的。 /页表项结构typedef struct _pagetableitempageid pagenum;/页号blockid blocknum;/块号pgtabitem;/页表typedef pgtabitem pagetable;/请求表结构typedef struct _reqtableunsigned pid;/进程号unsigned reqpagenum;/请求页面数pagetable pgtabadr;/页表始址bool state;/状态 reqtabitem;请求表还引入了支持快速插入和删除的list顺序容器来进
7、行相关操作.listreqtabitem reqtable因为模拟设计的关系,页面的起始地址均应该为随机的数值,所以程序在设计过程中加入了随机数类的编写。class RandomNumberprivate:unsigned long randseed;public:RandomNumber(unsigned long s=0);unsigned short Random(unsigned long n);double fRandom(void);;采用当前系统的时间值来生成伪随机数分配地址。定义随机数产生器:RandomNumber random 定义内存页面数:int pagenum 定义页
8、面大小:int pagesize定义进程个数:int pnum用整数数组模拟分配的内存页面数int mempage=new intpagenum2.3模块说明2。3.1主函数主函数依次运行了程序中所实现的关键函数.int main()InitSys();/初始化系统MainChoice();/输出系统菜单Destroy();/释放申请的动态内存return 0;2。3.2各个功能函数初始化内存页面:void Init_Mempage(void)获取内存使用情况:int Get_Mempagenum(void)初始化默认的请求表:void Init_Reqtable(void)为默认的进程分配内
9、存:void Init_DistMem(void)手动创建进程,并分配内存:void Dist_Mem(void)释放申请的动态内存:void Destroy(void)结束指定进程:void Kill(void)2。3。3打印函数打印出进程请求表:void PrintReqtable(void)打印出页表:void PrintPageTable(void)打印出内存使用情况:void PrintMem(void)打印出物理块的大小:void PrintBlockSize(void)2。3。4 其他函数初始化系统:void InitSys(void)输出主菜单:void MainMenu(vo
10、id)选择运行分支:void MainChoice()3开发平台3。1开发平台(1) 使用系统:Windows7(2) 使用语言:C+(3) 开发工具:Visual C+ 20084测试用例,运行结果与运行情况分析4。1测试方法通过输入正常数据以及非正常数据对程序进行全方位测试4.2测试结果(1)程序主界面(2)输入进程号和页面数:(3)显示进程页表:(4)显示请求表(5)显示内存使用情况以及物理块大小(6)错误检验5源程序的主要部分include iostreaminclude cstdlibinclude iomanip#include listinclude ”page.hinclude
11、 ”Random.husing namespace std;listreqtabitem reqtable;RandomNumber random; /随机数产生器unsigned pagenum=random。Random(80)+21; /内存页面数21-100unsigned pagesize=random.Random(16)+5; /页面大小5-20 unsigned pnum=random。Random(4)+5;/进程的个数5-8int mempage=new intpagenum; /用整数数组模拟内存页面数/初始化内存页面*/void Init_Mempage(void)in
12、t i=0;for(i=0;iint(pagenum);i+)mempagei=0; /数组全部赋初值/获取内存的使用情况/int Get_Mempagenum(void)int sum=0;for(int i=0;iint(pagenum);i+)if(mempagei=0)sum+;return sum; /判断有多少内存页面已经被使用/初始化默认的请求表/void Init_Reqtable(void)int i;for(i=1;iint(Get_Mempagenum())/判断请求的内存页面数目是否大于剩余的cout”没有足够的内存!”endl; coutendl;else(pos)。
13、state=true;pagetable temp = new pgtabitemreqpnum; /新建临时页表项数组if(temp=NULL)cout”内存分配失败!endl;exit(0);(pos)。pgtabadr=temp;for(i=0;ireqpnum;i+)tempi。pagenum=i;/页表的页号int randnum=random。Random(pagenum)+1;/随机产生一个块号while(mempagerandnum=1)randnum=random。Random(pagenum)+1;tempi.blocknum=randnum;/页表的块号mempagera
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 模拟 设计 存储 管理 分配 回收
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。