資源簡介
本文件是對操作系統進程多級反饋隊列調度算法的設計與實現,算法以txt的形式輸入輸出,其中包含設計報告

代碼片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include“process.h“
int?main(){
???int?process_time[10];??????//進程到達第一級隊列的時間
???int?p_num=10;
???for(int?i=0;i ???????process_time[i]=i;??????//假定進程從前往后一次間隔一秒到達,第一個進程到達時間為0
???}
???int?queue_num=3;
???Proqueue?proqueue[queue_num];?????????????????????????????????????//運行進程的隊列總數為3
???for(int?i=0;i ????????proqueue[i].setQuePrior(i+1);
????????proqueue[i].setQueTime(pow(2i+1));
???}
???for(int?i=0;i ???????process[i].get_time=process[i].get_wait_time=process[i].end_time=0;
???????process[i].prior=1;??????????????????????????????????????????//進程首先應進入優先級為1的隊列中,故默認進程優先級為1
???????//cin>>process[i].id>>process[i].run_time_num;???????????????//輸入進程id號和進程的總運行時間
???}
???int?shuru;
???cout<<“please?input‘1‘the?program?will?read?the?data?from?the?file?‘input.txt‘or?input?other?number?to?terminate?it.“< ???cin>>shuru;
???if(shuru==1){
???string?line;
???ifstream?openfile(“input.txt“);
???int?head=0q=0;
???while(getline(openfileline))
???{
?????istringstream?is(line);
?????if(head==0){
????????head=1;
????????continue;
????????}
????????is>>process[q].id>>process[q].run_time_num;
????????//cout< ????????q++;
????}
????openfile.close();
???}
???else
????return?0;
???cout<<“read?data?from?the?file?successfully!“<
???for(int?i=0;i ??????struct?Pronode?*pronode=new?Pronode();
??????pronode->id=process[i].id;
??????proqueue[0].enqueue(pronode);
???}
??int?j=0record_time=0;??????????????????????????????????????//記錄各個進程在隊列中的總運行時間
??struct?Pronode?*p=new?Pronode();????????????????????????????//p_num為尚未結束運行進程總數
??ofstream?output(“output.txt“);
???while(1){
???????while(proqueue[j].getLength()>0){
????????????int?i;
????????????p=proqueue[j].dequeue();??????????????????????????//進程塊出隊
????????????for(i=0;i ????????????????if(p->id==process[i].id){
????????????????????if(process[i].run_time_num-process[i].get_time<=proqueue[j].getQueTime()){??//進程運行剩余運行總時間小于等于所在隊列時間片,則進程運行完畢
???????????????????????if(record_time ?????????????????????????process[i].end_time=process_time[i]+process[i].run_time_num-process[i].get_time;??//?????????????????????????????????????????????????????///////////////////////////////////////
?????????????????????????record_time=process_time[i];}//+process[i].run_time_num-process[i].get_time;}
???????????????????????else{
???????????????????????process[i].end_time=record_time+process[i].run_time_num-process[i].get_time;
???????????????????????record_time+=process[i].run_time_num-process[i].get_time;
???????????????????????}
???????????????????????cout< ???????????????????????output<
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????650592??2017-11-23?21:21??多級反饋隊列調度算法\c_project\bin\Debug\c_project.exe
?????文件????????200??2017-11-23?14:49??多級反饋隊列調度算法\c_project\bin\Debug\input.txt
?????文件?????????61??2017-11-23?21:17??多級反饋隊列調度算法\c_project\bin\Debug\output.txt
?????文件????????241??2017-11-23?21:12??多級反饋隊列調度算法\c_project\c_project.depend
?????文件????????362??2017-11-23?21:22??多級反饋隊列調度算法\c_project\c_project.layout
?????文件????????200??2017-11-23?14:49??多級反饋隊列調度算法\c_project\input.txt
?????文件???????3806??2017-11-24?08:28??多級反饋隊列調度算法\c_project\main.cpp
?????文件?????528700??2017-11-28?23:51??多級反饋隊列調度算法\c_project\main.exe
?????文件???????8332??2017-11-28?23:51??多級反饋隊列調度算法\c_project\main.o
?????文件?????130734??2017-11-23?21:21??多級反饋隊列調度算法\c_project\obj\Debug\main.o
?????文件?????????61??2017-11-28?23:52??多級反饋隊列調度算法\c_project\output.txt
?????文件???????2591??2017-11-23?20:55??多級反饋隊列調度算法\c_project\process.h
?????文件??????53542??2017-11-29?00:03??多級反饋隊列調度算法\實驗1?多級反饋隊列調度算法.docx
?????文件???????6272??2017-11-29?00:01??多級反饋隊列調度算法\源代碼.txt
?????目錄??????????0??2017-11-23?21:21??多級反饋隊列調度算法\c_project\bin\Debug
?????目錄??????????0??2017-11-23?21:21??多級反饋隊列調度算法\c_project\obj\Debug
?????目錄??????????0??2017-11-23?20:54??多級反饋隊列調度算法\c_project\bin
?????目錄??????????0??2017-11-23?20:54??多級反饋隊列調度算法\c_project\obj
?????目錄??????????0??2017-11-28?23:51??多級反饋隊列調度算法\c_project
?????目錄??????????0??2017-11-29?00:04??多級反饋隊列調度算法
-----------?---------??----------?-----??----
??????????????1385694????????????????????20
- 上一篇:銀行家算法的思想,編寫程序,解決并發進程的死鎖問題。
- 下一篇:最高響應比優先算法
評論
共有 條評論