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

正文內(nèi)容

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

2024-11-16 16:04本頁面

【導(dǎo)讀】對內(nèi)存管理算法用高級語言進(jìn)行模擬。對程序的一些部分要有較詳細(xì)的分析說明。源代碼格式要規(guī)范。設(shè)計合適的測試用例對程序進(jìn)行測試??偨Y(jié)要深刻,能說明問題。按期提交完整的程序代碼、可執(zhí)行程序和課程設(shè)計報告。課程設(shè)計任務(wù)要求不少于10頁的報告,要賦有模塊圖或流程圖。分區(qū)鏈中選出一分區(qū)分配給作業(yè)。常用的分配算法有五種,首次適應(yīng)算法(FIRST. 和最壞適應(yīng)算法。功能有以下幾個,利用分區(qū)分配算法為作業(yè)分配內(nèi)存空間,可以對已分。動態(tài)分區(qū)分配是根據(jù)進(jìn)程的實際需要,動態(tài)的為之分配內(nèi)存空間。為了實現(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。 } //如果沒有該作業(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。 } //對分區(qū)進(jìn)行合并 while( tnext != NULL amp。amp。 taddress + tlength == tnextaddress ) { tlength += tnextlength。 r = tnext。 tnext = tnextnext。 delete r。 } //對作業(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請輸入進(jìn)程名 : 。 cin jobname。 cout請輸入進(jìn)程 長度 : 。 cin jobsize。 if( allot( jobname , jobsize ) == 4 ) printf(該進(jìn)程已成功獲得所要求內(nèi)存空間 \n)。 else printf(該進(jìn)程沒有成功獲得所要求空間 \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請輸入要回收的進(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)沒有進(jìn)程或該進(jìn)程不存在 \n)。 } void main() { Init()。 int choice,t=1。 while( t!=0 ) { printf(\n)。 coutendl。 cout 內(nèi)存管理算法模擬 endl。 cout請選擇下面功能選項 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(請正確輸入選項 !\n)。 break。 } } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1