版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
鄭州xxx學(xué)院實驗報告課程名稱:先來先服務(wù)調(diào)度算法模擬姓名:xxx學(xué)號:xxx專業(yè)班級:xxx任課教師:xxx 2015年04月12日
實驗報告成績評定表評定項目內(nèi) 容滿分評分總分實驗態(tài)度態(tài)度端正、遵守紀(jì)律、出勤情況20實驗過程按要求完成算法設(shè)計、代碼書寫、注釋清晰、運行結(jié)果正確40報告撰寫報告書寫規(guī)范、內(nèi)容條理清楚、表達(dá)準(zhǔn)確規(guī)范、上交及時。40評語:指導(dǎo)老師簽字: 年月曰實驗一作業(yè)調(diào)度一、目的與任務(wù)目的:了解并掌握作業(yè)調(diào)度的功能,熟悉并掌握各種作業(yè)調(diào)度算法。任務(wù):模擬實現(xiàn)先來先服務(wù)或者短作業(yè)優(yōu)先調(diào)度算法。二、內(nèi)容、要求與安排1、實驗內(nèi)容模擬實現(xiàn)FCFS/SJF調(diào)度。設(shè)置作業(yè)體:作業(yè)名,作業(yè)的到達(dá)時間,服務(wù)時間,作業(yè)狀態(tài)(W——等待,R——運行,F——完成),作業(yè)間的鏈接指針;作業(yè)初始化:由用戶輸入作業(yè)名、服務(wù)時間、到達(dá)時間進(jìn)行初始化,同時,初始化作業(yè)的狀態(tài)為W。顯示函數(shù):在作業(yè)調(diào)度前、調(diào)度中和調(diào)度后進(jìn)行顯示。排序函數(shù):對等待狀態(tài)的作業(yè)按照調(diào)度算法排序(不同的調(diào)度算法排序方式不同),注意考慮到達(dá)時間。調(diào)度函數(shù):每次從等待隊列隊首調(diào)度已到達(dá)的適合的作業(yè)執(zhí)行,狀態(tài)變化。當(dāng)服務(wù)結(jié)束時,狀態(tài)變?yōu)镕。刪除函數(shù):撤銷狀態(tài)為F的作業(yè)。2、實驗要求(1)測試數(shù)據(jù)可以隨即輸入或從文件中讀入;(2)必須要考慮到作業(yè)的到達(dá)時間;(3)最終能夠計算每一個作業(yè)的周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)。
三、測試.實驗設(shè)計說明本次實驗采用C語言模擬對N個進(jìn)程采用先來先服務(wù)進(jìn)程調(diào)度算法調(diào)度。每個用來標(biāo)識進(jìn)程的進(jìn)程控制塊PCB用結(jié)構(gòu)來描述,包括以下字段:進(jìn)程標(biāo)識數(shù)ID[3]、進(jìn)程名name[10]、進(jìn)程狀態(tài)state、進(jìn)程到達(dá)時間arrivetime、進(jìn)程開始執(zhí)行時間starttime、進(jìn)程執(zhí)行結(jié)束時間finishtime、服務(wù)時間servicetime、周轉(zhuǎn)時間turnaroundtime、帶權(quán)周轉(zhuǎn)時間weightedturnaroundtime、隊列指針next用來將PCB排成隊列。主要程序流程圖(進(jìn)程的執(zhí)行過程):Q->ARRIVrEnXETIXE?P^Qi^=P->NEXT:P^=P->NEXT:i一:輸出執(zhí)行進(jìn)程信息主要程序流程圖(進(jìn)程的執(zhí)行過程):Q->ARRIVrEnXETIXE?P^Qi^=P->NEXT:P^=P->NEXT:i一:輸出執(zhí)行進(jìn)程信息*Q~>^TARTTIME=ARRI\rETIMEQ->STAIE=TQ~>STARTn\lE=IIX1EQ->STAIE=TXHEADi=0結(jié)束.實驗代碼#include"stdio.h"#include"stdlib.h"typedefstructPCB〃定義進(jìn)程控制塊{charID[3];//進(jìn)程號charname[10];//進(jìn)程名charstate;//運行狀態(tài)intarrivetime;//至U達(dá)時間intstarttime;〃進(jìn)程開始時間intfinishtime;〃進(jìn)程結(jié)束時間intservicetime//服務(wù)時間floatturnaroundtime;//周轉(zhuǎn)時間floatweightedturnaroundtime;//帶權(quán)周轉(zhuǎn)時間structPCB*next;//指向下個進(jìn)程}pcb;inttime;〃計時器intn;〃進(jìn)程個數(shù)pcb*head=NULL,*p,*q;〃進(jìn)程鏈表指針voidrun_fcfs(pcb*p1)〃運行未完成的進(jìn)程{time=p1->arrivetime>time?p1->arrivetime:time;p1->starttime=time;printf("\n現(xiàn)在時間是%d,開始運行作業(yè)%s\n”,time,p1->name);time+=p1->servicetime;p1->state='T';p1->finishtime=time;p1->turnaroundtime=p1->finishtime-p1->arrivetime;p1->weightedturnaroundtime=p1->turnaroundtime/p1->servicetime;printf("ID到達(dá)時間開始時間服務(wù)時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間\n〃);printf("%s%6d%10d%10d%8d%10.1f%10.2f\n”,p1->ID,p1->arrivetime,p1->starttime,p1->servicetime,p1->finishtime,p1->turnaroundtime,p1->weightedturnaroundtime);)voidfcfs()〃找到當(dāng)前未完成的進(jìn)程{inti,j;p=head;for(i=0;i<n;i++){if(p->state=='F'){q=p;〃標(biāo)記當(dāng)前未完成的進(jìn)程run_fcfs(q);}p=p->next;}}voidgetInfo()〃獲得進(jìn)程信息并創(chuàng)建進(jìn)程{intnum;printf("\n作業(yè)個數(shù):");scanf("%d",&n);for(num=0;num<n;num++){p=(pcb*)malloc(sizeof(pcb));printf(〃依次輸入:\nID進(jìn)程名到達(dá)時間服務(wù)時間\n〃);scanf("%s\t%s\t%d\t%d”,&p->ID,&p->name,&p->arrivetime,&p->servicetime);if(head==NULL){head=p;q=p;time=p->arrivetime;}if(p->arrivetime<time)time=p->arrivetime;q->next=p;p->starttime=0;p->finishtime=0;p->turnaroundtime=0;p->weightedturnaroundtime=0;p->next=NULL;p->state='F';q=p;}}voidmain(){printf("先來先服務(wù)算法模擬");getInfo();p=head;fcfs();).實驗結(jié)果
.實驗結(jié)果分析先來先服務(wù)算法顧名思義先到的先參與調(diào)度,本利中按照A、B、C的順序。因為只有非搶占方式,所以先到的進(jìn)程必須執(zhí)行完來才能執(zhí)行下一個進(jìn)程,下一個進(jìn)程的開始時間也就取決于到達(dá)時間和上一個進(jìn)程的結(jié)束時間中較晚的一個。5.實驗心得本次實驗設(shè)應(yīng)用鏈表結(jié)構(gòu)進(jìn)行存儲并排序,條理清晰,易于理解,程序編寫完成以后,實現(xiàn)類預(yù)期對結(jié)果。界面設(shè)計比較清晰明了,易于閱讀。本程序中靈活地設(shè)計調(diào)用函數(shù)和函數(shù)嵌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)批評標(biāo)準(zhǔn)與方法-第1篇-洞察分析
- 藥物過敏反應(yīng)生物標(biāo)志物-洞察分析
- 《腎積水的護(hù)理》課件
- 《證據(jù)法的基本原則》課件
- 2024年柳州鐵路局桂林醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年柳州市工人醫(yī)院分院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 農(nóng)村土葬土地協(xié)議書(2篇)
- 2024年杭州市拱墅中西醫(yī)結(jié)合醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年本溪市中心醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年朝陽區(qū)皮膚性病防治所高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 檔案借閱申請
- 高考語文備考之從小說考點解讀《哦香雪》(知識點解讀+精品課件+比較閱讀+模擬命題)
- DB33∕2169-2018 城鎮(zhèn)污水處理廠主要水污染物排放標(biāo)準(zhǔn)
- 墩柱施工操作平臺相關(guān)計算
- 高職院校油層物理說課
- 計算機(jī)課件:計算機(jī)安全
- SCH壁厚等級對照表
- 35kv及以下架空線路施工及驗收規(guī)范
- 山東昌樂二中“271高效課堂”解讀
- 配電工程竣工資料
- 花鍵強(qiáng)度校核程序
評論
0/150
提交評論