版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗三內(nèi)存管理【實驗?zāi)康呐c要求】⒈了解虛擬存儲技術(shù)的特點。⒉掌握請求頁式存儲管理的頁面置換算法。3.了解頁面大小和內(nèi)存實際容量對命中率的影響。【實驗原理】分頁存儲管理將一個進程的邏輯地址空間分成若干大小相等的片,成為頁面或頁。在進程運行過程中,若其所要訪問的頁面不在內(nèi)存而需要把他們調(diào)入內(nèi)存,但內(nèi)存已無空閑時,為了保證該進程能正常運行,系統(tǒng)必須從內(nèi)存中調(diào)出一頁程序或數(shù)據(jù),送磁盤的對換區(qū)中。但應(yīng)將哪個頁面調(diào)出,須根據(jù)一定的算法來確定。通常,把選擇換出頁面的算法稱為頁面置換算法(PageReplacementAlgorithm)。一個好的頁面置換算法,應(yīng)具有較低的頁面更換頻率。從理論上講,應(yīng)將那些以后不再會訪問的頁面換出,或?qū)⒛切┰谳^長時間內(nèi)不會再訪問的頁面調(diào)出。⒈最佳置換算法OPT(Optimal)⒉先進先出頁面置換算法FIFO⒊最近最久未使用置換算法LRU⒋最少訪問頁面置換算法LFU⒌最近最不經(jīng)常使用算法NUR【實驗主要儀器與材料】⒈帶Linux操作系統(tǒng)的PC機。⒉GCC編譯器?!緦嶒瀮?nèi)容】1、通過隨機數(shù)產(chǎn)生一個指令序列,共320條指令。指令的地址按下述原則生成:50%的指令是順序執(zhí)行的25%的指令是均勻分布在前地址部分25%的指令是均勻分布在后地址部分具體的實施方法是:在【0,319】的指令地址之間隨機選取一起點m;順序執(zhí)行一條指令,即執(zhí)行地址為m+1的指令;在前地址【0,m+1】中隨機選取一條指令并執(zhí)行,該指令的地址為m’;順序執(zhí)行一條指令,其地址為m’+1;在后地址[m’+2,319]中隨機選取一條指令并執(zhí)行;重復(fù)上述步驟,直到執(zhí)行320次指令。2、將指令序列變換成為頁地址流設(shè):頁面大小為1K;用戶內(nèi)存容量為4頁到32頁;用戶虛擬容量為32K。在用戶虛存中,按每K存放10條指令排列虛擬地址,即320條指令在虛存中的存放方式為:第0條~第9條指令為第0頁(對應(yīng)虛存地址為【0,9】);第10條~第19條指令為第1頁(對應(yīng)虛存地址為【10,19】); …第310條~第319條指令為第31頁(對應(yīng)虛存地址為【310,319】)。按以上方式,用戶指令可組成32頁。3、計算并輸出下列各種算法在不同內(nèi)存容量下的命中率。先進先出的算法(FIFO);最近最少使用算法(LRU);最佳淘汰算法(OPT):先淘汰最不常用的頁地址;其中OPT為選作內(nèi)容。命中率=1–頁面時效次數(shù)/頁地址流長度在本實驗中,頁地址流長度為320,頁面失效次數(shù)為每次訪問相應(yīng)指令時,該指令所對應(yīng)的頁不在內(nèi)存的次數(shù)。【實驗步驟及實驗結(jié)果分析】首先用srand()和rand()函數(shù)定義和產(chǎn)生指令序列,然后將指令序列變換成相應(yīng)的頁地址流,并針對不同的算法計算出相應(yīng)的命中率。//****利用先進先出算法(FIFO)和最近最久未使用算法(LRU)****//#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#defineNULL_110000constintty=320;intd[320];//指令序列intpage[320];//頁地址流intp[32];//內(nèi)存頁面intque;//缺頁次數(shù)inttime[32];//記錄頁面距離上次被訪問的時間voidcreat(intleng)//leng為內(nèi)存頁面數(shù)量{ inti; que=0; for(i=0;i<leng;i++) { p[i]=NULL_1;//讓內(nèi)存頁面置空 time[i]=0; }}//******先進先出算法voidFIFO(intleng)//leng為內(nèi)存頁面數(shù)量{ inti,j,k; intn; //n為要被替換的頁面號,按0,1,2...leng,0,1,2...leng循環(huán)變化 creat(leng);//初始化內(nèi)存頁面 n=0; for(i=0;i<ty;i++) { k=0; for(j=0;j<leng;j++) { if(p[j]==NULL_1) break; elseif(p[j]==page[i])//在內(nèi)存中有該頁 { k=1; break; } } if(k==0) { que++; p[n]=page[i]; n++; } if(n==leng) n=0; } printf("%-7.3f\t",1-(float)que/ty);}//******最近最久未使用算法voidLRU(intleng)//leng為內(nèi)存頁面數(shù)量{ inti,j,k; inttmax;//存time的最大值 intt;//t為要被訪問的頁面號 creat(leng);//初始化內(nèi)存頁面 for(i=0;i<ty;i++) { k=0; for(j=0;j<leng;j++) { if(p[j]==NULL_1) break; elseif(p[j]==page[i])//在內(nèi)存中有該頁 { k=1; t=j; break; } } if(k==0) { que++; tmax=time[0]; t=0; for(j=0;j<leng;j++)//查找最久沒訪問的頁面號賦予t { if(tmax<time[j]) { tmax=time[j]; t=j; } } p[t]=page[i]; } for(j=0;j<leng;j++)//將每個頁面time自增 time[j]++; time[t]=0;//將這次被訪問的頁面time清零 } printf("%-7.3f\t",1-(float)que/ty);}voidmain(){intm,i;srand(10*getpid()); //用來作為初始化隨機數(shù)隊列的"種子"m=(int)((float)(ty-1)*(rand()/(RAND_MAX+1.0))); //選0-319中一數(shù)for(i=0;i<ty;i+=4)//產(chǎn)生指令隊列{ d[i]=m; //任選一指令訪問點m d[i+1]=d[i]+1;//順序執(zhí)行一條指令m+1 d[i+2]=(int)((float)d[i]*(rand()/(RAND_MAX+1.0)));//執(zhí)行前地址指令m',即選擇(0,m+1)之間的數(shù)d[i+3]=d[i+2]+1; //順序執(zhí)行一條指令m=(int)((float)((ty-1)-d[i+2])*(rand()/(RAND_MAX+1.0)))+d[i+2]; //選(m'+2,319)之間數(shù)}for(i=0;i<ty;i++) //將指令序列變換成頁地址流page[i]=d[i]/10;printf("PAGE\tFIFO\tLRU\t\n");for(i=4;i<=32;i++)//內(nèi)存從4頁到32頁{printf("%2d\t",i);FIFO(i);LRU(i);printf("\n");}}程序運行結(jié)果:【思考題】⒈在內(nèi)存頁面較少(4~5個)的情況時,各種頁面置換算法的命中率有何差別?FIFO算法和LRU算法命中率都在55%左右,相差不大。⒉在內(nèi)存頁面為7~12個頁面時,各種頁面置換算法的命中率有何差異?FIFO算法命中率在59%-67%,LRU算法命中率在60%-70%之間,相對來說,最近最久未使用算法效率更好一些。⒊在內(nèi)存頁面為25~32個頁面時,各種頁面置換算法的命中率有何差異?兩種算法命中率都在80%-90%之間,當(dāng)內(nèi)存中中頁面數(shù)逐漸增加時,訪問的都已裝入內(nèi)存,從而命中率都較大。實驗四文件系統(tǒng)【實驗?zāi)康呐c要求】1、熟悉Linux文件系統(tǒng)的文件和目錄結(jié)構(gòu),掌握Linux文件系統(tǒng)的基本特征。2、掌握命令行方式下文件操作命令和程序中文件操作函數(shù)的使用方法。3.、掌握Linux文件系統(tǒng)的加載和卸載方法。 【實驗主要儀器與材料】1、帶Linux操作系統(tǒng)的PC機2、GCC編譯器【實驗內(nèi)容】1.熟悉Linux下的文件操作命令,如查看文件系統(tǒng)的分區(qū)和設(shè)備文件、查看文件系統(tǒng)目錄結(jié)構(gòu)、創(chuàng)建文件夾、復(fù)制文件、更改文件權(quán)限等,觀察Linux文件系統(tǒng)的特點。2.對比實驗一的文件拷貝代碼,利用不同的文件操作函數(shù)實現(xiàn)文件的輸出和拷貝。3.實現(xiàn)對光盤的加載和訪問,然后卸載設(shè)備。4.加載Windows文件系統(tǒng),實現(xiàn)對Windows數(shù)據(jù)的訪問和共享?!緦嶒灢襟E及實驗結(jié)果分析】實驗內(nèi)容:1.df:查看文件系統(tǒng)的狀態(tài)信息,顯示各分區(qū)容量、硬盤占用空間、目前剩余空間及掛載點等信息du:統(tǒng)計目錄或文件所占磁盤空間的大小mkdir:創(chuàng)建文件夾cp:復(fù)制文件chmod:更改文件權(quán)限2.(1)#include<unistd.h>#include<stdio.h>#include<stdlib.h>intmain(){ FILE*fp; charch; charfname[30]; printf("Pleaseinputthefilename:"); scanf("%s",&fname); fp=fopen(fname,"r"); if(fp==NULL) { printf("Can’topenthefile!\n"); exit(0); } while((ch=getc(fp))!=EOF) {putchar(ch);} fclose(fp); return0;}(2)#include<unistd>#include<stdio.h>intmain(){ FILE*fp=NULL; FILE*fq=NULL; charch; fq=fopen("/root/c_code/test/t.c","a"); fp=fopen("/etc/passwd","r") //打開文件 while((ch=fgetc(fp))!=EOF) {fputc(ch,fq);} fclose(fp); fclose(fq); fp=NULL; fq=NULL; return0;}3.(1)新建一個目錄mkdir/mnt/cdrom(2)加載光盤mount/dev/cdrom/mnt/cdrom(3)卸載光盤umount/mnt/cdrom(4)彈出光盤、關(guān)閉光驅(qū)eject4.加載windows文件系統(tǒng)手動加載方式:(1)root用戶登錄Linux(2)新建windows分區(qū)掛接目錄mkd
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 昆明城市學(xué)院《模擬電路設(shè)計含實驗雙語》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇聯(lián)合職業(yè)技術(shù)學(xué)院《小學(xué)數(shù)學(xué)教學(xué)設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林工程技術(shù)師范學(xué)院《海洋油氣工程綜合課程設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南農(nóng)業(yè)大學(xué)東方科技學(xué)院《人工智能原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《滑輪》(教學(xué)設(shè)計)-2024-2025學(xué)年人教版(2024)初中物理八年級下冊
- 重慶文理學(xué)院《西方文論專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州財稅金融職業(yè)學(xué)院《數(shù)字出版物創(chuàng)作實訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《MySQL數(shù)據(jù)庫應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 董事會議事規(guī)則
- 浙江安防職業(yè)技術(shù)學(xué)院《嬰幼兒語言發(fā)展與教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 《國有控股上市公司高管薪酬的管控研究》
- 餐飲業(yè)環(huán)境保護管理方案
- 食品安全分享
- 礦山機械設(shè)備安全管理制度
- 計算機等級考試二級WPS Office高級應(yīng)用與設(shè)計試題及答案指導(dǎo)(2025年)
- 造價框架協(xié)議合同范例
- 糖尿病肢端壞疽
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀課件
- 小學(xué)六年級數(shù)學(xué)100道題解分數(shù)方程
- YY 0838-2021 微波熱凝設(shè)備
- 病原細菌的分離培養(yǎng)
評論
0/150
提交評論