日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言实现页面调度算法实验报告,c语言实现调度算法程序设计实验报告-先来先服务fcfs.docx...

發布時間:2024/5/8 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。