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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)報(bào)告(已修改)

2025-04-04 08:34 本頁面
 

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