OS课程设计模拟内存分配算法MFC实现.docx

OS课程设计模拟内存分配算法MFC实现.docx

ID:62477888

大小:61.63 KB

页数:20页

时间:2021-05-08

OS课程设计模拟内存分配算法MFC实现.docx_第1页
OS课程设计模拟内存分配算法MFC实现.docx_第2页
OS课程设计模拟内存分配算法MFC实现.docx_第3页
OS课程设计模拟内存分配算法MFC实现.docx_第4页
OS课程设计模拟内存分配算法MFC实现.docx_第5页
资源描述:

《OS课程设计模拟内存分配算法MFC实现.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持课程设计报告设计题目:内存的连续分配算法班级:1003学号:3姓名:指导老师:设计时间:2012年8月r亠亠「上摘要1、主要算法包括:固定分区分配、动态分区分配、伙伴算法、可重定位分区分配。2、内容要求:1)定义与算法相关的数据结构,如PCB空闲分区表;2)至少实现两种以上分配算法,且用户可以选择在某次执行过程中使用何种算法;3)在使用动态分区分配或可重定位分区分配算法时必须实现紧凑和对换功能;4)动态分区分配和可重定位分区分配必选一个实现。本系统模拟了操作系统内存分配算法的实现3文档收集于互联网,如有不妥请联系删除

2、文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持,实现了固定分区分配和动态分区分配,以及可重定位分区分配算法,采用PCB定义结构体来表示一个进程,定义了进程的名称和大小,进程内存起始地址和进程状态。内存分区表采用单链表来模拟实现。关键词:固定分区分配、动态分区分配、可重定位分区分配。目录1.概述.4…2.课程设计任务及要求2.1设计任务.……2.2设计要求.……3.算法及数据结构3.1算法的总体思想(流程)53.2PCB模块3.2.1功能(运算).443.2.2数据结构(存储结构).443文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理.word版本

3、可编辑.欢迎下载支持3.2.3算法(实现).443文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持3.3进程队列模块6••…332数据结构…6••…1.程序设计与实现4.1程序流程图……4.2程序说明(代码)4.3实验结果.:9…2.结论.:103.参考文献。.:107•收获、体会和建议。.:10一:概述本系统模拟了操作系统内存分配算法的实现,实现了固定分区分配和动态分区分配,以及可重定位分区分配算法,采用PCB定义结构体来表示一个进程,定义了进程的名称和大小,进程内存起始地址和进程状态。内存分区表采用单链表来模拟实现。固定分区

4、实现就是将单链表的每个节点的大小设为固定大小,系统默认如果按固定分区分配的话,只能分成20个相等大小的分区,因此系统只能最多运行20个进程。动态分区的实现是根据进程所申请的内存大小来决定动态的有系统进行分配内存空间大小,因此分区表里的空闲分区个数是不定的,根据进程数和进程大小决定的。可重定位分区算法比动态分区算法增加了紧凑和进程对换的功能。二:课程设计任务及要求设计任务:使用C++MFC实现模拟操作系统内存分配算法的实现,定义结构体数据结构表示进程,定义单链表表示内存分区表。设计要求:定义与算法相关的数据结构,如PCB空闲分区表;至少实现两种以上分配算法,且用户可以选择在某次

5、执行过程中使用何种算法;9文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持9文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持在使用动态分区分配或可重定位分区分配算法时必须实现紧凑和对换功能;动态分区分配和可重定位分区分配必选一个实现。算法及数据结构#definefree0#definebusy1typedefintStatus;structPCB//表示进程状态空闲//表示进程状态忙//表示进程状态//表示进程PCB结构体CStringname;Statusstatus;intlS

6、tartAddresintSize;};structNode{PCBdata;Node*next;};classQueue{public:Queue();~Queue(){}//voidShow();intGetLength();//进程name//进程状态busyorfree//进程起始地址//进程大小//表示组成链表的结点结构体//表示分区表的单链表类//内存区分配情况显示9文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持//获得所有空闲分区总大小//初始化内存区域大小//固定分区分配初始化空闲内存链//为进程分配内存(执行

7、固定分//为进程分配内存(动态分//释放进程内存//内存紧凑分区算法//进程对换算法//返回头结点//链表节点清除intGetAllFree();voidInitialMemory(int);voidFixedPartitonAlloc();表boolAllocProFixed(CString,int);区分配算法)boolAllocProDynamic(CString,int);区分配)boolFreeMemory(CString);boolAllMerge(int);boolSwaping(int,

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

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

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