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

正文內(nèi)容

最新基于c語言的小型模擬操作系統(tǒng)設(shè)計(jì)(留存版)

2025-08-06 07:39上一頁面

下一頁面
  

【正文】 prt1(run)。 int time。 a[j]=na。 process[na][i] = k。 } processCount++。R39。W39。 i++) if (process[i][0] 0) printf(%2d , i)。 } else if(p1=finish) { while(ID!=p1pidamp。 } process[ID][0] = 0。 case 4: if (endProcess()) // printf(進(jìn)程已結(jié)束!\n\n)。最后要感謝計(jì)算機(jī)系的全體老師,感謝他們的指導(dǎo)和幫助,希望他們身體健康、工作順利。 case 2: output()。 }*/ for (int j=1。 } if(ID==p1pid) { if(p1==ready) ready=p1next。 return false。F39。 run=ready。 if(ready!=NULL) insert(p)。 i=pages。 scanf(%d%d%d, amp。 tail=tailnext。 ready=readynext。 /*if (count == 15) { putchar(39。 scanf(%d,amp。}輸出模塊代碼:void output(){ printf(\n內(nèi)存總量:%d 塊, 已用空間:%d 塊, 剩余空間:%d 塊, 進(jìn)程總數(shù):%d 個(gè)\n, N, NblockCount, blockCount, processCount)。 i80。 int needtime。比如,在輸出每個(gè)進(jìn)程的內(nèi)存使用情況時(shí),首先輸出該進(jìn)程占用的總內(nèi)存,然后以統(tǒng)一的對齊方式依次輸出各個(gè)內(nèi)存塊編號(hào)。 } else printf(對不起!您所要結(jié)束的進(jìn)程%d不存在,請重新輸入\n\n,ID)。 if(p1=ready) { while(ID!=p1pidamp。finish=p1next。如果刪除的不是第一個(gè)結(jié)點(diǎn),則使p1后移指向下一個(gè)結(jié)點(diǎn)(p1next賦給p1),在此之前應(yīng)將p1的值賦給p2,使p2指向剛才檢查過的那個(gè)結(jié)點(diǎn),見圖 361 (b)。F39。 run=ready。runnext = finish。F39。(3) 執(zhí)行處理機(jī)調(diào)度時(shí),開始選擇隊(duì)首的第一個(gè)進(jìn)程運(yùn)行。 j=process[id][0]。)。在配置了頁表后,進(jìn)程執(zhí)行時(shí)通過查找頁表,即可找到每頁在內(nèi)存中的物理塊號(hào)。 pcputime=0。 goto loop。 scanf(%d,amp。blockCount = pages。圖332把具有統(tǒng)一狀態(tài)的PCB用鏈接字鏈接成一個(gè)隊(duì)列。 j++) process[i][j] = 1。012N10 1 2 N1 N...進(jìn)程號(hào)進(jìn)程塊數(shù)塊占用標(biāo)志圖 321 內(nèi)存二維數(shù)組示意圖 主要代碼void init(){ int i, j。 // 記錄當(dāng)前內(nèi)存剩余空間int processCount。(2) 初始化代碼塊。(3) 假如進(jìn)程運(yùn)行完便插入到完成隊(duì)列,從就緒隊(duì)列取下一進(jìn)程到運(yùn)行隊(duì)列。介紹各個(gè)代碼塊的詳細(xì)設(shè)計(jì)流程。(3) 熟悉了軟件工程開發(fā)的基本方法、模型、步驟等,確定了系統(tǒng)的框架。 本科生畢業(yè)設(shè)計(jì)(創(chuàng)作) 題  目 基于C語言的小型模擬操作系統(tǒng)設(shè)計(jì) (只包含進(jìn)程管理和存儲(chǔ)管理)  姓  名   王在平        學(xué)  號(hào)   200910624231      院  系   計(jì)算機(jī)系        ?! I(yè)   計(jì)算機(jī)科學(xué)與技術(shù)     指導(dǎo)教師  楊 瑞        2013 年 6 月 教務(wù)處制本科生畢業(yè)設(shè)計(jì)(論文、創(chuàng)作)聲明本人鄭重聲明:所呈交的畢業(yè)設(shè)計(jì),是本人在指導(dǎo)教師指導(dǎo)下,進(jìn)行研究工作所取得的成果。(4) 使用C語言編寫了模擬操作系統(tǒng)。第四章 問題與總結(jié)。(4) 否則將這一進(jìn)程插入到就緒隊(duì)列隊(duì)尾,等待下一次調(diào)度。初始化內(nèi)存數(shù)組。 // 記錄當(dāng)前進(jìn)程數(shù)bool flag = true。 for (i=0。 } processCount = 0?,F(xiàn)做如下定義。process[na][0] = pages。M)。 } if (pages blockCount) { printf(錯(cuò)誤!內(nèi)存分配失敗,沒有你要求的進(jìn)程塊數(shù)!\n)。 pneedtime=time。內(nèi)存輸出函數(shù)output()主要功能是輸出內(nèi)存初始化下的內(nèi)存占用信息以及在系統(tǒng)執(zhí)行撤銷進(jìn)程函數(shù)endProcess()后輸出內(nèi)存占用情況。 count = 0。 j++) { printf(| %2d | %2d |\n,count,process[id][j],count++)。另外,再設(shè)一個(gè)當(dāng)前運(yùn)行進(jìn)程的指針,指向當(dāng)前正在運(yùn)行的進(jìn)程。 run = NULL。 finish = run。 ready=readynext。 run = NULL。如此一次一次地使p1后移,直到找到所要?jiǎng)h除的結(jié)點(diǎn)或檢查完全部鏈表都找不到要?jiǎng)h除的結(jié)點(diǎn)為止。p2next=p1next。amp。 pages = process[ID][0]。當(dāng)然,對于不同的模塊輸出的信息也應(yīng)該不一樣,比如,內(nèi)存初始化結(jié)束后應(yīng)該輸出哪個(gè)內(nèi)存塊被占用了,否則無法判斷后續(xù)的內(nèi)存分配是否正確,但在以后查看內(nèi)存使用情況時(shí)則不必把所有已占用的內(nèi)存塊輸出,因?yàn)槊總€(gè)進(jìn)程都會(huì)單獨(dú)把自己占用的內(nèi)存塊顯示出來。 int cputime。 i++) block[rand()%(N1)] = 1。 if (flag amp。id)。\n39。}void prt1(PCB *q){ printf(* %10d %10d %10d %10d %10d %10c*\n, qpid,qcputime,qneedtime,qcount,qround,qstate)。}創(chuàng)建進(jìn)程模塊代碼:bool createProcess(){ int na。na, amp。 i++) { while (block[k]==1 amp。 else { pnext=ready。 ready=readynext。 run = NULL。 } printf(當(dāng)前內(nèi)存中的進(jìn)程有 %d 個(gè), 進(jìn)程號(hào)為:, processCount)。 else p2next=p1next。 jpages。 break。 38 。 break。 process[ID][j] =1。 } else printf(對不起!您所要結(jié)束的進(jìn)程%d不存在,請重新輸入\n\n,ID)。 iN。 } } else { if(ready != NULL) { runstate = 39。 runstate=39。 tail=ready。 k100) k++。pages)。 PCB *p。 printf(* 進(jìn)程號(hào) cpu時(shí)間 所需時(shí)間 記數(shù) 時(shí)間片 狀態(tài) *\n)。 printf( )。 printf(內(nèi)存詳細(xì)使用情況如下:\n)。 blockCount N) { printf(已使用的內(nèi)存塊(%d):\n, NblockCount)。 for (i=0。 int state。(2)程序的容錯(cuò)性。 jpages。 p1=p1next。 if (processCount 1) { printf(當(dāng)前內(nèi)存沒有進(jìn)程!\n\n)。這時(shí)ready指向原來的第二個(gè)結(jié)點(diǎn)。 } } else { if(ready != NULL) { runstate = 39。 runstate=39。q!=NULLamp。ready!= NULLrun=ready。 流程圖ready!= NULL開始run=ready。 } printf(***輸出結(jié)束***\n)。\n39。輸出 頁號(hào):count 塊號(hào):process[id][j]count++;printf(||\n)。W39。 } blockCount = pages。 for(int j=0。block[k] = 1。 PCB1PCB2PCB3PCB6PCB7PCB9PCB8PCB5PCB4...43087901運(yùn)行指針就緒隊(duì)列指針完成隊(duì)列指針圖 332 PCB鏈接隊(duì)列示意圖輸入進(jìn)程數(shù):Mj=0JM輸入進(jìn)程號(hào):na運(yùn)行時(shí)間:time 頁面數(shù):pagesp=(PCB *)malloc(sizeof(PCB))。 output()。 i++) block[i] = 0。typedef struct node{ int pid。調(diào)用創(chuàng)建進(jìn)程、查看內(nèi)存、運(yùn)行進(jìn)程、撤銷進(jìn)程代碼塊。(2) 釋放進(jìn)程所占內(nèi)存。 2 系統(tǒng)分析與設(shè)計(jì) 進(jìn)程管理要求 進(jìn)程狀態(tài)由于本系統(tǒng)采用的是基于時(shí)間片調(diào)度算法模擬進(jìn)程的運(yùn)行過程,所以設(shè)定的進(jìn)程基本狀態(tài)為就緒運(yùn)行、運(yùn)行狀態(tài)和完成狀態(tài)。關(guān)鍵詞:操作系統(tǒng),進(jìn)程管理,存儲(chǔ)管理,分頁,時(shí)間片 Small simulation operating system design based on C language (only includes process management and storage management)AbstractThis design uses the Visual C++ development tools in Windows environment design a simulation
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1