freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)課程設計報告(已修改)

2025-04-04 08:34 本頁面
 

【正文】 操作系統(tǒng)課程設計報告班級:計算機四班學號:08031422姓名:王 朋 飛實驗一 進程調(diào)度一、實驗目的通過一個簡單的進程調(diào)度模擬程序的實現(xiàn),加深對進程調(diào)度算法,進程切換的理解。二、需求分析采用動態(tài)優(yōu)先數(shù)的方法,編寫一進程調(diào)度程序模擬程序。模擬程序只進行相應的調(diào)度模擬操作,不需要實際程序。 (1) 假定系統(tǒng)有五個進程,每一個進程用一個進程控制塊PCB來代表,進程控制塊的格式為:進程名指針要求運行時間優(yōu)先數(shù)狀態(tài)其中,進程名——作為進程的標識,假設五個進程的進程名分別為P1,P2,P3,P4,P5。指針——按優(yōu)先數(shù)的大小把五個進程連成隊列,用指針指出下一個進程的進程控制塊的首地址,最后一個進程中的指針為“0”。要求運行時間——假設進程需要運行的單位時間數(shù)。優(yōu)先數(shù)——賦予進程的優(yōu)先數(shù),調(diào)度時總是選取優(yōu)先數(shù)大的進程先執(zhí)行。狀態(tài)——可假設有兩種狀態(tài),“就緒”狀態(tài)和“結束”狀態(tài)。五個進程的初始狀態(tài)都為“就緒”,用“R”表示,當一個進程運行結束后,它的狀態(tài)為“結束”,用“E”表示。(2) 在每次運行你所設計的處理器調(diào)度程序之前,為每個進程任意確定它的“優(yōu)先數(shù)”和“要求運行時間”。(3) 為了調(diào)度方便,把五個進程按給定的優(yōu)先數(shù)從大到小連成隊列。用一單元指出隊首進程,用指針指出隊列的連接情況。(4) 處理器調(diào)度總是選隊首進程運行。采用動態(tài)改變優(yōu)先數(shù)的辦法,進程每運行一次優(yōu)先數(shù)就減“1”。由于本實習是模擬處理器調(diào)度,所以,對被選中的進程并不實際的啟動運行,而是執(zhí)行:優(yōu)先數(shù)1要求運行時間1來模擬進程的一次運行。提醒注意的是:在實際的系統(tǒng)中,當一個進程被選中運行時,必須恢復進程的現(xiàn)場,讓它占有處理器運行,直到出現(xiàn)等待事件或運行結束。在這里省去了這些工作。(5) 進程運行一次后,若要求運行時間?0,則再將它加入隊列(按優(yōu)先數(shù)大小插入,且置隊首標志);若要求運行時間=0,則把它的狀態(tài)修改成“結束”(E),且退出隊列。(6) 若“就緒”狀態(tài)的進程隊列不為空,則重復上面(4)和(5)的步驟,直到所有進程都成為“結束”狀態(tài)。(7) 在所設計的程序中應有顯示或打印語句,能顯示或打印每次被選中進程的進程名以及運行一次后進程隊列的變化。(8) 為五個進程任意確定一組“優(yōu)先數(shù)”和“要求運行時間”,啟動所設計的處理器調(diào)度程序,顯示或打印逐次被選中進程的進程名以及進程控制塊的動態(tài)變化過程。三、概要設計1.程序概要設計圖2.程序源代碼 include include include define getpch(type) (type*)malloc(sizeof(type)) define NULL 0 struct pcb { /* 定義進程控制塊PCB */ char name[10]。 char state。 int super。 int ntime。 int rtime。 struct pcb* link。 }*ready=NULL,*p。 typedef struct pcb PCB。 sort() /* 建立對進程進行優(yōu)先級排列函數(shù)*/ { PCB *first, *second。 int insert=0。 if((ready==NULL)||((psuper)(readysuper))) /*優(yōu)先級最大者,插入隊首*/ { plink=ready。 ready=p。 } else /* 進程比較優(yōu)先級,插入適當?shù)奈恢弥?/ { first=ready。 second=firstlink。 while(second!=NULL) { if((psuper)(secondsuper)) /*若插入進程比當前進程優(yōu)先數(shù)大,*/ { /*插入到當前進程前面*/ plink=second。 firstlink=p。 second=NULL。 insert=1。 } else /* 插入進程優(yōu)先數(shù)最低,則插入到隊尾*/ { first=firstlink。 second=secondlink。 } } if(insert==0) firstlink=p。 } } input() /* 建立進程控制塊函數(shù)*/ { int i,num。 clrscr()。 /*清屏*/ printf(\n 請輸入進程號?)。 scanf(%d,amp。num)。 for(i=0。inum。i++) { printf(\n 進程號No.%d:\n,i)。 p=getpch(PCB)。 printf(\n 輸入進程名:)。 scanf(%s,pname)。 printf(\n 輸入進程優(yōu)先數(shù):)。 scanf(%d,amp。psuper)。 printf(\n 輸入進程運行時間:)。 scanf(%d,amp。pntime)。 printf(\n)。 prtime=0。pstate=39。w39。 plink=NULL。 sort()。 /* 調(diào)用sort函數(shù)*/ } } int space() { int l=0。 PCB* pr=ready。 while(pr!=NULL) {
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1