




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學操作系統(tǒng)課內實踐說明書學生學號實踐課成績 課 內 實 踐 實 踐 內 容 請求頁式內存管理的分配與回收 開 課 學 院 計算機科學與技術學院 指導老師姓名 學 生 姓 名 學生專業(yè)班級 學年 第 一 學期目錄1設計目的、功能與要求21.1設計目的、功能21.2要求22問題的詳細描述、需求分析22.1問題的詳細描述22.2 需求分析33數(shù)據(jù)結構、功能設計(功能與框圖、功能模塊說明)33.1 算法分析33.2 數(shù)據(jù)結構33.3模塊說明43.3.1 主函數(shù)43.3.2 功能函數(shù)54開發(fā)工具及源程序的主要部分(需對主要代碼段附文字注釋)54.1開發(fā)平臺54.2 源程序的主要部分55測試用例
2、、運行結果與運行情況分析85.1測試方法85.2測試結果86自我評價與總結117參考文獻11請求頁式內存管理的分配與回收1設計目的、功能與要求1.1設計目的、功能 模擬實現(xiàn)內存管理的分配與回收功能,掌握內存管理的相關內容,對內存的分配與回收有深入的理解。1.2要求 (1)任選一種計算機高級語言編程實現(xiàn) (2)選擇一種內存管理方案:動態(tài)分區(qū)式、請求頁式、段式、段頁式等 (3)能夠輸入給定的內存大小,進程的個數(shù),每個進程所需內存空間大小 (4)能夠選擇分配 / 回收操作 (5)能夠顯示進程在內存的存儲地址、大小等 (6)顯示每次完成內存分配或回收后內存空間的使用情況2問題的詳細描述、需求分析2.1
3、問題的詳細描述 利用c+語言設計程序,模擬頁式內存管理的過程。頁式管理是一種內存空間存儲管理的技術,頁式管理分為靜態(tài)頁式管理和動態(tài)頁式管理?;驹硎菍⒏鬟M程的虛擬空間劃分成若干個長度相等的頁,頁式管理把內存空間按頁的大小劃分成片或者頁面,然后把頁式虛擬地址與內存地址建立一一對應頁表,并用相應的硬件地址變換機構,來解決離散地址變換問題。頁式管理采用請求調頁或預調頁技術實現(xiàn)了內外存存儲器的統(tǒng)一管理。 靜態(tài)分頁管理的第一步是為要求內存的作業(yè)或進程分配足夠的頁面。系統(tǒng)通過存儲頁面表、請求表以及頁表來完成內存的分配工作。頁表指的是內存中的一塊固定存儲區(qū)。頁式管理時每個進程至少有一個頁表。請求表指的是用
4、來確定作業(yè)或進程的虛擬空間的各頁在內存中的實際對應位置;另外整個系統(tǒng)有一個存儲頁面表,描述了物理內存空間的分配使用狀況。2.2 需求分析 模擬設計頁式內存管理的分配與回收要求能夠滿足如下的要求:(1) 輸入給定的內存大小、當前進程的大小、分配的頁面數(shù)量及頁面的執(zhí)行順序,能夠選擇分配 / 回收操作;(2) 使用內存管理方案:請求頁式管理;(3) 要求當進程提出申請空間的大小后,顯示能否滿足申請,顯示每次完成內存分配或回收后內存空間的使用情況。3數(shù)據(jù)結構、功能設計(功能與框圖、功能模塊說明)3.1 算法分析 首先,請求表給出進程或作業(yè)要求的頁面數(shù)。然后,由存儲頁面表檢查是否有足夠的空閑頁面,如果沒
5、有,則本次無法分配。如果有則首先分配設置頁表,并請求表中的相應表項后,按先來先服務算法搜索出所要求的空閑頁面,并將對應的頁好填入頁表中。3.2 數(shù)據(jù)結構頁式管理把內存空間按頁的大小劃分成片或者頁面,再按照一定的規(guī)律建立起頁表,并通過請求表將分配內容顯示出來,將頁表和請求表的內容使用結構體定義如下: typedef struct int use;/0表示沒被用 int name;/name表示被哪個進程占用 node; typedef struct int size;/表示進程的大小 int name;/表示進程號 progress;定義內存總大?。簊ize定義當前進程大?。簆ro.size 定
6、義內存頁面數(shù):int pagenum 定義塊的數(shù)量:kuai定義進程個數(shù):int pnum定義進程的編號:num定義刪除進程的編號:shanchunum框圖如下:3.3模塊說明 3.3.1 主函數(shù) 整個程序由兩個函數(shù)組成,主函數(shù)運行了程序中的功能函數(shù),包含對整個內存基本信息的輸入,并實現(xiàn)了內存的分配與回收。 3.3.2 功能函數(shù) 功能函數(shù):void action(int a,int b,int num),使用先進先出頁面淘汰算法(FIFO)對頁面進行置換。4開發(fā)工具及源程序的主要部分(需對主要代碼段附文字注釋)4.1開發(fā)平臺(1) 使用系統(tǒng):Windows 7(2) 使用語言:C+(3) 開發(fā)
7、工具:Visual Studio 20104.2 源程序的主要部分 主函數(shù)部分代碼:cout << "該進程已經(jīng)被分為" << pronum.size << "個頁面,請輸入頁面的執(zhí)行順序:" << endl;cin>>pagenum0;for(i=1;pagenumi-1!=0;i+)cin>>pagenumi;count=i-1;action(pagenum, kuai, count);for(i=0;i<30;i+)pagenumi=0;tem = pronum.size
8、;for (i = 0; i < size; i+)if (tem != 0)if (neicuni.use = 0)neicuni.use = 1; = num;tem-;elsecontinue;elsebreak; num+;cout << "內存占用情況為:" << endl;cout << "內存號 進程號" << endl;功能函數(shù):void action(int a,int b,int num) /使用先進先出頁面淘汰算法對頁面進行置換int i,count=2;
9、bool flag=true;cout << "執(zhí)行順序為:" << endl;for (i = 0; i < 3; i+) /只使用三塊物理內存塊bi = ai;cout << "1 2 3" << endl;cout << b0 << endl;cout << b0 << " " << b1 << endl;cout << b0 << " " << b
10、1 <<" "<<b2<< endl;for (i = 3; i < num; i+)flag=true;for(int j=0;j<3;j+)if(bj=ai)flag=false;break;if(flag=false)cout << b0 << " " << b1 << " " << b2 << endl;continue;elsecount=count+1;bcount%3 = ai;cout <<
11、; b0 << " " << b1 << " " << b2 << endl;5測試用例、運行結果與運行情況分析5.1測試方法 假定內存的大小為100,輸入第一個進程的大小為30,采用先進先出淘汰算法進行置換,輸出頁面執(zhí)行順序。輸入第二個進程大小為50,并同樣采用先進先出算法置換,當輸入第三個進程大小為30時,顯示進程分配失敗。5.2測試結果 6自我評價與總結 本次課內實踐旨在模擬實現(xiàn)內存管理的分配與回收功能,掌握內存管理的相關內容,對內存的分配與回收有深入的理解。通過本次課內實踐,我不僅加深了
12、對頁式管理的理解,也提高了自己的編程能力。編程是個長久的過程,平時要多去動手實踐,提高自己分析問題、發(fā)現(xiàn)問題、解決問題的能力。做了這么多次的課內實踐,大致的過程都熟悉了,每次的動手實踐,都調動了我主動學習的積極性,并引導我根據(jù)實際編程要求,訓練自己實際分析問題的能力及編程能力,養(yǎng)成良好的編程習慣。 在編寫程序的過程中,我還翻閱了一些課外資料,并更加詳細的閱讀了課本,保證在頁式管理基本原理透徹了解情況下進行設計,事半功倍,讓我認識到磨刀不誤砍柴工的道理。7參考文獻(1) 計算機操作系統(tǒng)教程(第3版) 張堯學 史美林 張高編著(2) C+ Primer第六版 B.Lippman著(3) 深入解析Windows操作系統(tǒng) M.Russunovich著 潘愛民譯本科
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小型工程器械管理制度
- 華為引入項目管理制度
- 華為公司運營管理制度
- 公司優(yōu)化財務管理制度
- 國企銷售人員管理制度
- 醫(yī)藥公司辦公管理制度
- 工務段機具庫管理制度
- 品牌公司倉庫管理制度
- 工位器具倉庫管理制度
- 車展規(guī)劃方案(3篇)
- 初中語文八年級《駱駝祥子》教育教學課件
- 8-馬工程《藝術學概論》課件-第八章(2019.4.2)【已改格式】.課件電子教案
- 鐵路道口管理標準
- 與總包等的協(xié)調配合措施
- 國外現(xiàn)狀企業(yè)員工培訓現(xiàn)狀介紹
- 三氯甲烷的產(chǎn)品包裝說明和使用說明書
- 三相異步電動機的正反轉
- 救護車急診出診轉運風險相關事項告知書
- 建筑玻璃隔熱膜工程技術規(guī)程
- 初中學生綜合素質表現(xiàn)評價檔案
- 中國民主同盟入盟申請表
評論
0/150
提交評論