操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收

操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收

ID:6405631

大小:473.50 KB

页数:22页

时间:2018-01-12

操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收_第1页
操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收_第2页
操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收_第3页
操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收_第4页
操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收_第5页
资源描述:

《操作系统课程设计报告--最佳适应算法模拟实现内存分配与回收》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、衡阳师范学院工科课程设计-《操作系统》课程设计报告实验题目:最佳适应算法模拟实现内存分配与回收学号:07190132200807姓名:王果刘芳麟何超英高超班级:0701指导教师:陈琼日期:2009年12月22目录 一、概述……………………………………………………………………………………………31.设计目的………………………………………………………………………………………32.开发环境………………………………………………………………………………………33.任务分配………………………………………………………………………………………3二、需求

2、分析…………………………………………………………………………………3三、实验基本原理…………………………………………………………………………41.可变分区存储管理之最优适应分配算法的概念……………………………………………42.关于最优适应分配算法的一些基本原理……………………………………………………4四、数据结构设计……………………………………………………………………………41.内存块与作业块………………………………………………………………………………42.程序流程图……………………………………………………………………………………52.

3、1.整体程序流程图…………………………………………………………………………52.2.内存分配allocate()流程图………………………………………………………………62.3.内存回收callback()流程图………………………………………………………………7五、算法的实现………………………………………………………………………………71.程序主要功能函数设计思想……………………………………………………………72.源程序清单……………………………………………………………………………83.测试用例与程序运行结果截图…………………………………

4、……………………18六、总结……………………………………………………………………………………………211.经验总结……………………………………………………………………………………212.心得与体会…………………………………………………………………………………21七、参考文献……………………………………………………………………………………222222一、概述1、设计目的(1)了解多道程序系统中,多个进程并发执行的内存资源分配。(2)模拟可变分区存储管理算法实现分区管理的最佳适应分配算法(3)利用最佳适应算法动态实现内存分配与回收(3)通过

5、实现最佳算法来进一步了解动态分区模式的优缺点。(4)掌握最佳适应分配算法,深刻了解各进程在内存中的具体分配策略。2、开发环境PC机DOS;WINDOWS环境VisualC++6.0forWindows3、任务分配设计人员设计任务王果程序总体设计,部分内存回收的实现,上机编码和调试,程序后期优化刘芳麟部分内存分配的实现,编写文档,设计测试用例何超英部分内存分配的实现,编写文档,数据结构设计高超部分内存回收的实现,资料收集,需求分析   二、需求分析克服固定分区中的主存资源的浪费,有利于多道程序设计,提高主存资源的利用率。 22三、实验基本

6、原理1、可变分区存储管理之最优适应算法分配的概念:分区存储管理是给内存中的进程划分适当大小的存储区,以连续存储各进程的程序和数据,使各进程能并发地执行。最优适应分配算法扫描整个未分配区表或链表,从空闲区中挑选一个能满足用户进程要求的最小分区进行分配。2、关于最优适应的一些基本原理:在可变分区模式下,在系统初启且用户作业尚未装入主存储器之前,整个用户区是一个大空闲分区,随着作业的装入和撤离,主存空间被分成许多分区,有的分区被占用,而有的分区时空闲的。为了方便主存空间的分配和去配,用于管理的数据结构可由两张表组成:“已分配区表”和“未分配区

7、表”。在“未分配表中”将空闲区按长度递增顺序排列,当装入新作业时,从未分配区表中挑选一个能满足用户进程要求的最小分区进行分配。这时从已分配表中找出一个空栏目登记新作业的起始地址和占用长度,同时修改未分配区表中空闲区的长度和起始地址。当作业撤离时已分配区表中的相应状态变为“空”,而将收回的分区登记到未分配区表中,若有相邻空闲区再将其连接后登记。可变分区的回收算法较为复杂,当一个作业撤离时,可分为4种情况:其临近都有作业(A和B),其一边有作业(A或B),其两边均为空闲区。尤其重要的是,在程序中利用“new类型T(初值列表)”申请分配用于存

8、放T类型数据的内存空间,利用“delete指针名”释放指针所指向的内存空间。四、数据结构设计1、(1)内存块structspace//定义内存空间结构体{longstartaddress;longlengt

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

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

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