




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基本分頁(yè)存儲(chǔ)管理的模擬實(shí)現(xiàn)學(xué)院:專(zhuān)業(yè):學(xué)生姓名:學(xué)號(hào):指導(dǎo)教師:2014年3月18日目錄222 3.3一、設(shè)計(jì)內(nèi)容 二、相關(guān)操作系統(tǒng)的知識(shí)介紹三、課程設(shè)計(jì)的目的及要求四、程序功能說(shuō)明五、算法整體思想六、主要功能模塊進(jìn)程圖 3七、 實(shí)驗(yàn)結(jié)果4八、 實(shí)驗(yàn)總結(jié)7九、程序代碼一、設(shè)計(jì)內(nèi)容根據(jù)設(shè)計(jì)要求實(shí)現(xiàn)對(duì)基本分頁(yè)存儲(chǔ)管理的模擬二、相關(guān)操作系統(tǒng)的知識(shí)介紹連續(xù)分配方式會(huì)形成許多“碎片”,雖然可通過(guò)“緊湊”方法將 許多碎片拼接成可用的大塊空間,但須為之付出很大的開(kāi)銷(xiāo)。如果允 許將一個(gè)進(jìn)程直接分散的裝入到許多不相鄰接的分區(qū)中,則無(wú)需在進(jìn) 行“緊湊”。基于這一思想而產(chǎn)生了離散分配方式。如果離散分配的基 本單位是
2、頁(yè),則稱(chēng)為分頁(yè)存儲(chǔ)管理方式;如果離散分配的基本單位是 段,則稱(chēng)為分段存儲(chǔ)管理方式。在分頁(yè)存儲(chǔ)管理方式中,如果不具備頁(yè)面對(duì)換功能,則稱(chēng)為基本 的分頁(yè)存儲(chǔ)管理方式,或稱(chēng)為純分頁(yè)存儲(chǔ)管理方式,它不具有支持實(shí) 現(xiàn)虛擬存儲(chǔ)的功能,它要求把每個(gè)作業(yè)全部裝入內(nèi)存后方能運(yùn)行。三、課程設(shè)計(jì)的目的及要求1課程設(shè)計(jì)的目的操作系統(tǒng)課程設(shè)計(jì)是計(jì)算機(jī)專(zhuān)業(yè)重要的教學(xué)環(huán)節(jié),它為我們提供了一個(gè)既動(dòng) 手又動(dòng)腦,將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái), 獨(dú)立分析和解決實(shí)際問(wèn) 題的機(jī)會(huì)。進(jìn)一步鞏固和復(fù)習(xí)操作系統(tǒng)的基礎(chǔ)知識(shí)。培養(yǎng)我們結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力。提高我們調(diào)試程序的技巧和軟件設(shè)計(jì)的能力。提高我們分析問(wèn)題、解決問(wèn)
3、題以及綜合利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的 能力。2、設(shè)計(jì)要求1. 選擇恰當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)表示頁(yè)表2. 進(jìn)程名,進(jìn)程所需頁(yè)數(shù),進(jìn)程進(jìn)行的操作(裝入/退出)等操作可有鍵盤(pán) 輸入,也可從文件讀出。3. 每進(jìn)行一次進(jìn)程的裝入或者退出操作,就顯示出操作執(zhí)行后內(nèi)存中各頁(yè) 的分配情況。四、程序功能說(shuō)明函數(shù)各模塊部分功能void CreatA()創(chuàng)建內(nèi)存新函數(shù)void NewNode(Li nkList & L)建立新進(jìn)程void FreeNode(L in kList & L)/回收進(jìn)程,釋放內(nèi)存void Prin tf(L in kList L)/顯示所有進(jìn)程所占物理塊信息void look(Li nkList L
4、)/查看進(jìn)程信息void showit()顯示內(nèi)存塊使用信息 函數(shù)的整體功能這個(gè)程序是為了實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率, 由系統(tǒng)把邏輯地址劃分為頁(yè)號(hào)和頁(yè)內(nèi)地址兩部分。通過(guò)這個(gè)程序?qū)崿F(xiàn)了將進(jìn)程分 頁(yè)處理,劃分物理塊。五、算法整體思想先定義A100來(lái)記錄內(nèi)存物理塊;max = 99來(lái)記錄內(nèi)存物理塊數(shù);count = 100來(lái)記錄未使用的物理塊數(shù)。首先通過(guò)CreatA ()函數(shù)初始化內(nèi)存而后通過(guò)NewNode(LinkList &L)建立新的進(jìn)程,輸入進(jìn)程號(hào),進(jìn)程名,進(jìn)程大小,計(jì)算出 所需要的進(jìn)程頁(yè)數(shù)以及分配物理塊。通過(guò)FreeNode(Li nkList &L)來(lái)刪除所選
5、擇的進(jìn)程信息,釋放內(nèi)存。通過(guò)Prin tf(Li nkList L)顯示以上兩個(gè)函數(shù)所產(chǎn)生的進(jìn)程信息。而后通過(guò)look(LinkList L)查看進(jìn)程信息。通過(guò)showit()顯示內(nèi)存物理塊的分布情況。當(dāng)輸入進(jìn)程號(hào) new_node-f,然后通過(guò)j=0至j3時(shí)終止,如若 p-f= new node-f當(dāng)是時(shí)進(jìn)程存在,重新輸入,當(dāng)不是時(shí)p=p-next ;如若非此情況則輸入進(jìn)程名稱(chēng)和進(jìn)程大小,然后通過(guò)進(jìn)程頁(yè)數(shù)n=size/1024,若頁(yè)內(nèi)地址k!=0,n=n+1顯示所需頁(yè)數(shù),比較頁(yè)數(shù)與物理塊的大小,如果頁(yè)數(shù)大于物理塊數(shù)則內(nèi)存 物理塊不足,新建進(jìn)程失敗;如果小于則分配內(nèi)存物理塊。六、主要功能模塊進(jìn)
6、程圖內(nèi)存物理塊分配 不足,新建進(jìn)程失 敗七、實(shí)驗(yàn)結(jié)果添加進(jìn)程刪除進(jìn)程基本分頁(yè)存儲(chǔ)管理算法*電*;獻(xiàn)珈中案察*審案寓珈中案館* *審獻(xiàn)* M案察*審案當(dāng)珈*添加進(jìn)程2刪IO&*幻內(nèi)存使用情左 4查看遴程*請(qǐng)選擇(select) : 2語(yǔ)輸入要?jiǎng)h除的進(jìn)程號(hào):1 該進(jìn)程已刪除內(nèi)存物理塊分配情況 該進(jìn)程信息:進(jìn)程號(hào)23進(jìn)程名稱(chēng)BC進(jìn)程頁(yè)數(shù)11基本分頁(yè)存儲(chǔ)管理算法所用物理塊:冷羸臺(tái)畑;前羸益: 祐內(nèi)存使用情況 址查看邊程卒 右右古右右古右*匕0右古右*右古內(nèi)存使用情況13 ,D:vc+MSDev8MyProjectsllllqqqDebugl.exew!_| 屋更內(nèi)存使用恬兗4.杳看進(jìn)稈* *+ +*
7、* *改* * +*+ *+青迭擇(selact) : 3內(nèi)存物理塊好劃情況 230000000 000000000p0000000000 000000C00p00000CCC0p000000000 0000000000 000000000b 000000000b0半:000000009查看進(jìn)程八、實(shí)驗(yàn)總結(jié)通過(guò)本次操作系統(tǒng)課設(shè),本次課設(shè)為我們提供了一個(gè)既動(dòng)手又動(dòng)腦, 將課本 上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái), 獨(dú)立分析和解決實(shí)際問(wèn)題的機(jī)會(huì)。 進(jìn)一步 鞏固和復(fù)習(xí)操作系統(tǒng)的基礎(chǔ)知識(shí)。培養(yǎng)我們結(jié)構(gòu)化程序、模塊化程序設(shè)計(jì)的方法和能力。提高我們調(diào)試程序的技巧和軟件設(shè)計(jì)的能力。提高我們分析問(wèn)題、解決問(wèn)題以
8、及綜合利用C語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力。本次課設(shè)掌握了如何創(chuàng)建一個(gè)進(jìn)程,添加進(jìn)程和刪除進(jìn)程。通過(guò)本次課設(shè), 我也發(fā)現(xiàn)我的好多不足之處,首先在源程序的錄入上就遇到了很大的麻煩, 由于 英文錄入的速度比較慢,在源程序代碼的錄入上就花費(fèi)了很多的功夫, 還有就是 C語(yǔ)言的基本功還不夠扎實(shí),出現(xiàn)了很多不該出現(xiàn)的毛病,還好在設(shè)計(jì)過(guò)程,讓 我深深體會(huì)到老師在課堂上講的內(nèi)容和要注意的地方的重要性,也正是老師在課堂上提前給我們做了提醒和學(xué)習(xí),我在設(shè)計(jì)時(shí)才沒(méi)花費(fèi)太多的時(shí)間去更正這些問(wèn) 題。在以后的學(xué)習(xí)中,我一定要注意基本功的學(xué)習(xí)。謝謝老師對(duì)我的指導(dǎo)與教誨, 在今后的學(xué)習(xí)中一定會(huì)用心再用心,不辜負(fù)老師對(duì)學(xué)生的教誨!九、
9、程序代碼#i nclude stdio.h#include string.h int A100;/int max = 99;/in t cou nt = 100; /#i nclude stdlib.h內(nèi)存物理塊,0:未使用,非0:已使用記錄內(nèi)存的物理塊數(shù),值為A100最大下標(biāo) 記錄內(nèi)存未使用物理塊數(shù)typedef struct LNodeint f; /進(jìn)程號(hào)char name8; / 進(jìn)程名int size; /進(jìn)程大小int n; / 進(jìn)程頁(yè)數(shù)int ye100; /頁(yè)表,下標(biāo)表示頁(yè)號(hào),內(nèi)容表示進(jìn)程各頁(yè)所在物理塊struct LNode *n ext; LNode,*L in kList
10、; /內(nèi)存初始化void CreatA()int i = 0;for(i = 0;i f);j=0;while(p != NULL&jf!=new_no de-f)p = p-n ext;elseprintf(n該進(jìn)程已存在,重新輸入:);sca nf(%d,&n ew_node-f);p = L;/p重新指向頭結(jié)點(diǎn)j+;if(jn ame);printf(”輸入進(jìn)程的大小:);scan f(%d,&new_no de-size);new_no de-n=new_no de-size/1024;k=n ew_node-size%1024;if(k!=0)new_no de-n=new_no d
11、e-n+1;printf(”所需要的頁(yè)數(shù)為:);prin tf(%dn, new_no de-n); if(new_no de-n count) _!nn);prin tf(n內(nèi)存物理塊不足,新建進(jìn)程失敗elsecount -=new_no de-n;m = 0;for(i= 0; i= max; i+)if(Ai = 0 & m n) _Ai=new_no de-f; new_no de-yem = i; m+;if(L = NULL)L = new_no de;elsep = L; / 查找最后一個(gè)節(jié)點(diǎn) while(p- next != NULL)p = p-n ext;p-n ext =
12、 new_no de; _new_no de-n ext = NULL; _elseprintf(n錯(cuò)誤次數(shù)過(guò)多,返回主菜單:); /回收進(jìn)程,釋放內(nèi)存void FreeNode(Li nkList &L)Lin kList p,q; int z;printf(請(qǐng)輸入要?jiǎng)h除的進(jìn)程號(hào):);scan f(%d, &z);p = L;查找進(jìn)程;用p記錄q = p;while(p != NULL)if(p-f=z)printf(該進(jìn)程已刪除);break;elseq = p;p = p-n ext;if(p = NULL)printf(n該進(jìn)程不存在!!n);elsefor(i nt i = 0; i
13、 n; i+)Ap-yei = 0;count += p-n; if(p-f= q-f)要?jiǎng)h除的是頭結(jié)點(diǎn)L = p-n ext;elseq-n ext = p-n ext; /顯示所有進(jìn)程占用的物理塊void Prin tf(Li nkList L)int i = 0;printf(n內(nèi)存物理塊分配情況:n);Lin kList p = L;printf(”該進(jìn)程信息:n);printf( 進(jìn)程號(hào)tt進(jìn)程名稱(chēng)t進(jìn)程頁(yè)數(shù)t所用物理塊n); while(p != NULL)prin tf(%dtt,p-f);prin tf(%stt,p-n ame);prin tf(%dtt,p- n);int
14、i;for(i = 0;i n; i+)prin tf(%d,p-yei);prin tf(n);p = p-n ext; / 查看進(jìn)程void look(L in kList L)int乙printf( 輸入要查詢(xún)的進(jìn)程號(hào));scan f(%d, &z);Lin kList p = L;while (p!=NULL)if(p-f =z)printf( 進(jìn)程號(hào)tt進(jìn)程名稱(chēng)t進(jìn)程頁(yè)數(shù)t所用物理塊n); prin tf(%dtt,p-f);prin tf(%stt,p-n ame);prin tf(%dtt,p- n);int i;for(i = 0;i n; i+)prin tf(%d,p-ye
15、i);prin tf(n); break;else p=p-n ext;if(p=NULL)printf(要查詢(xún)的進(jìn)程不存在n); / 顯示內(nèi)存塊使用情況,不分進(jìn)程void showit()int i = 0;printf(內(nèi)存物理塊分配情況n);for(i = 0; i = max; i+)prin tf(%dt,Ai);if(i%10 = 9)prin tf(n);void mai n()CreatA();Li nkList L=NULL;int i=0; doprin tf(tt基本分頁(yè)存儲(chǔ)管理算法n);prin tf(tt*n);刪除進(jìn)程*n); 查看進(jìn)程*n);prin tf(tt*1.添加進(jìn)程2.prin tf(tt*3.內(nèi)存使用情況 4.*prin tf(tt*printf(”請(qǐng)選擇(select):);scan f(%d,&i);switch(i)case 1:NewNode(L);Prin tf(L); break;case 2:FreeNode(L); Prin tf(L);break; case 3: showit(); break;case 4: look(L); bre
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西方國(guó)家的移民政策與社會(huì)融入研究試題及答案
- 驅(qū)動(dòng)力西方政治制度的政治文化試題及答案
- 網(wǎng)絡(luò)工程師考試成功案例分享及試題及答案
- 用戶(hù)參與設(shè)計(jì)的重要性與試題與答案
- 西方公共政策與政治制度的關(guān)系試題及答案
- 軟件設(shè)計(jì)師考試數(shù)據(jù)分析題試題及答案
- 項(xiàng)目實(shí)施階段的監(jiān)控與調(diào)整工作試題及答案
- 軟件設(shè)計(jì)師考試實(shí)際案例與理論結(jié)合分析試題及答案
- 社會(huì)責(zé)任與政策變革之間的關(guān)系試題及答案
- 機(jī)電工程行業(yè)創(chuàng)新與挑戰(zhàn)的結(jié)合試題及答案
- 2025年汽車(chē)經(jīng)銷(xiāo)行業(yè)深度研究報(bào)告
- 河南2025年生態(tài)環(huán)境部黃河流域生態(tài)環(huán)境監(jiān)督管理局生態(tài)環(huán)境監(jiān)測(cè)與科學(xué)研究中心招聘筆試歷年參考題庫(kù)附帶答案詳解
- (高清版)DG∕TJ 08-2165-2015 建設(shè)項(xiàng)目交通影響評(píng)價(jià)技術(shù)標(biāo)準(zhǔn)
- 視頻制作拍攝服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 移動(dòng)式冷庫(kù)租賃合同協(xié)議
- 2025-2030中國(guó)氧化鎵行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025年新興產(chǎn)業(yè)投資熱點(diǎn)試題及答案
- UPS電源項(xiàng)目總結(jié)分析報(bào)告
- DB11-T 1315-2025 北京市綠色建筑工程驗(yàn)收標(biāo)準(zhǔn)
- 新生兒健康評(píng)估相關(guān)試題及答案
- 招商崗位測(cè)試題及答案
評(píng)論
0/150
提交評(píng)論