C课程设计论文报告(赵老师).docVIP

  • 1
  • 0
  • 约1.35万字
  • 约 24页
  • 2018-03-28 发布于河南
  • 举报
C课程设计论文报告(赵老师)

辽 宁 工 业 大 学 C语言程序设计 课程设计(论文) 题目:储存管理分区分配算法 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 赵 锦 教师职称: 讲 师 起止时间: 2008.12.29至2009.1.9 课程设计(报告)任务及评语 院(系):软件学院 教研室:软件教研窒 学 号 学生姓名 专业班级 程序设计(报告)题目 储存管理分区分配算法 程序设计(报告)任务 程序设计的任务与要求: (1)掌握C语言编程的基础知识。 (2)较熟练地编写C语言应用程序。 (3)了解C语言的常用标准函数、编程技巧、异常处理。 (5)联系已学过的内容,巩固所学的理论,增强独立工作能力。 (6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。 (7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。 课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。 指导教师评语及成绩 成绩: 指导教师签字: 2009 年 1 月 13 日 目 录 第1章 课程设计的目的与要求 1 1.1 课程设计目的 1 1.2 课程设计的实验环境 1 1.3 课程设计的预备知识 1 1.4 课程设计要求 1 第2章 课程设计内容 2 2.1程序功能介绍 2 2.2程序整体设计说明 2 2.2.1设计思路 2 2.2.2数据结构设计及用法说明 3 2.2.3程序结构(流程图) 4 2.2.4各模块的功能及程序说明 5 2.2.5程序结果 7 2.3程序源代码及注释 9 第3章 课程设计总结 19 第1章 课程设计的目的与要求 1.1 课程设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 课程设计的实验环境 硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言 1.3 课程设计的预备知识 熟悉C语言及C语言开发工具。 1.4 课程设计要求 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 . 设计完成后提交课程设计报告 第2章 课程设计内容 2.1程序功能介绍 首次适应算法和最佳适应算法实现可变分区管理。对存储空间的分配和回收。当有用户申请空间时,进行分配,空间不用了及时回收,以免造成游离空间,使得该空间再也无法使用。 2.2程序整体设计说明2.2.1设计思路 (1) 总体思路:利用两个双端队列分别记录主存空闲区,主存已分配区的情况。将成功分配到主存空间的进程添加到“已分配主存队列”,计算剩余空闲区的情况并将其放入“空闲区队列”,结束进程时则进行相反的操作。 (2)主存分配算法实现:采用的是(BF)最优适应算法,每次将空闲区其放入“空闲区队列” 时,将其按照空间大小升序排序,然后在分配主存空间时,查找第一个放得下的空间即可(这也是为什么BF不如WF查找效率高的原因,WF只需要检测第一个空间即可)。 (3)主存回收算法实现:主存回收时将进程从“已分配主存队列”删除的同时,对其占有的资源进行回首,回收后的空闲区再次按照升序其放入“空闲区队列”。 (4)相邻空闲区合并算法实现: 首先将空闲区队列按照地址的升序排序,然后利用两个相邻的迭代器对地址是否相连续进行检测,若相邻则合并,否则继续前移检测,最后将已经合并好的空闲区队列按照空间大小升序排序(为其他的操作服务)。 2.2.2数据结构设计及用法说明 由于动态分区的大小是由作业需求量决定的,故分区的长度是预先不固定的,且分区的个数也随主存分配和回收变动。总之,所有分区情况随时可能发生变化,数据表格的设计必须和这个特点相适应。 分区起始地址int startAddress 分区大小int size 分区链表指针struct node *next 采用最优适应算法完成主存空间的分配和回收 选择适应策略pri

文档评论(0)

1亿VIP精品文档

相关文档