- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OS课程设计模拟内存分配算法MFC实现-毕业论文
课程设计报告设计题目:内存的连续分配算法班级 : 学号:姓名:指导老师:设计时间:摘要主要算法包括:固定分区分配、动态分区分配、伙伴算法、可重定位分区分配。2、内容要求:1)定义与算法相关的数据结构,如PCB,空闲分区表;2)至少实现两种以上分配算法,且用户可以选择在某次执行过程中使用何种算法;3)在使用动态分区分配或可重定位分区分配算法时必须实现紧凑和对换功能;4)动态分区分配和可重定位分区分配必选一个实现。本系统模拟了操作系统内存分配算法的实现,实现了固定分区分配和动态分区分配,以及可重定位分区分配算法,采用PCB定义结构体来表示一个进程,定义了进程的名称和大小,进程内存起始地址和进程状态。内存分区表采用单链表来模拟实现。关键词:固定分区分配、动态分区分配、可重定位分区分配。目录1.概述……………………….42.课程设计任务及要求 2.1 设计任务………………………..4 2.2 设计要求………………………..43.算法及数据结构 3.1算法的总体思想(流程)………………………5 3.2 PCB模块3.2.1功能(运算)……………………….53.2.2数据结构(存储结构)……………………….53.2.3算法(实现)……………………….5 3.3 进程队列模块3.3.1功能………………………63.3.2数据结构………………………63.3.3算法………………………64.程序设计与实现 4.1 程序流程图……………………..7 4.2 程序说明(代码) 4.3实验结果……………………..95.结论……………………..106.参考文献。……………………..107.收获、体会和建议。……………………..10一:概述本系统模拟了操作系统内存分配算法的实现,实现了固定分区分配和动态分区分配,以及可重定位分区分配算法,采用PCB定义结构体来表示一个进程,定义了进程的名称和大小,进程内存起始地址和进程状态。内存分区表采用单链表来模拟实现。固定分区实现就是将单链表的每个节点的大小设为固定大小,系统默认如果按固定分区分配的话,只能分成20个相等大小的分区,因此系统只能最多运行20个进程。动态分区的实现是根据进程所申请的内存大小来决定动态的有系统进行分配内存空间大小,因此分区表里的空闲分区个数是不定的,根据进程数和进程大小决定的。可重定位分区算法比动态分区算法增加了紧凑和进程对换的功能。二:课程设计任务及要求设计任务:使用C++ MFC实现模拟操作系统内存分配算法的实现,定义结构体数据结构表示进程,定义单链表表示内存分区表。设计要求:定义与算法相关的数据结构,如PCB,空闲分区表;至少实现两种以上分配算法,且用户可以选择在某次执行过程中使用何种算法;在使用动态分区分配或可重定位分区分配算法时必须实现紧凑和对换功能;动态分区分配和可重定位分区分配必选一个实现。三:算法及数据结构#definefree 0//表示进程状态空闲#definebusy 1//表示进程状态忙typedefintStatus;//表示进程状态structPCB//表示进程PCB结构体{CStringname;//进程nameStatusstatus;//进程状态busy or freeintlStartAddres;//进程起始地址intSize;//进程大小};structNode//表示组成链表的结点结构体{PCBdata;Node *next;};classQueue//表示分区表的单链表类{public:Queue();~Queue(){}//void Show();//内存区分配情况显示intGetLength();intGetAllFree();//获得所有空闲分区总大小voidInitialMemory(int );//初始化内存区域大小voidFixedPartitonAlloc();//固定分区分配初始化空闲内存链表boolAllocProFixed(CString ,int );//为进程分配内存(执行固定分区分配算法)boolAllocProDynamic(CString ,int );//为进程分配内存(动态分区分配)boolFreeMemory(CString );//释放进程内存boolAllMerge(int );//内存紧凑分区算法boolSwaping(int ,PCB);//进程对换算法Node *GetFirst();//返回头结点voidClear();//链表节点清除private:Node *first;};#include StdAfx.h#include Queue.hQueue::Queue(){//默认头结点数据first = new Node;first-data.lStart
您可能关注的文档
- Monetary Policy and Its Validity in China中国商务环境.doc
- MOORE报警设定器组态校验作业指导书.doc
- MOTOROLA井下无线通讯系统技术方案.doc
- MP3导光板模具设计设计说明书.doc
- MP4外壳模具设计.doc
- MPS05模块化自动化生产线设计毕业设计论文.doc
- MPS加工站MPS加工站机械设计.doc
- MQ100 门式起重机总体计算书.doc
- MTD双雷达微波交通检测器技术方案1.1最新10.31.docx
- MTL安全栅组态下装及校验指导书-雷进莹.doc
- 人教版小学数学五年级下册--长方体和正方体表面积的实际应用-名师教学PPT课件.ppt
- 人教版小学数学五年级下册--探索图形-(2)-名师教学PPT课件.ppt
- 人教版小学数学五年级下册--图形的旋转-名师教学PPT课件.pptx
- 人教版小学数学五年级下册--真分数、假分数-名师教学PPT课件.pptx
- 人教版部编版小学语文二年级上册-曹冲称象-名师公开课教学PPT课件15.pptx
- 人教版小学音乐一年级上册-唱歌-小青蛙找家-(简谱)名师教学课件.ppt
- 人教版部编版小学语文二年级下册-当世界年纪还小的时候-第二课时-课件-名师教学课件PPT.pptx
- 人教版小学信息技术-曲线工具的妙用说课-名师教学PPT课件.ppt
- 人教版初中道德与法治初一七年级上册-家的意味-(4)-名师教学PPT课件.pptx
- 人教版初中道德与法治初一七年级上册-中学序曲-(4)-名师教学PPT课件.pptx
最近下载
- 幼儿园食育活动的设计与实施.pptx VIP
- 2025全国企业员工全面质量管理知识竞赛复习考题及参考答案.docx VIP
- 2025年中级注册安全工程师考试卷含完整答案(各地真题).docx VIP
- 敕勒歌 钢琴谱五线谱.pdf VIP
- T_ZZB 3449-2023 低压陷滚动阻力节能钢丝绳芯输送带.docx VIP
- 2026《高考数学一轮复习微专题106讲》93.有心圆锥曲线的第三定义及四大应用.docx VIP
- [童年练习题目.doc VIP
- 儿歌欣赏《爱我你就抱抱我》.ppt VIP
- 中国文学理论批评史——第二章-魏晋南北朝文学理论批评.pptx VIP
- 最新供热空调设计实用手册.pdf
文档评论(0)