資源簡介
操作系統實驗四 動態分區分配算法(內含源代碼和詳細實驗報告),詳細介紹: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
- 上一篇:匯編語言實驗二英文打字練習軟件
- 下一篇:三相直流無刷電機驅動電路
評論
共有 條評論