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

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)報(bào)告內(nèi)存管理算法模擬-資料下載頁(yè)

2025-11-07 16:04本頁(yè)面

【導(dǎo)讀】對(duì)內(nèi)存管理算法用高級(jí)語(yǔ)言進(jìn)行模擬。對(duì)程序的一些部分要有較詳細(xì)的分析說(shuō)明。源代碼格式要規(guī)范。設(shè)計(jì)合適的測(cè)試用例對(duì)程序進(jìn)行測(cè)試??偨Y(jié)要深刻,能說(shuō)明問(wèn)題。按期提交完整的程序代碼、可執(zhí)行程序和課程設(shè)計(jì)報(bào)告。課程設(shè)計(jì)任務(wù)要求不少于10頁(yè)的報(bào)告,要賦有模塊圖或流程圖。分區(qū)鏈中選出一分區(qū)分配給作業(yè)。常用的分配算法有五種,首次適應(yīng)算法(FIRST. 和最壞適應(yīng)算法。功能有以下幾個(gè),利用分區(qū)分配算法為作業(yè)分配內(nèi)存空間,可以對(duì)已分。動(dòng)態(tài)分區(qū)分配是根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)的為之分配內(nèi)存空間。為了實(shí)現(xiàn)分區(qū)分配,系統(tǒng)中必須配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。區(qū)表和空閑分區(qū)鏈。

  

【正文】 utable r = usedtable。 utable t = r。 while( r != NULL amp。amp。 raddress xaddress ) { 20 t = r。 r = rnext。 } if( usedtable == NULL ) usedtable = x。 else { xnext = r。 tnext = x。 } return 4。 } //回收作業(yè)空間 //jobname: 作業(yè)名 int callback( int jobname ) { if( usedtable == NULL ) return 1。 utable p = usedtable。 utable q = p。 while( p != NULL amp。amp。 pflag != jobname ) { q = p。 p = pnext。 } //如果沒(méi)有該作業(yè) if( p == NULL ) return 2。 //回收后的空間加入到空閑區(qū) ftable r = freetable。 21 ftable t = r。 ftable x。 while( r != NULL amp。amp。 raddress paddress ) { t = r。 r = rnext。 } x = new farea。 xaddress = paddress。 xlength = plength。 xnext = NULL。 if( r == freetable ) { xnext = r。 freetable = x。 t = freetable。 } else { xnext = r。 tnext = x。 } //對(duì)分區(qū)進(jìn)行合并 while( tnext != NULL amp。amp。 taddress + tlength == tnextaddress ) { tlength += tnextlength。 r = tnext。 tnext = tnextnext。 delete r。 } //對(duì)作業(yè)刪除的操作 if( p == usedtable ) 22 { usedtable = usedtablenext。 } else qnext = pnext。 delete p。 return 4。 } int Init() { freetable = new farea。 freetableaddress = 0。 freetablelength = 1024。 freetablenext = NULL。 return 1。 } void jobrequest() { int jobname。 int jobsize。 cout請(qǐng)輸入進(jìn)程名 : 。 cin jobname。 cout請(qǐng)輸入進(jìn)程 長(zhǎng)度 : 。 cin jobsize。 if( allot( jobname , jobsize ) == 4 ) printf(該進(jìn)程已成功獲得所要求內(nèi)存空間 \n)。 else printf(該進(jìn)程沒(méi)有成功獲得所要求空間 \n)。 } void statePrint() { ftable p = freetable。 23 utable q = usedtable。 int x , y。 while( p || q ) { if( p ) x = paddress。 else x = 0x7fffffff。 if( q ) y = qaddress。 else y = 0x7fffffff。 if( x y ) { coutpaddressendl已分配 (上 )endl。 cout空閑 (下 )endlplengthendl。 p = pnext。 } if( x y ) { q = qnext。 } } } void jobcallback() { int jobname。 cout請(qǐng)輸入要回收的進(jìn)程名 : 。 cin jobname。 int result = callback( jobname )。 if( result == 4 ) 24 printf(該進(jìn)程已回收成功 \n)。 else if( result == 2 || result == 1 ) printf(系統(tǒng)沒(méi)有進(jìn)程或該進(jìn)程不存在 \n)。 } void main() { Init()。 int choice,t=1。 while( t!=0 ) { printf(\n)。 coutendl。 cout 內(nèi)存管理算法模擬 endl。 cout請(qǐng)選擇下面功能選項(xiàng) endl。 cout1:模擬內(nèi)存的分配 endl。 cout2:模擬內(nèi)存的回收 endl。 cout3:顯示內(nèi)存情況 endl。 cout0:退出 endl。 coutendl。 printf(\n)。 cinchoice。 switch(choice) { case 0: t=0。 break。 case 1: jobrequest()。 25 break。 case 2: jobcallback()。 break。 case 3: statePrint()。 break。 default: { printf(請(qǐng)正確輸入選項(xiàng) !\n)。 break。 } } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1