c语言实现页面调度算法实验报告,c语言实现调度算法程序设计实验报告-先来先服务fcfs.docx...
c語言實現調度算法程序設計實驗報告-先來先服務fcfs
實驗報告 《操作系統》課程綜合性實驗報告 課程設計報告 課程設計題目:先來先服務(FCFS)調度算法模擬 專業:計算機科學與技術班級姓名:學號:指導教師:輝 XX年1月10日 一、實驗目的 通過對先來先服務進程調度算法的模擬,進一步理解進程的基本概念,加深對進 程運行狀態和進程調度過程、調度算法的理解。 二、設備與環境 1.硬件設備:PC機一臺 2.軟件環境:安裝Windows操作系統,并安裝相關的程序開發環境,如C\C++\Java等編程語言環境。 三、實驗內容 用C語言實現對N個進程采用某種進程調度算法的調度。 每個用來標識進程的進程控制塊PCB可用結構來描述,包括以下字段:1)進程標識數ID。 2)進程優先數PRIORITY,并規定優先數越大的進程,其優先權越高。3)進程已占用CPU時間CPUTIME。 4)進程還需占用的CPU時間ALLTIME。當進程運行完畢時,ALLTIME變為0。5)進程的阻塞時間STARTBLOCK,表示當進程再運行STARTBLOCK個時間片后,進程將進入阻塞狀態. 6)進程被阻塞的時間BLOCKTIME,表示已阻塞的進程再等待BLOCKTIME個后,將轉換成就緒狀態。7)進程狀態STATE。 8)隊列指針NEXT,用來將PCB排成隊列。優先數改變的原則: 進程在就緒隊列中呆一個時間片,優先數增加1。進程每運行一個時間片,優先數減3。 為了清楚地觀察每個進程的調度過程,程序應將每個時間片內的進程的情況顯示出來,包括正在運行的進程,處于就緒隊列中的進程和處于阻塞隊列中的進程。分析程序運行的結果,談一下自己的認識。 四、實驗結果及分析 1.實驗設計說明 本次實驗采用C語言模擬對N個進程采用先來先服務進程調度算法調度。每個用來標識進程的進程控制塊PCB用結構來描述,包括以下字段: 進程標識數ID[3]、進程名name[10]、進程狀態state、進程到達時間arrivetime、進程開始執行時間starttime、進程執行結束時間finishtime、服務時間servicetime、周轉時間turnaroundtime、帶權周轉時間weightedturnaroundtime、隊列指針next用來將PCB排成隊列。 主要程序流程圖(進程的執行過程): 2.實驗代碼#include""#include"" typedefstructPCB//定義進程控制塊{ charID[3];//進程號charname[10];//進程名charstate;//運行狀態intarrivetime;//到達時間intstarttime;//進程開始時間intfinishtime;//進程結束時間intservicetime;//服務時間floatturnaroundtime;//周轉時間 floatweightedturnaroundtime;//帶權周轉時間structPCB*next;//指向下個進程}pcb; inttime;//計時器intn;//進程個數 pcb*head=NULL,*p,*q;//進程鏈表指針 voidrun_fcfs(pcb*p1)//運行未完成的進程{ time=p1->arrivetime>time?p1->arrivetime:time; p1->starttime=time; printf("\n現在時間是%d,開始運行作業%s\n",time,p1->name);time+=p1->servicetime;p1->state='T'; p1->finishtime=time; p1->turnaroundtime=p1->finishtime-(轉載于:寫論文網:c語言實現調度算法程序設計實驗報告-先來先服務fcfs)p1->arrivetime; p1->weightedturnaroundtime=p1->turnaroundtime/p1->servicetime; printf("ID到達時間開始時間服務時間完成時間周轉時間帶權周轉時間\n"); printf("%s%6d%10d%10d%8d%%\n",p1->ID,p1->arrivetime,p1->starttime,p1->servicetime,p1->finishtime,p1->turnaroundtime,p1->weightedturnaroundtime);} voidfcfs()//找到當前未完成的進程{ inti,j; p=head; for(i=0;ist
總結
以上是生活随笔為你收集整理的c语言实现页面调度算法实验报告,c语言实现调度算法程序设计实验报告-先来先服务fcfs.docx...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原创:姜子牙力挺周文王伐纣,为何死后遭到
- 下一篇: vue脚手架的使用,下载依赖方法