操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼_第1頁
操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼_第2頁
操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼_第3頁
操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼_第4頁
操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼xxx公司操作系統(tǒng)首次適應算法動態(tài)分配C語言代碼文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設計,管理制度實驗名稱:操作系統(tǒng)動態(tài)分配姓名:楊秀龍學號:32專業(yè)班級:創(chuàng)新實驗班111指導老師:霍林實驗題目內存動態(tài)分區(qū)的分配與回收內存實驗目的有利于我們更好的了解內存動態(tài)分區(qū)分配的操作情況,掌握可變分區(qū)首次適應算法的原理以及其編程實現(xiàn)。設計思想可變分區(qū)分配是根據進程的實際需求,動態(tài)地為之分配內存空間。首次適應算法要求空閑空間鏈以地址遞增的次序鏈接。進行內存分配時,從鏈表頭部開始依次檢索,找到第一個不小于請求空間大小的空閑空間進行分配。分配時需考慮碎片問題,若分配會導致碎片產生則將整塊分區(qū)分配。內存的回收需要考慮四種情況:收分區(qū)前后兩個分區(qū)都空閑,則需要和前后兩個分區(qū)合并;回收分區(qū)只有前一分區(qū)空閑,則與前一分區(qū)合并;回收分區(qū)只有后一分區(qū)空閑,則和后一分區(qū)合并;回收分區(qū)獨立,不考慮合并主要數(shù)據結構主要的數(shù)據結構有兩個:空閑分區(qū)表結構和表的鏈結構。根據空閑分區(qū)的作用,空閑分區(qū)表結構必須包括(分區(qū)號、分區(qū)起始地址、分區(qū)狀態(tài)、分區(qū)數(shù)據大?。?。由于采用的是雙向鏈表的結果,所以表的鏈結構包括(空閑分區(qū)表的信息、首指針、尾指針)結構程序代碼如下:typedefstructBody{ intID; intsize; intaddress; intsign;};typedefstructNode{ Bodydata; structNode*prior; structNode*next;}*DLinkList;流程圖退出退出選0輸入有誤>3or<0選擇0-3操作操作界面開始選3顯示內存分配選2回收內存選1分配內存輸入分區(qū)號輸入分區(qū)號結束合并后回收合并后回收該分區(qū)后一個分區(qū)空閑該分區(qū)前一個分區(qū)空閑合并后回收該分區(qū)前后都空閑結束將分區(qū)從空閑鏈移出,并修改相應數(shù)據結構整塊分配判斷是否會有碎片內存不足判斷剩余空間是否足夠輸入分區(qū)大小結束合并后回收合并后回收該分區(qū)后一個分區(qū)空閑該分區(qū)前一個分區(qū)空閑合并后回收該分區(qū)前后都空閑結束將分區(qū)從空閑鏈移出,并修改相應數(shù)據結構整塊分配判斷是否會有碎片內存不足判斷剩余空間是否足夠輸入分區(qū)大小運行結果圖(1)主界面圖(1)主界面圖(2)分配3個分區(qū)后的分配情況圖(2)分配3個分區(qū)后的分配情況圖(3)回收1、3分區(qū)后的分配情況圖(3)回收1、3分區(qū)后的分配情況圖(4)再次分配4分區(qū)后的分配情況圖(4)再次分配4分區(qū)后的分配情況附錄:源代碼如下:#include<>#include<>#defineFree0配內存\n"); printf("2.回收內存\n"); printf("3.顯示內存分配情況\n"); printf("0.退出程序\n"); scanf("%d",&choice); if(choice==1) Allocation(); elseif(choice==2) { intID; printf("輸入要回收的分區(qū)號:"); scanf("%d",&ID); Recycle(ID); } elseif(choice==3) sh

溫馨提示

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

最新文檔

評論

0/150

提交評論