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)-全文預(yù)覽

2024-12-10 16:43 上一頁面

下一頁面
  

【正文】 入內(nèi)存 )。 printf( )。 i != NULL。 } void showJList() //顯示當(dāng)前作業(yè)鏈的信息 { printf(\n)。 printf(|%10d, ijid)。 i = inext) { printf( %10d, istartAddress)。 printf( 當(dāng)前已分配分區(qū)鏈信息\n)。 printf(\n)。 i != NULL。 } } } } void showFList() //顯示當(dāng)前空閑分區(qū)鏈的信息 { printf(\n)。 i = inext) { if (istatus == 0) { doFitAlgorithm()。 flsize = userMemory sum。 i = inext) { istartAddress = i next size + i nextstartAddress。 delete ns。 } else if (nsnext == NULL) { //若 ns 為尾結(jié)點(diǎn),則直接將該結(jié)點(diǎn)刪除 nslastnext = NULL。 nssize = nssize + tsize。 (ns == NULL)) { //有前一個(gè)分區(qū)可以與之合并 lssize = lssize + tsize。 fllast = t。 } } if ((ls == NULL) amp。 for (fNode * i = fl。 tstartAddress = startAddress。 mergeMemory(startAddress, endAddress)。 } else if (anext == NULL) { alastnext = NULL。 break。 //待合并分區(qū)的起始地址 int endAddress。 deallocateMemory(id)。 //若該 job 為鏈表頭結(jié)點(diǎn),則 jl 鏈表直接指向其下一個(gè)結(jié)點(diǎn) } else if (jobnext == NULL) { joblastnext = NULL。 flag = 1。 cin id。 } void finishJob() //完成作業(yè) { jNode * job = (jNode *)malloc(sizeof(jNode))。 } delete i。 } else { //若該分區(qū)大小恰 好等于作業(yè)大小,則從空閑分區(qū)鏈表中刪除該分區(qū) if (ilast == NULL) { fl = inext。 allast = t。 tlast = NULL。 //更改作業(yè)狀態(tài)為已裝入內(nèi)存 aNode * t = (aNode *)malloc(sizeof(aNode))。 } } int allocateMemory(jNode * tmp) //內(nèi)存分配 { int flag = 0。 jl = job。 jobnext = NULL。 jobnum = num。 cin size。 printf(\n)。 tstartAddress = tmpStartAddress。 } } } tmpStartAddress = istartAddress。 } case 3: { if (jstartAddress tstartAddress) //首次適應(yīng)算法,找到鏈表中分區(qū)起始地址最小的分區(qū) { t = j。 j = jnext) { switch(fitAlgorithm) { case 1: { if (jsize tsize) //最佳適應(yīng)算法,找到鏈表中 分區(qū)大小最小的分區(qū) { t = j。 i != NULL。 } void doFitAlgorithm() //執(zhí)行適應(yīng)算法 { fNode * t = (fNode *)malloc(sizeof(fNode))。 printf(\n)。 printf( 1最佳適應(yīng)算法 \n)。 tmpnext = NULL。 fNode * tmp = (fNode *)malloc(sizeof(fNode))。 count = 0。 //將各值復(fù)位 al = NULL。主要是按照這三種算法的思想對(duì)空閑塊進(jìn)行排序,以便找出符合要求的那個(gè)空閑塊。 2 要進(jìn)入內(nèi)存的程序鏈表的產(chǎn)生:多個(gè)要進(jìn)入內(nèi)存運(yùn)行的程序的產(chǎn)生,包括程序編號(hào)、所占存儲(chǔ)空間的大小。 二、設(shè)計(jì)目的 在掌握了計(jì)算機(jī)可變分區(qū)存儲(chǔ)管理方式的原理的基礎(chǔ)上,利用 C 語言在windows 操作系統(tǒng)下 模擬實(shí)現(xiàn)操作系統(tǒng)的可變分區(qū)存儲(chǔ)管理的功能,以便加深對(duì)可變分區(qū)存儲(chǔ)管理原理的理解,提高根據(jù)已有原理通過編程解決操作系統(tǒng)實(shí)際問題的能力 ,另一方面提高根據(jù)已有原理通過編程解決實(shí)際問題的能力,為進(jìn)行系統(tǒng)軟件開發(fā)和針對(duì)實(shí)際問題提出高效的軟件解決方案打下基礎(chǔ)。 操作系統(tǒng)課程設(shè)計(jì)報(bào)告 姓 名: 學(xué) 號(hào): 班 級(jí): 院 系: 日 期 : 指導(dǎo) 教師: 實(shí)驗(yàn) 一:可變分區(qū)存儲(chǔ)管理 一、實(shí)驗(yàn)要求 ? 設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)來描述存儲(chǔ)空間:對(duì)于未分配出去的部分,可以用空閑分區(qū)隊(duì)列來描述,對(duì)于已經(jīng)分配出去的部分,由裝入內(nèi)存的作業(yè)占據(jù),可以將作業(yè)組織成鏈表或數(shù)組。 ? 當(dāng)碎片產(chǎn)生時(shí),能夠進(jìn)行碎片的拼接。 根據(jù)可變分區(qū)存儲(chǔ)管理的基本原理,程序的實(shí)現(xiàn)主要包括以下幾 個(gè)部分: 1 內(nèi)存的初始化:包括確定內(nèi)存的起始地址、內(nèi)存的大小等。 3 為程序分配存儲(chǔ)空間: 可以采用首次適應(yīng)、最佳適應(yīng)、最后適應(yīng)算法來實(shí)現(xiàn)。 四 、 主 程序流程 圖 step=’1’ step=’2’ step=’6’ step=’3’step=’4’ step=’5’ step=’7’ 創(chuàng)建分區(qū)頭節(jié)點(diǎn) 刪除上次的結(jié)果文件 鍵盤輸入字符 step 字符 step 為? Exit Put job into memory Finish job Show current free list Show current memory used by jobs Move fragment together Initializiation 五 丶 主要實(shí)驗(yàn)代碼 void init() //初始化,設(shè)置物理內(nèi)存中用戶區(qū)的大小,選取適應(yīng)算法 { fl = NULL。 fitAlgorithm = 0。 setFitAlgorithm()。 //初始化時(shí),將整個(gè)用戶內(nèi)存劃分到一個(gè)分區(qū)里 tmplast = NULL。 while(fitAlgorithm 4 || fitAlgorithm 1) { printf( 請(qǐng)選擇適應(yīng)算法\n)。 printf( 4最后適應(yīng)算法 \n)。 } doFitAlgorithm()。 for (fNode *
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1