基本分页存储管理系统的设计-操作系统课程设计.doc
《基本分页存储管理系统的设计-操作系统课程设计.doc》由会员分享,可在线阅读,更多相关《基本分页存储管理系统的设计-操作系统课程设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date基本分页存储管理系统的设计-操作系统课程设计教学内容及过程课程设计任务书及成绩评定课题名称基本分页存储管理系统的设计、题目的目的和要求: 巩固和加深对操作系统(OS)原理的理解,初步掌握操作系统组成模块和应用接口的使用方法,提高进行工程设计和系统分析的能力;通过选做上面的课题,实现OS最基本模块的管理功能,重点放在数据结构设计、文档规范化和程序设计风格。、设计进度及完
2、成情况日 期内 容6.16-7.18选取参考书,查阅有关文献资料,完成课程设计说明书内容1部分。 完成课程设计说明书内容2-4部分6.196.23创建相关数据结构,录入源程序6.246.25调试程序并记录调试中的问题,完成课程设计说明书第5部分。6.26系统测试,演示设计成果,考核成绩。6.27整理课程设计说明书,上午11时,由学习委员交课程设计说明书(计算机科学系9#213或直接交给指导教师)、主要参考文献及资料1 汤子赢等. 计算机操作系统(第二版).西安电子科技大学出版社,2006.82 冯耀霖等. 操作系统,西安电子科技大学出版社.19923 谭耀铭. 操作系统.中国人民大学出版社,2
3、003.4 4 任爱华 操作系统实用教程 清华大学出版社,2001 5 张尧学 史美林 计算机操作系统教程(第2版) 清华大学出版社2000、成绩评定:设计成绩: (教师填写)指导老师: (签字)二八 年 六 月二十七日-目 录第一章 概述1第二章 系统分析2第三章 系统设计3第四章 程序设计流程图或N-S图5第五章 源程序清单8第六章 调试过程中的问题及系统测试情况14第七章 结束语16第一章 概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。
4、计算机操作系统一门重要的专业课,是开发操作系统和软件系统的理论和应用基础。存储器是计算机系统的重要组成部分。近几年,虽然存储器的容量一直在不断的扩大,价格也越来越便宜,但是仍然不能满足现代软件发展的需要。因此存储器仍是一种宝贵的资源。因此尽可能的方便用户和提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡是存储器管理的主要任务。存储器管理应具有内存分配、内存保护、地址映射和内存扩充等功能。本设计的目的是熟悉存贮器管理系统的设计方法;加深对所学基本分页存储管理方案的了解;设计地址变换机构,并将变换后的结果显示出来。模拟环境应尽量接近真实。此次设计利用了大量数据结构中关于链表的
5、相关知识,对以前所学的数据结构相关内容进行了回顾,从而掌握的更加深刻。另外,对存储器的结构和工作过程也有了直观而深刻的理解。语言方面,本次课程设计运用了C+语言。原因是通过分析认为只有C+和C语言比较合适,而C+在结构上更加清晰,也比较容易表达,并且代码较少。通过代码编写和结构表达,对C+的内容有了更进一步的掌握。总之,对所学的数据结构和C+知识进行了很好的回顾和掌握,收获很大。第二章 系统分析本设计的目的是熟悉存贮器管理系统的设计方法;加深对所学各种存贮器管理方案的了解;要求采用一些常用的存贮器分配算法,设计一个存贮器管理系统模拟系统并调试运行。模拟环境应尽量接近真实。因此根据设计要求,本存
6、储器管理系统利用最佳适应算法和首次适应算法实现了一定大小的分区分配和分区回收,并以次来模拟存储器管理。本系统模拟实现可变分区管理,存储管理主要是对存储空间的分配和回收,当有用户申请空间时,进行分配,空间不用了,及时回收,以免造成游离空间,使得该空间再也无法使用,可变分区管理的分配和回收功能类似于visual c+的reclaim()和free()的功能,分区收回算法,才用首次使用算法和最佳适应算法。在多道程序环境下,要使程序运行,必须先为之创建进程。而创建进程的第一步是将程序和数据装入内存。存储器实现的功能主要是内存分配等功能,本模拟系统所要实现的就是将进程的程序和数据装入内存(物理块)。具体
7、需要实现的功能如下:1、退出,输入0然后按任意键退出;2、分配主存,输入作业名和作业所需长度,回到主菜单;3、回收主存,选择后输入要回收的作业名,有则显示回收,无则显示无该作业;4、显示主存,能够显示分配的页面的状态信息,包括地址范围和读入的内存物理块号(未读入与读入的区别显示),页面是否在主存中。第三章 系统设计3.1 数据结构的设计#define n 10 /*假定系统允许的最大作业数为n,假定模拟实验中n值为10*/ #define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/3.1.1已分配区表的设计struct float address; /*已分配分
8、区起始地址*/ float length; /*已分配分区长度,单位为字节*/ int flag; /*已分配区表登记栏标志,用0表示空栏目*/ used_tablen; /*已分配区表*/3.1.2 空闲区表的设计struct float address; /*空闲区起始地址*/ float length; /*空闲区长度,单位为字节*/ int flag; /*空闲区表登记栏标志,用0表示空栏目,用1表示未分配*/ free_tablem; /*空闲区表*/3.2 存储器分配算法设计本次设计采用最佳适应分配算法:allocate(char J,float xk)分配分区给用户,在这个过程中
9、,每当分配一个分区给用户时,可能造成空闲区表和已分配区表。分配时从空闲区表中找到一块可以容纳要分配的空间的最小空闲区。然后分配,空闲分区被分配时,如果分配后剩余的空间小于minisize,则将该空闲分区全部分配,若大于minisize,则切割分配。分配时修改相应的空闲区表和已分配区表。如果没有找到可以容纳要分配的空间的空闲区就返回“无可用空闲区”信息。3.4存储器回收算法设计最佳适应策略的结点是按照空闲区大小从小到大排列的,可分4种情况:(1) 上邻空闲区,下邻空闲区,三项合并;(2) 上邻空闲区,下邻非空闲区,与上邻合并;(3) 上邻非空闲区,下邻为空闲区,与下邻合并;(4) 上下邻均为非空
10、闲区,回收区域直接填入。3.4 主函数模块的设计首先提供一个功能菜单,接受用户的输入;然后根据用户的输入,分别提供相应的功能,功能有以下几个:0-退出1-分配主存2-回收主存3-显示主存。用户输入数字后执行相应模块。第四章 程序设计流程图或N-S图4.1主程序流程图:4.2分配函数流程图:4.3回收函数流程图:第五章 源程序清单#include#include #include#include#include#define n 10 /*假定系统允许的最大作业数为n,假定模拟实验中n值为10*/ #define m 10 /*假定系统允许的空闲区表最大为m,假定模拟实验中m值为10*/ #de
11、fine minisize 100 /*空闲分区被分配时,如果分配后剩余的空间小于minisize,则将该空闲分区全部分配,若大于minisize,则切割分配*/struct float address; /*已分配分区起始地址*/ float length; /*已分配分区长度,单位为字节*/ int flag; /*已分配区表登记栏标志,用0表示空栏目*/ used_tablen; /*已分配区表*/ struct float address; /*空闲区起始地址*/ float length; /*空闲区长度,单位为字节*/ int flag; /*空闲区表登记栏标志,用0表示空栏目,用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 分页 存储 管理 系统 设计 操作系统 课程设计
限制150内