版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学操作系统课内实践说明书学生学号实践课成绩 课 内 实 践 实 践 内 容 请求页式内存管理的分配与回收 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学年 第 一 学期目录1设计目的、功能与要求21.1设计目的、功能21.2要求22问题的详细描述、需求分析22.1问题的详细描述22.2 需求分析33数据结构、功能设计(功能与框图、功能模块说明)33.1 算法分析33.2 数据结构33.3模块说明43.3.1 主函数43.3.2 功能函数54开发工具及源程序的主要部分(需对主要代码段附文字注释)54.1开发平台54.2 源程序的主要部分55测试用例
2、、运行结果与运行情况分析85.1测试方法85.2测试结果86自我评价与总结117参考文献11请求页式内存管理的分配与回收1设计目的、功能与要求1.1设计目的、功能 模拟实现内存管理的分配与回收功能,掌握内存管理的相关内容,对内存的分配与回收有深入的理解。1.2要求 (1)任选一种计算机高级语言编程实现 (2)选择一种内存管理方案:动态分区式、请求页式、段式、段页式等 (3)能够输入给定的内存大小,进程的个数,每个进程所需内存空间大小 (4)能够选择分配 / 回收操作 (5)能够显示进程在内存的存储地址、大小等 (6)显示每次完成内存分配或回收后内存空间的使用情况2问题的详细描述、需求分析2.1
3、问题的详细描述 利用c+语言设计程序,模拟页式内存管理的过程。页式管理是一种内存空间存储管理的技术,页式管理分为静态页式管理和动态页式管理。基本原理是将各进程的虚拟空间划分成若干个长度相等的页,页式管理把内存空间按页的大小划分成片或者页面,然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。 静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。页表指的是内存中的一块固定存储区。页式管理时每个进程至少有一个页表。请求表指的是用
4、来确定作业或进程的虚拟空间的各页在内存中的实际对应位置;另外整个系统有一个存储页面表,描述了物理内存空间的分配使用状况。2.2 需求分析 模拟设计页式内存管理的分配与回收要求能够满足如下的要求:(1) 输入给定的内存大小、当前进程的大小、分配的页面数量及页面的执行顺序,能够选择分配 / 回收操作;(2) 使用内存管理方案:请求页式管理;(3) 要求当进程提出申请空间的大小后,显示能否满足申请,显示每次完成内存分配或回收后内存空间的使用情况。3数据结构、功能设计(功能与框图、功能模块说明)3.1 算法分析 首先,请求表给出进程或作业要求的页面数。然后,由存储页面表检查是否有足够的空闲页面,如果没
5、有,则本次无法分配。如果有则首先分配设置页表,并请求表中的相应表项后,按先来先服务算法搜索出所要求的空闲页面,并将对应的页好填入页表中。3.2 数据结构页式管理把内存空间按页的大小划分成片或者页面,再按照一定的规律建立起页表,并通过请求表将分配内容显示出来,将页表和请求表的内容使用结构体定义如下: typedef struct int use;/0表示没被用 int name;/name表示被哪个进程占用 node; typedef struct int size;/表示进程的大小 int name;/表示进程号 progress;定义内存总大小:size定义当前进程大小:pro.size 定
6、义内存页面数:int pagenum 定义块的数量:kuai定义进程个数:int pnum定义进程的编号:num定义删除进程的编号:shanchunum框图如下:3.3模块说明 3.3.1 主函数 整个程序由两个函数组成,主函数运行了程序中的功能函数,包含对整个内存基本信息的输入,并实现了内存的分配与回收。 3.3.2 功能函数 功能函数:void action(int a,int b,int num),使用先进先出页面淘汰算法(FIFO)对页面进行置换。4开发工具及源程序的主要部分(需对主要代码段附文字注释)4.1开发平台(1) 使用系统:Windows 7(2) 使用语言:C+(3) 开发
7、工具:Visual Studio 20104.2 源程序的主要部分 主函数部分代码:cout << "该进程已经被分为" << pronum.size << "个页面,请输入页面的执行顺序:" << endl;cin>>pagenum0;for(i=1;pagenumi-1!=0;i+)cin>>pagenumi;count=i-1;action(pagenum, kuai, count);for(i=0;i<30;i+)pagenumi=0;tem = pronum.size
8、;for (i = 0; i < size; i+)if (tem != 0)if (neicuni.use = 0)neicuni.use = 1; = num;tem-;elsecontinue;elsebreak; num+;cout << "内存占用情况为:" << endl;cout << "内存号 进程号" << endl;功能函数:void action(int a,int b,int num) /使用先进先出页面淘汰算法对页面进行置换int i,count=2;
9、bool flag=true;cout << "执行顺序为:" << endl;for (i = 0; i < 3; i+) /只使用三块物理内存块bi = ai;cout << "1 2 3" << endl;cout << b0 << endl;cout << b0 << " " << b1 << endl;cout << b0 << " " << b
10、1 <<" "<<b2<< endl;for (i = 3; i < num; i+)flag=true;for(int j=0;j<3;j+)if(bj=ai)flag=false;break;if(flag=false)cout << b0 << " " << b1 << " " << b2 << endl;continue;elsecount=count+1;bcount%3 = ai;cout <<
11、; b0 << " " << b1 << " " << b2 << endl;5测试用例、运行结果与运行情况分析5.1测试方法 假定内存的大小为100,输入第一个进程的大小为30,采用先进先出淘汰算法进行置换,输出页面执行顺序。输入第二个进程大小为50,并同样采用先进先出算法置换,当输入第三个进程大小为30时,显示进程分配失败。5.2测试结果 6自我评价与总结 本次课内实践旨在模拟实现内存管理的分配与回收功能,掌握内存管理的相关内容,对内存的分配与回收有深入的理解。通过本次课内实践,我不仅加深了
12、对页式管理的理解,也提高了自己的编程能力。编程是个长久的过程,平时要多去动手实践,提高自己分析问题、发现问题、解决问题的能力。做了这么多次的课内实践,大致的过程都熟悉了,每次的动手实践,都调动了我主动学习的积极性,并引导我根据实际编程要求,训练自己实际分析问题的能力及编程能力,养成良好的编程习惯。 在编写程序的过程中,我还翻阅了一些课外资料,并更加详细的阅读了课本,保证在页式管理基本原理透彻了解情况下进行设计,事半功倍,让我认识到磨刀不误砍柴工的道理。7参考文献(1) 计算机操作系统教程(第3版) 张尧学 史美林 张高编著(2) C+ Primer第六版 B.Lippman著(3) 深入解析Windows操作系统 M.Russunovich著 潘爱民译本科
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州国企招聘2025贵州贵水投资发展有限公司贵阳分公司招聘20人笔试历年备考题库附带答案详解
- 2026及未来5年中国2.6-二氯对硝基苯胺市场数据分析及竞争策略研究报告
- 吉安县敦城人力资源服务有限公司招聘吉安县司法局编外工作人员笔试历年典型考点题库附带答案详解
- 陕西省2025陕西省发展和改革委员会所属事业单位招聘笔试历年参考题库典型考点附带答案详解
- 西城区2025中国地质环境监测院(自然资源部地质灾害技术指导中心)第二批招聘3人笔试历年参考题库典型考点附带答案详解
- 璧山区2025二季度重庆璧山事业单位考核招聘64人笔试历年参考题库典型考点附带答案详解
- 泸县2025四川泸州市泸县教育和体育局第一次考调下属事业单位人员111人笔试历年参考题库典型考点附带答案详解
- 晋江市2025年福建泉州晋江市文化馆公开招聘编外工作人员3人笔试历年参考题库典型考点附带答案详解
- 广东省2025广东省发展和改革研究院招聘博士研究生2人笔试历年参考题库典型考点附带答案详解
- DB4116-T 037-2022 冬油菜生产技术规程
- 政治学现代政治分析原理
- 《第四单元 经典交响 欣赏 第九(目新大陆)交响曲(第二乐章)》教学设计教学反思-2023-2024学年初中音乐人音版九年级上册
- 2023年上海申康医疗卫生建设工程公共服务中心工作人员招聘考试真题及答案
- 《迎送导学案-旅游服务礼仪》
- 26个英文字母字帖(打印版)
- 海康威视公司员工手册
- 电力安全事故应急处置与调查处理条例
- 电工(四级)理论知识考核要素细目表
- 职业技能鉴定质量督导工作指导手册讲座
- QC成果-提高现浇混凝土防撞护栏外观质量验收合格率
- 新生儿气道及呼吸机管路护理PPT
评论
0/150
提交评论