模拟可变分区内存管理的内存分配策略

模拟可变分区内存管理的内存分配策略

ID:10495708

大小:669.50 KB

页数:33页

时间:2018-07-07

模拟可变分区内存管理的内存分配策略_第1页
模拟可变分区内存管理的内存分配策略_第2页
模拟可变分区内存管理的内存分配策略_第3页
模拟可变分区内存管理的内存分配策略_第4页
模拟可变分区内存管理的内存分配策略_第5页
资源描述:

《模拟可变分区内存管理的内存分配策略》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统课程设计题目:模拟可变分区内存管理的内存分配策略姓名:学号:专业:2008年1月1日第32页共33页模拟可变分区内存管理的内存分配策略摘要:模拟可变分区内存管理的模式下的各种内存分配策略,根据输入的各进程的信息(进程名,需要内存大小,进入内存时间,退出内存时间,发生动态申请内存的时间,动态申请的内存大小等),输出各个时间段上系统中的内存分布情况(各个空闲区位置和大小,各个进程空间的位置和大小)。关键词:最先适配,下次适配,最优适配,最差适配,在各种策略下允许进程的动态申请内存空间。前言一.设计的背景1.1介绍相关概念,相关算法可变分区模式的基本工作工程:内

2、存分配策略(1)最先适应算法(First第32页共33页Fit):从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高地址空间保留大的空闲区。优点:简单,快捷,查找次数较小。缺点:经常把大分区分配给小作业(2)下次适配:即顺序扫描自由块表,直至第二次找到一个足够大的自由块为止,该块即为被选中的块。(3)最佳适应算法(BestFit):它从全部空闲区中找出能满足作业要求的、且大

3、小最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表(空闲区链)中的空闲分区要按大小从小到大进行排序,自表头开始查找到第一个满足要求的自由分区分配。该算法保留大的空闲区,但造成许多小的空闲区。优点:总是找到与分配长度最接近的自由存储块,同时也就产生最小的剩余块。缺点:a.查找效率低,需要扫描整个自由块表,但在按自由块长度排序时,与最先适配一样快。b.导致许多很小的空闲块,造成空间浪费,称为外部存储碎片。c.动态扩充余地小(4)最差适应算法(BestFit):它从全部空闲区中找出能满足作业要求的、且大小最大的空闲分区,从而使链表中的结点大小趋于均匀,适

4、用于请求分配的内存大小范围较窄的系统。为适应此算法,空闲分区表(空闲区链)中的空闲分区要按大小从大到小进行排序,自表头开始查找到第一个满足要求的自由分区分配。该算法保留小的空闲区,尽量减少小的碎片产生。1.2设计环境与工具:Windowsxp平台,VisualC++6.0。二.设计思路和总体流程图2.1设计思路:1)声明基本的结构体跟头文件。2)初始化内存状态。3)读数据并申请自由块数量及各自由块长度。4)对自由块进行地址排序并选择算法申请作业所需内存空间大小。5)被调度的作业一直运行到完成,把完成的结果输出。6)最后撤消作业,释放内存空间,以免造成空间浪费。2.

5、2数据结构定义和头文件定义第32页共33页#include#include#include#include//系统时间使用#include#include//清屏函数使用#includeconstintMAXJOB=100;//定义表最大记录数typedefstructnode{intstart;//开始地址intlength;//自由块长度chartag[20];//自由块状态chartime[64];//进入系统时间}jo

6、b;jobfrees[MAXJOB];//定义空闲区表intfree_quantity;//空闲joboccupys[MAXJOB];//定义已分配区表intoccupy_quantity;//使用中free_quantity与occupy_quantity是全局变量2.3总体流程图如图1第32页共33页2.4模块分割、模块间接口函数1)voidinitial()//初始化函数2)intreadData()//读数据3)voidsort()//排序整理自由块第32页共33页1)voidview()//显示各空间表及各内存分配情况2)voidrepeal()//撤消

7、作业所占内存空间3)voidcopyright()//显示版权信息4)voidmain()//主函数,主要在这里选择调用算法三.算法的实现3.1功能实现fname.txt可以自己手动写入需要的相应文本内容,也可以通过程序运行后输入的内容信息系统自动生成。系统自动生成文本前或是手动建立文本前,选择1便会提示出错现在我们选择2重新输入文本内容并选择输入4个自由块空间,每个空间起始地址与长度自己定义,输入完选择3显示空闲表和分配表第32页共33页返回选择界面,选择1申请空间,在此选择4做的是最差适配算法,此时申请的是作业所需的内存空间大小,进入系统时间跟该作业要运行的时

8、间都是由自

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

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

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