题 目 可变分区内存分配首次适应算法模拟 姓 名: ﻩ 学 号: 专 业: ﻩ 学 院: ﻩ ﻩﻩ 指导老师: 林夕 ﻩ 二零一八 年 十一月ﻬ一、实验目得主存得分配与回收得实现与主存储器得管理方式有关得,通过本实验帮助学生理解在可变分区管理方式下应怎样实现主存空间得分配与回收。二、实验内容及原理编写一个内存动态分区分配模拟程序,模拟内存得分配与回收得完整过程。模拟在可变分区管理方式下采纳最先适应算法实现主存分配与回收。 可变分区方式就是按作业需要得主存空间大小来分割分区得.当要装入一个作业时,根据作业需要得主存量查瞧就是否有足够得空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入。随着作业得装入、撤离,主存空间被分成许多个分区,有得分区被作业占用,而有得分区就是空闲得。当进程运行完毕释放内存,系统根据回收区得首址,从空闲区链表中找到相应得插入点,此时可能出现以下 4 种情况之一:1、回收区与插入点得前一个空闲分区 F1 相邻接,此时将两个分区合并2、回收区与插入点得后一个空闲分区 F2 相邻接,此时将两个分区合并3、回收区与插入点得前,后两个空闲分区相邻接,此时将三个分区合并4、回收区既不与F 1 相邻接,又不与 F2 相邻接,此时应为回收区单独建立一个新表项三、程序设计1、算法流程3、详细设计(1)定义两个结构体s tr uct k ongxian //空闲分区{int start; //起址ﻩint end; //结束ﻩi nt leng th; //长度}kongx i a n[N];st ruc t zuoy e //作业分区{ﻩi nt start; //起址ﻩi nt en d; //结束ﻩi n t len gt h; //长度}zuo y e[N];(2)i n it() //初始化函数 kong x i a n 结构体为 0 1 0 2 3 1024 prin t 1() //打印空闲分区ﻩ p ri nt2() //打印作业分区m a i n()中具体实现算法:ﻩﻩprin t f(”请输入作业得占用空间得长度 ”);sca n f("%d",&len);ﻩﻩf l a g=0;ﻩf or(i=0;i〈n1;i++)ﻩ{ﻩﻩﻩﻩif(k o ngxian[i]、le ng t h〉=le n) //首次适应算法{ﻩﻩﻩﻩfl ag=1;ﻩﻩbrea k;ﻩ}}ﻩi f(!f l ag)ﻩ{ﻩﻩprin t f("内存分配失败\n”);ﻩﻩﻩ}ﻩﻩﻩel seﻩ{ﻩﻩﻩ//将该作业加入作业区里ﻩzuo y e[n2]、s ta r t=k o ngx ia...