下载此文档

连续内存分配算法模拟.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
连续内存分配算法模拟一、实验目的1、模拟设计连续内存动态分区分配过程,内存管理选择链式管理;2、FF、循环首次适应算法、最佳适应算法任选其一。二、实验学时4课时三、实验环境与平台Windows2000,C/C++程序开发集成环境四、实验内容及要求1、实验内容:(1)自定义PCB的数据结构;(2)针对连续内存动态分区分配过程,内存管理选择链式管理的问题,从下面三种算法如FF、循环首次适应算法、最佳适应算法任选其一,解决该问题。2、实验要求:(1)完成规定的实验内容;(2)在实验之前,利用课外时间浏览帮助文件的相关主题内容;(3)实验时保存程序代码;(4)写出实验报告.(实验报告包括:程序代码,调试过程,实现结果)。五、完成的实验内容。此程序用C++编写,用VC++调试。实现了最先适用算法的内存分配。本程序能完成如下功能:(1)随机产生内存的大小,随机分配进程个数和进程的大小。(2)对每个进程进行最先适用算法的内存分配,报告执行的情况以及内存的大小。(3)对最先适用算法,建立链表,并在程序完成后回收相应的内存空间,对它进行组织。代码:#include""#include""#include""#include""#include""#include""#defineFINISH0#defineRUN1#defineWAITE2//#defineNULL0typedefstructmemory//内存块{ intm_begin; intm_size; memory*next;}memory;typedefstructmLNode{ //intm_num; intm_total; memory*next;}mLNode;typedefstructpcb{ intp_size; intstatus; intpbegin; //pcb*next;}pcb;/*typedefstructpLNode{ intp_num; pcb*next;}pLNode;*/voidDisplaymLNode();voidDisplayg_pcb();boolm_FirstFit();//用最先适用算法来进行内存的分配boolInitialMemory();boolInitialProcessing();boolGetg_pro();//随机得到进程的数目boolm_Recycle(pcb*p);//用于对释放内存的回收intg_pro;//总的进程数intg_mem;//总的内存数unsignedlongnext=1;//来产生随机数mLNodeg_mLNode;//未使用的内存块链表pcb*g_pcb;//进程链表//pLNodeg_pLNode;voidsrand(unsignedintseed){ next=seed;}intrand(){ next=next*1103515245+12345; return(unsignedint)(next/65536)%32768;}//初始各个进程,是由随机函数来进行实现的;并且每个进程的大小限制在10~400之间boolInitialProcessing(){ g_pcb=newpcb[g_pro]; intmsize; for(inti=0;i<g_pro;i++) { //随机产生进程所需空间//srand(g_pcb[i-1].p_size); while((msize=rand()%700)<400||(msize=rand()%700)>600); g_pcb[i].p_size=msize; g_pcb[i].status=WAITE; } returntrue;}//初始化未分配出去的内存块的链表boolInitialMemory(){ srand((unsigned)time(NULL)); intmsize; while((msize=rand()%2000)<900); g_mem=msize; =msize;//开始时内存还没有分配故总的数目为1且空闲为所刚产生的内存的大小 =(memory*)malloc(msize*sizeof(memory)+1); ->next=NULL;//刚建立时next应该指向为空 ->m_begin=1; ->m_size=msize; returntrue;}//随机产生进程的个数并且控制进程的数目在5~12之间boolGetg_pro(){ srand((unsigned)time(NULL)); while((g_pro

连续内存分配算法模拟 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人guoxiachuanyue
  • 文件大小96 KB
  • 时间2019-06-18