版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1實驗四實驗四存儲器管理存儲器管理1、目的與要求、目的與要求本實驗的目的是讓學生熟悉存儲器管理的方法,加深對所學各種存儲器管理方案的了解;要求采用一些常用的存儲器分配算法,設計一個存儲器管理模擬系統(tǒng),模擬內存空間的分配和釋放。2、實驗內容、實驗內容①設計一個存放空閑塊的自由鏈和一個內存作業(yè)分配表,存放內存中已經存在的作業(yè)。②編制一個按照首次適應法分配內存的算法,進行內存分配。③同時設計內存的回收以及內存清理(如果要分配的作業(yè)塊大于任何一
2、個空閑塊,但小于總的空閑分區(qū),則需要進行內存的清理,空出大塊的空閑分區(qū))的算法。3實驗環(huán)境實驗環(huán)境①PC兼容機②Windows、DOS系統(tǒng)、Turboc2.0③C語言4實驗提示實驗提示一、數(shù)據結構1、自由鏈內存空區(qū)采用自由鏈結構,鏈首由指針freep指向,鏈中各空區(qū)按地址遞增次序排列。初啟動時整個用戶內存區(qū)為一個大空區(qū),每個空區(qū)首部設置一個區(qū)頭(freearea)結構,區(qū)頭信息包括:Size空區(qū)大小Next前向指針,指向下一個空區(qū)Bac
3、k反向指針,指向上一個空區(qū)Adderss本空區(qū)首地址2、內存分配表JOBMAT系統(tǒng)設置一個MAT,每個運行的作業(yè)都在MAT中占有一個表目,回收分區(qū)時清除相應表目,表目信息包括:Name用戶作業(yè)名Length作業(yè)區(qū)大小Addr作業(yè)區(qū)首地址二、算法存儲分配算法采用首次適應法,根據指針freep查找自由鏈,當找到第一塊可滿足分配請求的空區(qū)便分配,當某空區(qū)被分配后的剩余空閑空間大于所規(guī)定的碎片最小量mini時,3structJobMatname
4、[10]intaddressintlengthstructJobMatnextstructJobMatbackstructFreeAreaintaddressintsizestructFreeAreanextstructFreeAreabackstructJobMatp_JobMatstructFreeAreap_FreeAreaintUnusedSpace未分配的空閑空間大小intCurrentJobCnt目前內存中的作業(yè)數(shù)量intJ
5、obSize目前要分配的作業(yè)的大小JobName[10]intJobAddressvoidinitiation()p_FreeArea=(structFreeArea)malloc(sizeof(structFreeArea))p_FreeAreasize=TOTALSPACEp_FreeAreaaddress=INITADDRESSp_FreeAreanext=NULLp_FreeAreaback=NULLUnusedSpace=TO
溫馨提示
- 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
提交評論