存储管理——动态分区分配回收算法的模拟.doc
文本预览下载声明
齐齐哈尔大学
操作系统课程综合实践
题目:存储管理——动态分区分配/
回收算法的模拟
班级: 0
姓名: 0
学号: 0
指导教师: 0
2011年 12 月
综合实践评分表
班级
0
姓名
0
指导教师
0
题目: 存储管理---动态分区分配/回收算法的模拟
评分标准
评分标准
分数权重
评分的依据
得分
A
C
选题
10
选题符合大纲要求,题目较新颖,工作量大
选题基本符合大纲要求,工作量适中
工作态度
10
态度端正,能主动认真完成各个环节的工作,不迟到早退,出勤好。
能够完成各环节基本工作,出勤较好。
存储结构、算法描述
20
能正确选择存储结构,定义准确,算法流程图或类C语言描述的算法准确无误
能正确选择存储结构,算法流程图或类C语言描述的算法基本准确
独立解决问题的能力
10
具有独立分析、解决问题能力,有一定的创造性,能够独立完成软件的设计与调试工作,程序结构清晰,逻辑严谨,功能完善。
有一定的分析、解决问题能力。能够在老师指导下完成软件的设计与调试工作,程序功能较完善。
答辨问题回答
20
能准确回答老师提出的问题
能基本准确回答老师提出的问题
程序运行情况
10
程序运行正确、界面清晰,测试数据设计合理。
程序运行正确、界面较清晰,能给出合适的测试数据。
综合实践报告
20
格式规范,层次清晰,设计思想明确,解决问题方法合理,体会深刻。
格式较规范,设计思想基本明确,解决问题方法较合理。
总分
指导教师(签字):
注:介于A和C之间为B级,低于C为D级和E级。按各项指标打分后,总分在90~100为优,80~89为良,70~79为中,60~69为及格,60分以下为不及格。
存储管理---动态分区分配/回收算法的模拟
摘要:主存的分配和回收的实现是与住存储器的管理方式有关的。解决多进程如何共享主存空间的问题。当进程运行完时将进程所占的主存空间归还给系统。可变分区存储管理方式,分区分配中所用的数据就够采用空闲分区说明表和空闲分区链表来进行。
关键字:内存分配,空闲分区表,进程申请队列
一、【实践目的】:
1、熟悉主存分配与回收
2、理解在不同的存储管理方式,如何实现主存空间的分配与回收
3、掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方
式及其实现过程。
二、【实践内容和要求】:
主存的分配和回收的实现是与住存储器的管理方式有关的。所谓分配,就是解决多进程如何共享主存空间的问题。所谓回收,就是当进程运行完时将进程所占的主存空间归还给系统。
实验要求使用可变分区存储管理方式,分区分配中所用的数据就够采用空闲分区说明表和空闲分区链表来进行,分区分配中所用的算法采用首次适应算法、循环首次适应算法、最佳适应算法、三种算法来实现主存的分配与回收。
同时要求设计一个实用友好的可视化用户界面,并显示分配与回收过程。
仿真实现动态可变分区存储管理模拟系统。内存调度策略可采用首次适应算法、循环首次适应算法和最佳适应法等,并对各种算法进行性能比较。为了实现分区分配,系统中必须配置相应的数据结构,用来描述空闲区和已分配区的情况,为分配提供依据。常用的数据结构有两种形式:空闲分区表和空闲分区链。为把一个新作业装入内存,须按照一定的算法,从空闲分区表或空闲分区链中选出一个分区分配给该作业。
三、【实践原理】
操作系统是最重要的计算机系统软件,同时也是最活跃的学科之一。计算机系统由硬件和软件两部分组成。操作系统是配置在计算机硬件上的第一层软件,是对硬件的首次扩充。本次课程设计的主要目的是在学习操作系统理论知识的基础上,对操作系统整体的一个模拟。也是对本学期所学知识的一个总体的检测,使理论知识应用到实际的编程中,根据理论的算法来实现具体的编程操作。同时通过本次课程设计加深对操作系统理论知识各个部分管理功能的感性认识,进一步分析和理解各个部分之间的联系和功能,最后达到对完整系统的理解。同时,可以提高运用操作系统知识和解决实际问题的能力;并且锻炼自己的编程能力、创新能力以及开发软件的能力;还能提高自己的调查研究、查阅文献、资料以及编写软件设计文档的能力并提高分析问题的能力。
实验中为有效地对内存进行管理,实验中应设计一些数据结构,能有效地进行分配和回收,具体分析如下:
设计一个空闲分区表,空闲分区表通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲分区低端的空间。
设计一个内存分区表,可用链表管理,用以表示当前以内存使用情况。
设计一个进程申请队列以及进程完成后的释放顺序,实现主存的分配和回收。
要求每次分配和回收后把空闲分区的变化情况以及各进程的申请、释放情况以及各进程的申请、释放情
显示全部