资源简介
操作系统实验四 动态分区分配算法(内含源代码和详细实验报告),详细介绍:http://blog.csdn.net/xunciy/article/details/79239096
代码片段和文件信息
#include
#include
#include
using namespace std;
#define MAXNUMBER 100
static int PartitionNum; //内存中空闲分区的个数
static int FreePartition[MAXNUMBER]; //空闲分区对应的内存
static int ProcessNum; //进程个数
static char ProcessName[MAXNUMBER];//进程名字
static int ProcessNeed[MAXNUMBER]; //进程大小
static char NameProcessToPartition[MAXNUMBER][MAXNUMBER];//各个进程所在分区位置
static int LeftFreePartition[MAXNUMBER];
static int LeftProcessNeed[MAXNUMBER];
typedef struct{
int partitionSize;
int id;
}sortNeed;
void Enter();//输入分区数和大小、资源数和大小
void initial();//初始化供4个算法使用
void display();//显示分区结果
void FirstFit();//首次适应算法FF
void NextFit();//循环首次适应算法NF
void BestFit();//最佳适应算法BF
void WorstFit();//最坏适应算法WF
int main(){
Enter();
FirstFit();
NextFit();
BestFit();
WorstFit();
return 0;
}
//输入分区数和大小、资源数和大小
void Enter(){
int i;
cout<<“Enter PartitionNum: “;
cin>>PartitionNum;
cout<<“Enter FreePartition: “;
for (i=0;i cin>>FreePartition[i];
}
cout<<“Enter ProcessNum: “;
cin>>ProcessNum;
for (i=0;i ProcessName[i]=i+65;
}
cout<<“Enter ProcessNeed: “;
for (i=0;i cin>>ProcessNeed[i];
}
}
//初始化供4个算法使用
void initial(){
int ij;
for (i=0;i for (j=0;j NameProcessToPartition[i][j] =NULL;
LeftFreePartition[j] = FreePartition[j];
}
}
for (i=0;i LeftProcessNeed[i] = ProcessNeed[i];
}
}
//显示分区结果
void display(){
int i;
cout<<“ProcessName: “<<“\t\t“;
for (i=0;i cout< }
cout< cout<<“ProcessNeed: “<<“\t\t“;
for (i=0;i cout< }
cout<
cout<<“PartitionNum: “<<“\t\t“;
for (i=0;i cout<<“P“< }
cout< for (i=0;i cout< }
cout< for (i=0;i cout< }
cout< for (i=0;i for (int j = 0;j if (NameProcessToPartition[j][i]!=NULL){
cout< }
}
}
}
//首次适应算法FF
void FirstFit(){
cout<<“FF“< initial();
int ij;
for (i=0;i for (j=0;j //当系统内存分区足够大的时候,即分配给进程资源
if (LeftProcessNeed[i] <= LeftFreePartition[j] && LeftFreePartition!=0){
LeftFreePartition[j] -= LeftProcessNeed[i]; //扣除分配给进程的资源
LeftProcess
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-02-03 16:06 实验四 动态分区分配算法\
目录 0 2018-02-03 16:06 实验四 动态分区分配算法\FF_NF_BF_WF\
文件 6771 2017-12-16 22:23 实验四 动态分区分配算法\FF_NF_BF_WF\FF_NF_BF_WF.cpp
文件 1051772 2017-12-16 22:29 实验四 动态分区分配算法\FF_NF_BF_WF\FF_NF_BF_WF.exe
文件 6848 2017-12-16 22:29 实验四 动态分区分配算法\FF_NF_BF_WF\FF_NF_BF_WF.o
文件 120998 2017-12-28 22:39 实验四 动态分区分配算法\实验四 动态分区分配算法.docx
- 上一篇:汇编语言实验二英文打字练习软件
- 下一篇:三相直流无刷电机驱动电路
相关资源
- 操作系统实验五 虚拟内存页面置换算
- 操作系统实验二 时间片轮转RR进程调
- 多用户文件系统的实现
- 操作系统进程调度算法课程设计报告
- 可变式分区存储管理 实验报告和源代
- 操作系统.zip
- LINUX操作系统文件系统设计实验代码
- 计算机操作系统期末复习题(答案最
- 操作系统第五版答案
- 操作系统实验报告进程通信
- 广工最新2020操作系统课程设计
- 操作系统全套课件
- 广工操作系统课设
- 操作系统设计spooling系统代码
- 操作系统实验1_线程同步
- 操作系统课程设计-简单字符设备和块
- 东华大学 操作系统实验 读者写者问题
- 操作系统实验_多级反馈队列调度算法
- UCOS-II_API函数参考手册(带书签)
- 银行家算法讲解 带流程图
- 操作系统真像还原[郑钢著].PDF
- 《计算机操作系统第四版答案》
- 1---17030140015+党奇伟+西电计算机操作系
- 操作系统调度算法实验报告
- 操作系统实验六 设计一个按时间片轮
- 东北大学软件学院操作系统实验代码
- 计算机操作系统期末考试复习
- 操作系统实验四 进程的管道通信 实验
- 操作系统内存分配算法
- 一步一步写嵌入式操作系统--ARM编程的
评论
共有 条评论