資源簡介
進程調度:先來先服務、靜態優先數調度、最短時間調度 作業調度:來先服務算法、短作業優先算法、高響應比算法 內存分配:首次適應算法FF、循環首次適應算法NF、最佳適應算法BF、最壞適應算法三種算法WF

代碼片段和文件信息
#include
#define?false?0
#define?true?1
int?sourse?=?3;
int?process?=?5;
int?all_process[3]?=?{10?5?7};
int?max_process[5][3]?=?{{7?5?3}?{3?2?2}?{9?0?2}?{2?2?2}?{4?3?3}};
int?have_process[5][3]?=?{{0?1?0}?{2?0?0}?{3?0?2}?{2?1?1}?{0?0?2}};
int?need_process[5][3];
int?available_process[3];
int?request_process[3];
getNeed()?{
for(int?i?=?0;?i? for(int?j?=?0;?j? need_process[i][j]?=?max_process[i][j]?-?have_process[i][j];
}
}
}
getAvailable()?{
int?temp?=?0;
for(int?i?=?0;?i? temp?=?0;
for(int?j?=?0;?j? temp?+=?have_process[j][i];
}
available_process[i]?=?all_process[i]?-?temp;
}
}
showProcess(int?a[5][3])?{
printf(“ 資源0 資源1 資源2\n“);
for(int?i?=?0;?i? printf(“進程p%d:“?i);
for(int?j?=?0;?j? printf(“\t?%d?“?a[i][j]);
}
printf(“\n“);
}
}
showAllProcess(int?a[3])?{
printf(“[“);
for(int?i?=?0;?i?3;?i++)?{
printf(“?%d?“?a[i]);
}
printf(“]\n“);
}
distribute(int?k)?{
for(int?i?=?0;?i? available_process[i]?=?available_process[i]?-?request_process[i];
have_process[k][i]?=?have_process[k][i]?+?request_process[i];
need_process[k][i]?=?need_process[k][i]?-?request_process[i];
}
}
back(int?k)?{
for(int?i?=?0;?i? available_process[i]?=?available_process[i]?+?available_process[i];
have_process[k][i]?=?have_process[k][i]?-?request_process[i];
need_process[k][i]?=?need_process[k][i]?+?request_process[i];
}
}
int?isExist()?{
int?temp?=?0;
int?flag?=?1;
int?index[5]?=?{0?0?0?0?0};
int?k?=?5;
while(k?>?0)?{
temp?=?0;
for(int?i?=?0;?i?5;?i++)?{
if(index[i]?==?1)?{
continue;
}
flag?=?1;
for(int?j?=?0;?j?3;?j++)?{
if(available_process[j]?>=?need_process[i][j])?{
continue;
}?else?{
flag?=?-1;
break;
}
}
if(flag?==?1)?{
for(int?k?=?0;?k?3;?k++)?{
available_process[k]?+=?have_process[i][k];
}
index[i]?=?1;
}
}
k--;
}
for(int?i?=?0;?i?5;?i++)?{
if(index[i]?==?1)?{
continue;
}else?{
printf(“不存在安全序列\n“);
return?-1;
}
}
printf(“存在安全序列\n“);
return?1;
}
int?bank(int?num_process)?{
int?index?=?1;
int?result;
char?input;
int?available_process_test[3];
for(int?i?=?0;?i?3;?i++)?{
if(available_process[i]? index?=?-1;
break;
}?else?if(request_process[i]?>?need_process[num_process][i])?{
index?=?-2;
break;
}
}?
if(index?==?-1)?{
printf(“要求資源大于可用資源。\n“);
}?else?if(index?==?-2)?{
printf(“要求資源大于進程所需資源。\n“);
}else?{
distribute(num_process);
result?=?isExist();
if(result?==?1)?{
printf(“分配資源成功!\n“);
}?else?if(result?==?-1)?{
}
}
}
int?main
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????306??2019-11-27?15:46??OSHomework\.git\config
?????文件?????????73??2019-11-27?15:46??OSHomework\.git\desc
?????文件?????????23??2019-11-27?15:46??OSHomework\.git\HEAD
?????文件????????478??2019-11-27?15:46??OSHomework\.git\hooks\applypatch-msg.sample
?????文件????????896??2019-11-27?15:46??OSHomework\.git\hooks\commit-msg.sample
?????文件???????3327??2019-11-27?15:46??OSHomework\.git\hooks\fsmonitor-watchman.sample
?????文件????????189??2019-11-27?15:46??OSHomework\.git\hooks\post-update.sample
?????文件????????424??2019-11-27?15:46??OSHomework\.git\hooks\pre-applypatch.sample
?????文件???????1638??2019-11-27?15:46??OSHomework\.git\hooks\pre-commit.sample
?????文件???????1348??2019-11-27?15:46??OSHomework\.git\hooks\pre-push.sample
?????文件???????4898??2019-11-27?15:46??OSHomework\.git\hooks\pre-reba
?????文件????????544??2019-11-27?15:46??OSHomework\.git\hooks\pre-receive.sample
?????文件???????1492??2019-11-27?15:46??OSHomework\.git\hooks\prepare-commit-msg.sample
?????文件???????3610??2019-11-27?15:46??OSHomework\.git\hooks\update.sample
?????文件???????1634??2019-11-27?15:46??OSHomework\.git\index
?????文件????????240??2019-11-27?15:46??OSHomework\.git\info\exclude
?????文件????????182??2019-11-27?15:46??OSHomework\.git\logs\HEAD
?????文件????????182??2019-11-27?15:46??OSHomework\.git\logs\refs\heads\master
?????文件????????182??2019-11-27?15:46??OSHomework\.git\logs\refs\remotes\origin\HEAD
?????文件???????2445??2019-11-27?15:46??OSHomework\.git\ob
?????文件???????1676??2019-11-27?15:46??OSHomework\.git\ob
?????文件????????146??2019-11-27?15:46??OSHomework\.git\ob
?????文件???????2297??2019-11-27?15:46??OSHomework\.git\ob
?????文件??????48376??2019-11-27?15:46??OSHomework\.git\ob
?????文件??????48371??2019-11-27?15:46??OSHomework\.git\ob
?????文件???????1523??2019-11-27?15:46??OSHomework\.git\ob
?????文件???????1271??2019-11-27?15:46??OSHomework\.git\ob
?????文件??????47719??2019-11-27?15:46??OSHomework\.git\ob
?????文件??????21442??2019-11-27?15:46??OSHomework\.git\ob
?????文件????????123??2019-11-27?15:46??OSHomework\.git\ob
............此處省略79個文件信息
- 上一篇:超市管理系統UML建模文檔
- 下一篇:cervus群體遺傳學軟件
評論
共有 條評論