操作系统实验报告 实验四 动态分区分配算法 学号: 班级: 姓名: 【实验目的】 通过这次实验,加深对动态分区分配算法的理解,进一步掌握首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的实现方法
【实验内容】 问题描述: 设计程序模拟四种动态分区分配算法:首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法的工作过程
假设内存中空闲分区个数为 n,空闲分区大小分别为 P1, … ,Pn,在动态分区分配过程中需要分配的进程个数为 m(m≤n),它们需要的分区大小分别为 S1, … ,Sm,分别利用四种动态分区分配算法将 m 个进程放入 n 个空闲分区,给出进程在空闲分区中的分配情况
程序要求如下: 1)利用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法四种动态分区分配算法模拟分区分配过程
2)模拟四种算法的分区分配过程,给出每种算法进程在空闲分区中的分配情况
3)输入:空闲分区个数 n,空闲分区大小 P1, … ,Pn,进程个数 m,进程需要的分区大小 S1, … ,Sm,算法选择 1-首次适应算法,2-循环首次适应算法,3-最佳适应算法,4-最坏适应算法
4)输出:最终内存空闲分区的分配情况
实现提示: 用 C++语言实现提示: 1)程序中变量定义参考(根据需要可添加)如下: const int MaxNumber=100; int FreePartition[MaxNumber]; int FirstPartition[MaxNumber]; int CycleFirstPartition[MaxNumber]; int BestPartition[MaxNumber]; int WorstPartition[MaxNumber]; int ProcessNeed[MaxNumber]; int PartitionNum,Proce