




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上學號E 專業計算機科學與技術 姓名施飛宇實驗日期2018/10/25 教師簽字 成績實驗報告【實驗名稱】 進程調度【實驗目的】鞏固和加深處理機調度的概念。設計調度算法,模擬實現處理機的調度【實驗原理】先來先服務(FCFS)調度算法FCFS是最簡單的調度算法,該算法既可用于作業調度,也可用于進程調度。 當在作業調度中采用該算法時,系統將按照作業到達的先后次序來進行調度,或者說它是優先考慮在系統中等待時間最長的作業,而不管該作業所需執行時間的長短,從后備作業隊列中選擇幾個最先進入該隊列的作業,將它們調入內存,為它們分配資源和創建進程,然后把它放入就緒隊列?!緦嶒瀮热荨勘敬?/p>
2、實驗進程的數據結構如下:typedef struct pcbchar pnameN;/進程名int runtime;/運行時間int arrivetime;/到達時間int starttime;/開始運行時間 float avgtime;/帶權周轉時間char state;/進程狀態 struct pcb *next;/鏈表指針PCB;1. 設計先來先服務調度算法FCFS測試數據:算法流程圖(圖1):圖1源代碼:/*2018/10/26 施飛宇 篤行南樓a202*/#define N 20#include <iostream>#include <stdlib.h>usi
3、ng namespace std;typedef struct pcbchar pnameN;/進程名int runtime;/運行時間int arrivetime;/到達時間int starttime;/開始運行時間 float avgtime;/帶權周轉時間char state;/進程狀態 struct pcb *next;/鏈表指針PCB;PCB headinput;PCB headrun;PCB * pcbinput;void inputprocess();/建立進程函數int readydata()return 1;/判斷進程是否進入就緒函數void runprocess();/運行
4、進程函數void inputprocess()PCB *p1,*p2;cout<<"輸入進程數目"<<endl;int num;cin>>num;int i=0;p1=&headinput;p2=p1;for(i=0;i<num;i+)cout<<"輸入第"<<i+1<<"進程名,運行時間,到達時間"<<endl; scanf("%s",p1->pname);cin>>p1->runtime;c
5、in>>p1->arrivetime;p1->next=new PCB;p2=p1;p1=p1->next;delete p1;p1=NULL;p2->next=NULL;void runprocess()PCB *p1;int time=0;/時間p1=&headinput;printf("進程名到達時間服務時間開始執行時間完成時間周轉時間帶權周轉時間n");while(p1!=NULL)if(time<p1->starttime)time=p1->starttime;p1->starttime=time
6、; p1->avgtime=(p1->starttime+p1->runtime-p1->arrivetime)*1.0/p1->runtime;time=p1->starttime+p1->runtime; printf("%s %10d %10d %10d %10d %10d %5fn",p1->pname,p1->arrivetime,p1->runtime,p1->starttime,p1->starttime+p1->runtime,p1->starttime+p1->run
7、time-p1->arrivetime,p1->avgtime); p1=p1->next;int main()inputprocess(); runprocess();return 0;運行截圖:2. 設計按短進程優先調度算法SJF測試數據:算法流程圖(圖2):是否圖2源代碼:/*2018/10/26 施飛宇 篤行南樓a202*/#define N 20#include <iostream>#include <stdlib.h>#include <stdio.h>using namespace std;typedef struct pcb
8、char pnameN;/進程名int runtime;/運行時間int arrivetime;/到達時間int starttime;/開始運行時間 float avgtime;/帶權周轉時間char state;/進程狀態 struct pcb *next;/鏈表指針PCB;PCB headinput;PCB headrun;PCB * pcbinput;void inputprocess();/建立進程函數int readydata()return 1;/判斷進程是否進入就緒函數void runprocess();/運行進程函數void inputprocess()PCB *p1,*p2;
9、cout<<"輸入進程數目"<<endl;int num;cin>>num;int i=0;p1=&headinput;p2=p1;for(i=0;i<num;i+)cout<<"輸入第"<<i+1<<"進程名,到達時間,運行時間"<<endl; scanf("%s",p1->pname); cin>>p1->arrivetime;cin>>p1->runtime; p1-&g
10、t;state='a'p1->next=new PCB;p2=p1;p1=p1->next;delete p1;p1=NULL;p2->next=NULL;void runprocess() int b;PCB *p1,*p2;int time=0;/時間int runtime=0;/存儲運行最短時間int label;printf("進程名到達時間服務時間開始執行時間完成時間周轉時間帶權周轉時間n");while(1) runtime=100; p1=&headinput; label=1; while(p1!=NULL) if(
11、p1->state!='a') p1=p1->next; continue; else / cin>>b; if(runtime>p1->runtime)&&(time>=p1->arrivetime) p2=p1; runtime=p1->runtime;/ printf("%s %dn",p1->pname,runtime); label=0; p1=p1->next; if(label) break; p2->state='b'p2->star
12、ttime=time; p2->avgtime=(p2->starttime+p2->runtime-p2->arrivetime)*1.0/p2->runtime;time=p2->starttime+p2->runtime; printf("%s %10d %10d %10d %10d %10d %15.5fn",p2->pname,p2->arrivetime,p2->runtime,p2->starttime,p2->starttime+p2->runtime,p2->starttime+p2->runtime-p2->arrivetime,p2->avgtime);int main()inputprocess();PCB *p2=&headinput;/while(p2)/ printf("%s %10d %10d %10d %10d %10d %5fn",p2->pname,p2->arrivetime,p2->runtime,p2->starttime,p2->startt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PLC控制系統的自動化送料裝車系統設計
- 公共教育餐廳管理辦法
- 高速公路行業的經濟價值分析
- 團隊合作薪酬管理辦法
- 數字時代青少年網絡素養教育:文明上網提升機制的探索
- 粳稻花期性狀的遺傳量化與聚合效應分析
- 基于《旅游景區質量等級的劃分》的4A景區評審體系優化研究
- 拜占庭藝術的魅力與傳承
- 民族成人登記管理辦法
- 江蘇牛羊屠宰管理辦法
- 餐飲約束員工管理制度
- PLC基礎知識課件下載
- 2025年中級消防設施操作員(監控類)資格理論必背考試題庫(附答案)
- 2023秸稈類生物質能源原料儲存規范第1部分:存放
- DB11 T 212-2009 園林綠化工程施工及驗收規范
- 感染性腹瀉患者護理常規
- 2023年1月國家開放大學漢語言文學本科《古代詩歌散文專題》期末紙質考試試題及答案
- 2025年房東租房合同模板電子版
- 2025年中國智能城市軌道交通行業市場發展監測及投資戰略咨詢報告
- 車輛檢測機構整改報告模板
- DB37-T 2040-2023 金屬礦山尾礦干排安全技術規范
評論
0/150
提交評論