老師布置的編程題:用C語言類似實現(xiàn)操作系統(tǒng)原理中的內(nèi)存用首次適應(yīng)算法的內(nèi)存分配。1,假設(shè)內(nèi)存大小是500(單位不管)(并不是真正在內(nèi)存中劃出500的空間來)2,選項有三個,分別是加入作業(yè),刪除作業(yè),退出程序(exit可以不要,前兩個必須得要)3,選擇添加后,提示輸入作業(yè)大小4,選擇刪除后,提示輸入作業(yè)號5,每次執(zhí)行添加或刪除操作后顯示當(dāng)前內(nèi)存分配表6,有一定糾錯功能,在出錯情況下應(yīng)顯示錯誤情況,即 XXX ERROR例子運行程序后出現(xiàn):1,input job2,output job3,exit選1后出現(xiàn):input job‘s size:輸入100后出現(xiàn):job1 0 100free 100 4001,input job2,output job3,exit再選1,輸入50:job1 0 100job free 150 3501,input job2,output job3,exit此時選1,輸入400:size error1,input job2,output job3,exit選2出現(xiàn):input job‘s size:輸入1job free 0 100free 150 350此程序考慮情況:作業(yè)刪除時,內(nèi)存的回收有四種情況的回收。第一批作業(yè)添加,然后刪除后,此時內(nèi)存空閑空間并不連續(xù),再次添加作業(yè)時,如何按首次適應(yīng)算法進行分配?PS:我并不是真正要在內(nèi)存劃一段區(qū)間進行操作,我只是用C模擬一下內(nèi)存的分配。 我要的只是程序能按我的要求,當(dāng)輸入合法時,能正確的顯示那個內(nèi)存的分配表。(表由三項構(gòu)成,1,job X 或者free;2,作業(yè)首地址;3,作業(yè)大小) 這個作業(yè)是老師上午剛布置的,而且不交,但我很想把他編出來,我自負(fù)編程還行。所以我提出問題同時自己也開始編,問題先放著,等我沒信心了,我再來提高賞分
熱心網(wǎng)友
長見識了。支持!