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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計-展示頁

2025-07-16 14:13本頁面
  

【正文】 on2.\n)。)) break。 if(timeint(39。)) break。 if(p(1,39。)) break。 if(v(0,39。 /*time silce interrupt*/b1: printf(s1=%d\n,++s1)。b39。 /*process 1 is blocked*/a1: printf(process1 is executing in the cretical section 1\n)。a39。i++)/*如果程序執(zhí)行超過5次,則*/{ printf(process1 calls P on the semaphore 1\n)。 for(i=0。f39。) goto e1。 if(addr==39。d39。) goto c1。 if(addr==39。b39。) goto a1。 } }process1(){ if(addr==39。r39。 if(w!=NIL) { sem[se].firstwr=pcb[w].nextwr。{ int w。 return(TRUE)。 savearea[exe][1]=ad。{if(++sem[se].value0) return(FALSE)。 } }v(se,ad)int se。 else { while(pcb[w].nextwr!=NIL) w=pcb[w].nextwr。 pcb[exe].nextwr=NIL。 pcb[exe].status=39。{ int w。 return(TRUE)。 savearea[exe][1]=ad。 block(se)。char ad。 } } return(pd)。) if(pcb[j].priorityw) { w=pcb[j].priority。j++) { if(pcb[j].status==39。 } } if (pd==NIL) for(j=0。) if(pcb[j].priorityw) { w=pcb[j].priority。j++) { if(pcb[j].status==39。 for(j=0。 return(exe)。 } } i=savearea[exe][0]。 exe=pd。 pcb[pd].status=39。r39。 printf(proccess%d is executing\n,exe+1)。e39。exe==NIL) return(NIL)。 if((pd=find())==NILamp。return(TRUE)。printf(This times slice interrupt process%d enter into ready\n,exe+1)。pcb[exe].status=39。savearea[exe][0]=i。amp。(exe==1))return(FALSE)。 if((x)amp。amp。 x=random()。}timeint(ad) /*time slice interupt*/char ad。 getchar()。 m=(1+rand()%3)%。}float random(){ float m。j++) savearea[i][j]=39。i++) for(j=0。 for(i=0。 sem[1].value=1。 } sem[0].value=1。i)。 printf(\nprocess%dpriority?,j+1)。r39。j++) { pcb[j].id=j。 for(j=0。int i,s1=0,s2=0,seed,exe=NIL。 /*等待鏈?zhǔn)字羔槪甘驹撔盘柫可系谝粋€等待進(jìn)程的標(biāo)識數(shù)*/ }sem[2]。struct{ int value。 //*等待鏈指針,指示在同一信號量上等待的下一個進(jìn)行進(jìn)程的標(biāo)識符* int priority。 char status。exe       執(zhí)行進(jìn)程指針,其值為進(jìn)程標(biāo)識數(shù)i        用來模擬一個通用寄存器。即每個進(jìn)程都有一個大小為4個單元的保留區(qū),用來保存被“中斷”時的現(xiàn)場信息,如通用寄存器的內(nèi)容和斷點地址等。③保留區(qū)。②信號量。當(dāng)3個進(jìn)程都處于完成狀態(tài)后,系統(tǒng)退出運行。系統(tǒng)啟動后,在完成必要的系統(tǒng)初始化后便執(zhí)行進(jìn)程調(diào)度程序。各進(jìn)程在使用臨界資源s1和s2時,通過調(diào)用信號量sem1和sem2上的P、V操作來實現(xiàn)同步。先從r狀態(tài)進(jìn)程中選擇,再從t狀態(tài)進(jìn)程中選擇。各進(jìn)程的優(yōu)先數(shù)通過鍵盤輸入予以靜態(tài)設(shè)置。當(dāng)進(jìn)程processl訪問隨機數(shù)x時,若x≥0.33;當(dāng)進(jìn)程proccss2訪問x時,若x≥;當(dāng)進(jìn)程process3訪問x時,若x,則分別認(rèn)為各進(jìn)程的執(zhí)行時間片到限,產(chǎn)生“時間片中斷”面轉(zhuǎn)入低就緒態(tài)t。系統(tǒng)分時執(zhí)行各進(jìn)程。(2)算法系統(tǒng)為進(jìn)程設(shè)置了5種運行狀態(tài):e——執(zhí)行態(tài);r——高就緒態(tài);t——低就緒態(tài)(執(zhí)行進(jìn)程因時間片到限而轉(zhuǎn)入):w——等待態(tài);c——完成態(tài)。系統(tǒng)中設(shè)計了3個并發(fā)進(jìn)程.它們之間有如下同步關(guān)系:3個進(jìn)程需要互斥使用臨界資源s2,進(jìn)程1和進(jìn)程2又需互斥使用臨界資源s1。例://下例只是參考(每組可自行設(shè)計數(shù)據(jù)結(jié)構(gòu)和程序功能,只需能演示進(jìn)程管理的功能,如用多線程)1.程管理模擬系統(tǒng)。②用戶創(chuàng)建的文件,可以編號存儲于磁盤上。要求模擬采用二級目錄結(jié)構(gòu)的磁盤文件系統(tǒng)的文件操作能實現(xiàn)以下幾條命令,用輸入命令來模擬用戶程序中調(diào)用的文件操作:Login 用戶登錄Dir 列文件目錄(列出文件名、物理地址、保護(hù)碼和文件長度)Create 創(chuàng)建文件Delete 刪除文件Open 打開文件Close 關(guān)閉文件Read 讀文件Write 寫文件源文件可以進(jìn)行讀寫保護(hù)2.實驗原理文件系統(tǒng)管理中用到的數(shù)據(jù)結(jié)構(gòu)有:①首先應(yīng)確定文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu):主目錄、子目錄及活動文件等。比如常用的先來先服務(wù)、短進(jìn)程優(yōu)和優(yōu)先級優(yōu)先等等,也可以選擇它們的結(jié)合調(diào)度算法。所有這些在操作系統(tǒng)中用數(shù)據(jù)結(jié)構(gòu)PCB來記錄,系統(tǒng)通過PCB控制進(jìn)程的運行。進(jìn)程在運行過程中狀態(tài)在不斷的變化。分析系統(tǒng)所需的數(shù)據(jù)結(jié)構(gòu)、算法的流程以及化分各個功能模塊。設(shè)計一個允許n個進(jìn)程并發(fā)運行的進(jìn)程管理的模擬系統(tǒng)。題目一:支持多個進(jìn)程(線程)并發(fā)運行的簡單進(jìn)程(線程)管理模擬系統(tǒng)1.實驗內(nèi)容學(xué)習(xí)進(jìn)程管理的設(shè)計與實現(xiàn),學(xué)習(xí)和運用操作系統(tǒng)原理,設(shè)計一個操作系統(tǒng)子系統(tǒng)的模擬系統(tǒng)。報告提交后,將系統(tǒng)代碼及說明壓縮成文件以所有組員學(xué)號組合命名發(fā)于指定郵箱(os240608)。要求:界面自行設(shè)計,語言自行選擇。分組:每組不可超過四人(包括四個),每組指定一個組長,每人設(shè)計系統(tǒng)中的一部分,集體協(xié)商整合。《操作系統(tǒng)》課程設(shè)計學(xué)習(xí)完《操作系統(tǒng)》課程,通過一個具體的課程設(shè)計實踐,可使學(xué)生對操作系統(tǒng)原理有更進(jìn)一步的理解與應(yīng)用,通過設(shè)計對操作系統(tǒng)有一個實現(xiàn)的嘗試和創(chuàng)新的思維,同時發(fā)揮團隊協(xié)作精神和個人創(chuàng)造能力。選題:以下二題可任選一個。組長能夠在設(shè)計過程中,能有效的組織和協(xié)調(diào)各個階段的任務(wù)及融合。每組需寫一份課程設(shè)計報告,內(nèi)容包括:小組成員及分工,系統(tǒng)采用的語言、支撐平臺、程序的模塊功能分析、程序的流程圖、程序功能段的說明及代碼解釋;實驗體會與軟件評價。(如:24060801+01020304(班號+四個組員學(xué)號)。通過該系統(tǒng)的設(shè)計調(diào)試可增加對操作系統(tǒng)實現(xiàn)的感知性。該系統(tǒng)包括簡單的進(jìn)程控制、同步及通信機構(gòu),其進(jìn)程調(diào)度算法可任意選擇。2.實驗原理進(jìn)程管理包括進(jìn)程的控制、阻塞、喚醒與撤消。進(jìn)程運行過程中,因為競爭資源而需對它們進(jìn)行同步控制。在單處理機系統(tǒng)中,多道程序的引入,需要進(jìn)程的調(diào)度程序來選擇一個進(jìn)程進(jìn)行運行。題目二:文件系統(tǒng)設(shè)計1. 實驗內(nèi)容通過一個簡單的二級文件系統(tǒng)設(shè)計,加深對文件系統(tǒng)的內(nèi)部功能以及內(nèi)部實現(xiàn)的理解。主目錄和子目錄都以文件的形式存放于磁盤,這樣便于查找和修改。如:file0,file1,file2…并以編號作為物理地址,在目錄中進(jìn)行登記。(1)問題描述本系統(tǒng)的同步機構(gòu)采用的信號量上的P、V操作的機制;控制機構(gòu)包括阻塞和喚醒操作;時間片中斷處理程序處理模擬的時間片中斷;進(jìn)程調(diào)度程序負(fù)責(zé)為各進(jìn)程分配處理機。本系統(tǒng)在運行過程中隨機打印出各進(jìn)程的狀態(tài)變換過程,系統(tǒng)的調(diào)度過程及公共交量的變化情況。各進(jìn)程的初始狀態(tài)均設(shè)置為r。通過產(chǎn)生隨機數(shù)x來模擬時間片(每一個時間片并不相同)。進(jìn)程調(diào)度算法采用剝奪式最高優(yōu)先數(shù)法。調(diào)度程序每次總是選擇優(yōu)先數(shù)最小(優(yōu)先權(quán)最高)的就緒進(jìn)程投入執(zhí)行。當(dāng)現(xiàn)行進(jìn)程喚醒某個等待進(jìn)程,且被喚醒進(jìn)程的比先數(shù)小于現(xiàn)行進(jìn)程時,則剝奪現(xiàn)行進(jìn)程的執(zhí)行權(quán)。阻塞和喚醒操作負(fù)責(zé)完成從進(jìn)程的執(zhí)行態(tài)到等待態(tài)以及從就緒態(tài)的轉(zhuǎn)變。當(dāng)執(zhí)行因“時間片中斷”,或者被排斥使用臨界資源,或喚醒某個等待進(jìn)程時,立即進(jìn)行進(jìn)程調(diào)度。(3)數(shù)據(jù)結(jié)構(gòu)①每個進(jìn)程一個PCB,內(nèi)容:id     進(jìn)程標(biāo)識status    進(jìn)程狀態(tài)priority   進(jìn)程優(yōu)先數(shù)nextwr   等待隊鏈指針,指示在同一信號量上等待的下一個進(jìn)程的標(biāo)識。對應(yīng)于臨界資源s1和s2分別有sem1和sem2,均為互斥號量,內(nèi)容包括:value    信號量值,初值為1firstwr   等待 鏈指針,指示在該信號量上第一個等待進(jìn)程的標(biāo)識數(shù)。用數(shù)組saveaera[3][4]表示。④全程變量。(4)用Turbo C編寫的程序代碼:include include include define TRUE 1define FALSE 0define MAXPRI 100define NIL 1struct{ int id。 int nextwr。 }pcb[3]。 int firstwr。char savearea[3][4],addr。init( ){ int j。j3。 pcb[j].status=39。 pcb[j].nextwr=NIL。 scanf(%d,amp。 pcb[j].priority=i。 sem[0].firstwr=NIL。 sem[1].firstwr=NIL。i3。j4。039。 srand(time(0))。 printf(random m=%f\n,m)。 return(m)。{ float x。 if((x)amp。(exe==0))return(FALSE)。amp。 if((x)amp。(exe==2))return(FALSE)。savearea[exe][1]=ad。t39。exe=NIL。}scheduler( ){ int pd。amp。 /*quit system*/ if(pd!=NIL) { if(exe==NIL) { pcb[pd].status=39。 exe=pd。 } else if(pcb[pd].prioritypcb[exe].priority) { pcb[exe].status=39。 printf(process%d enter into ready\n,exe+1)。e39。 printf(process%d is executing\n, exe+1)。 addr=savearea[exe][1]。 }find( ){ int j,pd=NIL,w=MAXPRI。j3。r39。 pd=j。j3。t39。 pd=j。 }p(se,ad)int se。{ if(sem[se].value=0) return(FALSE)。 savearea[exe][0]=i。 exe=NIL。 }block(se)int se。 printf(process%d is blocked\n,exe+1)。w39。 if((w=sem[se].firstwr)==NIL) sem[se].firstwr=exe。 pcb[w].nextwr=exe。char ad。 wakeup(se)。 savearea[exe][0]=i。 }wakeup(se)int se。 w=sem[se].firstwr。 pcb[w].status=39。 printf(process%d is waken up\n,w+1)。a39。 if(addr==39。) goto b1。c39。 if(addr==39。) goto d1。e39。 if(addr==39。) goto f1。 i3。 if(p(0,39。)) break。 if(timeint(39。)) break。 printf(process1 calls V on semaphorel and quit cretical section 1.\n)。c39。 /*wake up a blocked process*/c1: printf(process1 calls P on
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1