實驗動態(tài)分區(qū)分配方式的模擬答案_第1頁
已閱讀1頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、動態(tài)分區(qū)分配方式的模擬動態(tài)分區(qū)分配方式的模擬第一部分第一部分設計思想的說明設計思想的說明1設計目標用C語言或C語言分別實現采用首次適應算法和最佳適應算法的動態(tài)分區(qū)分配過程alloc()和回收過程free()。其中,空閑分區(qū)通過空閑分區(qū)鏈表來管理,在進行內存分配時,系統(tǒng)優(yōu)先使用空閑區(qū)低端空間。預期結果:假設初始狀態(tài)如下,可用的內存空間為640KB,并有下列請求序列:作業(yè)1申請130KB作業(yè)2申請60KB作業(yè)3申請100KB作業(yè)2釋放60K

2、B作業(yè)4申請200KB作業(yè)3釋放100KB作業(yè)1釋放130KB作業(yè)5申請140KB作業(yè)6申請60KB作業(yè)7申請50KB作業(yè)6釋放60KB分別用首次適應算法和最佳適應算法進行內存塊的分配和回收,同時顯示內存塊分配和回收后空閑內存分區(qū)鏈的情況。2、設計理論首次適應算法(首次適應算法(FirstfitFirstfit):當要分配內存空間時,就查表,在各空閑區(qū)中查找滿足大小要求的可用塊。只要找到第一個足以滿足要球的空閑塊就停止查找,并把它分配出

3、去;如果該空閑空間與所需空間大小一樣,則從空閑表中取消該項;如果還有剩余,則余下的部分仍留在空閑表中,但應修改分區(qū)大小和分區(qū)始址。最佳適應算法(最佳適應算法(BestfitBestfit):):當要分配內存空間時,就查找空閑表中滿足要求的空閑塊,并使得剩余塊是最小的。然后把它分配出去,若大小恰好合適,則直按分配;若有剩余塊,則仍保留該余下的空閑分區(qū),并修改分區(qū)大小的起始地址。內存回收:內存回收:將釋放作業(yè)所在內存塊的狀態(tài)改為空閑狀態(tài),刪

4、除其作業(yè)名,設置為空。并判斷該空閑塊是否與其他空閑塊相連,若釋放的內存空間與空閑塊相連時,則合并為同一個空閑塊,同時修改分區(qū)大小及起始地址。StatusInitblock()開創(chuàng)帶頭結點的內存空間鏈表block_first=(DuLinkList)malloc(sizeof(DuLNode))block_last=(DuLinkList)malloc(sizeof(DuLNode))block_firstpri=NULLblock_fi

5、rstnext=block_lastblock_lastpri=block_firstblock_lastnext=NULLblock_lastdata.address=0block_lastdata.size=MAX_lengthblock_lastdata.ID=0block_lastdata.state=FreereturnOK分配主存Statusalloc(intch)intIDrequestcoutIDcoutrequesti

6、f(request0||request==0)cout“分配大小不合適,請重試!“endlreturnERRif(ch==2)選擇最佳適應算法if(Best_fit(IDrequest)==OK)cout“分配成功!“endlelsecout“內存不足,分配失敗!“endlreturnOKelse默認首次適應算法if(First_fit(IDrequest)==OK)cout“分配成功!“endlelsecout“內存不足,分配失?。 ?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論