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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-可變分區(qū)存儲(chǔ)管理和多級(jí)隊(duì)列調(diào)度算法模擬實(shí)現(xiàn)-免費(fèi)閱讀

  

【正文】 算法的實(shí)現(xiàn)都只考慮到效果的實(shí)現(xiàn),而算法的效率則次之。 } } 操作系統(tǒng) 課程設(shè)計(jì)報(bào)告 2 : 多級(jí)反饋隊(duì)列調(diào)度算法又稱(chēng)反饋循環(huán)隊(duì)列或多隊(duì)列策略,主要思想是將就緒進(jìn)程分為兩級(jí)或多級(jí),系統(tǒng)相應(yīng)建立兩個(gè)或多個(gè)就緒進(jìn)程隊(duì)列,較高優(yōu)先級(jí)的隊(duì)列一般分配給較短的時(shí)間片。 break。 flag = 0。 while(run != NULL) { Output()。 flag = 0。 if(runneedtime == 0) 操作系統(tǒng) 課程設(shè)計(jì)報(bào)告 10 { run state = 39。 tmp round = Head round。 } scanf(%s,tmpname)。 printf(輸入進(jìn)程的個(gè)數(shù): \n)。 fst = queueLinkPCB。 tmp next = NULL。 for(i = 0。 } else { nxt = in。 if(Head == NULL) { innext = Head。 fst = finish。 } } print = printnext。 Output()。 ? 最核心的數(shù)據(jù)結(jié)構(gòu)就是進(jìn)程的邏輯結(jié)構(gòu)。又因?yàn)檫M(jìn)程的組成只有 PCB,沒(méi)有程序和數(shù)據(jù),因而進(jìn)程只有運(yùn)行和就緒兩種狀態(tài),沒(méi)有等待狀態(tài)。通過(guò)試驗(yàn) ,對(duì)于 C 的語(yǔ)句有了比較多的了解,我們?cè)瓉?lái)學(xué)的是 C++,但是發(fā)現(xiàn) C 的 I/O 比于 C++的似乎更為簡(jiǎn)便一些。 int main(void) { mainpage()。 printf( 5顯示當(dāng)前已分配分區(qū)鏈的信息 \n)。 printf(\n)。 printf(|%10d, inum)。 printf(\n)。 i != NULL。 printf(|%10d, isize)。 printf(\n %d 號(hào)作業(yè)成功得到內(nèi)存分配?。?! \n, iid)。 //將剩余的空閑分區(qū)合并 為一個(gè)分區(qū) flstartAddress = sum。 } lssize = lssize + tsize + nssize。 (ns != NULL)) { //有后一個(gè)分區(qū)可以與之合并 nsstartAddress = tstartAddress。 } else { tnext = fl。 tnext = NULL。 } delete a。 i = inext) //找到該作業(yè)所占的已分配分區(qū) { if (ijid == jid) { a = i。 } delete job。 i = inext) //找出 該 ID 的作業(yè) { if (iid == id) { job = i。 } } return flag。 isize = isize tmpsize。 tstartAddress = istartAddress。 } else { printf(\n 該作業(yè) 成功得到內(nèi)存分配?。?! \n)。 joblast = NULL。 printf(請(qǐng)輸入要 加入的作業(yè)的大小(整型): )。 isize = tsize。 } break。 for (fNode * i = fl。 printf( 4最后適應(yīng)算法 \n)。 //初始化時(shí),將整個(gè)用戶(hù)內(nèi)存劃分到一個(gè)分區(qū)里 tmplast = NULL。 fitAlgorithm = 0。 3 為程序分配存儲(chǔ)空間: 可以采用首次適應(yīng)、最佳適應(yīng)、最后適應(yīng)算法來(lái)實(shí)現(xiàn)。 ? 當(dāng)碎片產(chǎn)生時(shí),能夠進(jìn)行碎片的拼接。 二、設(shè)計(jì)目的 在掌握了計(jì)算機(jī)可變分區(qū)存儲(chǔ)管理方式的原理的基礎(chǔ)上,利用 C 語(yǔ)言在windows 操作系統(tǒng)下 模擬實(shí)現(xiàn)操作系統(tǒng)的可變分區(qū)存儲(chǔ)管理的功能,以便加深對(duì)可變分區(qū)存儲(chǔ)管理原理的理解,提高根據(jù)已有原理通過(guò)編程解決操作系統(tǒng)實(shí)際問(wèn)題的能力 ,另一方面提高根據(jù)已有原理通過(guò)編程解決實(shí)際問(wèn)題的能力,為進(jìn)行系統(tǒng)軟件開(kāi)發(fā)和針對(duì)實(shí)際問(wèn)題提出高效的軟件解決方案打下基礎(chǔ)。主要是按照這三種算法的思想對(duì)空閑塊進(jìn)行排序,以便找出符合要求的那個(gè)空閑塊。 count = 0。 tmpnext = NULL。 printf(\n)。 i != NULL。 } case 3: { if (jstartAddress tstartAddress) //首次適應(yīng)算法,找到鏈表中分區(qū)起始地址最小的分區(qū) { t = j。 tstartAddress = tmpStartAddress。 cin size。 jobnext = NULL。 } } int allocateMemory(jNode * tmp) //內(nèi)存分配 { int flag = 0。 tlast = NULL。 } else { //若該分區(qū)大小恰 好等于作業(yè)大小,則從空閑分區(qū)鏈表中刪除該分區(qū) if (ilast == NULL) { fl = inext。 } void finishJob() //完成作業(yè) { jNode * job = (jNode *)malloc(sizeof(jNode))。 flag = 1。 deallocateMemory(id)。 break。 mergeMemory(startAddress, endAddress)。 for (fNode * i = fl。 fllast = t。 nssize = nssize + tsize。 delete ns。 flsize = userMemory sum。 } } } } void showFList() //顯示當(dāng)前空閑分區(qū)鏈的信息 { printf(\n)。 printf(\n)。 i = inext) { printf( %10d, istartAddress)。 } void showJList() //顯示當(dāng)前作業(yè)鏈的信息 { printf(\n)。 printf( )。 } void mainpage() //主界面 { int i = 0。 printf( 6顯示當(dāng)前作業(yè)鏈的信息 \n)。 return system(pause)。任何輸入而正常結(jié)束。 ? 為避免顯 示結(jié)果超過(guò) 1 屏,調(diào)度結(jié)果要求寫(xiě)入文件中以方便檢驗(yàn)。 ? 進(jìn)程中必須包括的內(nèi)容很多(參見(jiàn)教材 PCB部分的定義),為了簡(jiǎn)化起見(jiàn),可以略去一些與本模擬調(diào)度算法關(guān)系不大的一些信息。 return 0。 } p = finish。 if(finish == NULL) { innext = finish。 Head = in。 in next = fst。i ReadyNum。 InsertPrio(tmp)。 if( queueLinkPCB == NULL) { innext = queueLinkPCB。 scanf(%d,amp。 getchar()。 tmp count = 0。F39。 } } flag = 1。 if(Head LinkPCB!=N
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1