




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課 程 報(bào) 告課程設(shè)計(jì)名稱: 計(jì)算機(jī)操作系統(tǒng) 專 業(yè) 班 級 : 學(xué) 生 姓 名 : 學(xué) 號 : 指 導(dǎo) 教 師 : 課程設(shè)計(jì)時(shí)間:2011.6.15-2011.6.25 計(jì)算機(jī)科學(xué) 專業(yè)課程設(shè)計(jì)任務(wù)書學(xué)生姓名專業(yè)班級學(xué)號題 目編程演示三種存儲管理方式的地址換算過程:課題性質(zhì)其它課題來源自擬課題指導(dǎo)教師同組姓名主要內(nèi)容1、分頁方式的地址換算2、分段方式的地址換算3、段頁式的地址換算任務(wù)要求 要求演示正確、清晰,編程所用工具不限。參考文獻(xiàn)任滿杰等操作系統(tǒng)原理實(shí)用教程 電子工業(yè)出版社 2006湯子瀛 計(jì)算機(jī)操作系統(tǒng)(修訂版)西安電子科技大學(xué)出版社 2001張堯?qū)W 史美林計(jì)算機(jī)操作系統(tǒng)教程實(shí)驗(yàn)指導(dǎo)
2、清華大學(xué)出版社 2000 羅宇等 操作系統(tǒng)課程設(shè)計(jì)機(jī)械工業(yè)出版社 2005審查意見指導(dǎo)教師簽字:教研室主任簽字: 年 月 日 說明:本表由指導(dǎo)教師填寫,由教研室主任審核后下達(dá)給選題學(xué)生,裝訂在設(shè)計(jì)(論文)首頁1 需求分析編程演示三種存儲管理方式的地址換算過程【基本要求】(1)分頁方式地址算法。(2)分段方式地址算法。(3)段頁式地址算法。2 概要設(shè)計(jì)一、程序模塊1、 主函數(shù) main()。2、分頁方式地址算法PageAddress(int pa,int pl)。3、分段方式地址算法SegmentAddress(int sn,int sd)。4、段頁式地址算法SegPag(int sn,int
3、pn,int pd)。二、程序總框架 程序框架如圖一:主函數(shù)結(jié)束運(yùn)行段頁式地址算法分段方式地址算法分頁方式地址算法 圖一:程序框架3 運(yùn)行環(huán)境Windows XP sp3;4 開發(fā)工具和編程語言Microsoft Visual C+ 6.0 ,c語言。5 詳細(xì)設(shè)計(jì)1, 定義結(jié)構(gòu)體 typedef struct segtable /段式結(jié)構(gòu)體 int segf256;/段首地址 int segl256;/段長segtable;struct segtable st;typedef struct segpag /段頁式結(jié)構(gòu)體 int segf256;/段首地址 int segl256;/段長 int
4、 ptl256;/頁表長度 int bn256;/塊號 int pf256;/頁表首地址 int pl;/頁面長度segpagt;struct segpag sp;2, void PageAddress(int pa,int pl)/分頁式地址算法 該方法中pa表示要查找的邏輯地址,pl表示頁面大小。頁號p=pa/pl,頁內(nèi)地址d=pa%pl。先比較頁號和頁表長度大小,如果頁號大于頁表長度,越界中斷。否者繼續(xù)通過計(jì)算得到物理地址Mac=塊號*頁面大小+頁內(nèi)地址。 具體代碼如下: void PageAddress(int pa,int pl)/分頁式地址算法 int d,p,i; int Mac
5、;/物理地址 int Bn256;/塊號 for(i=0;ipl) printf(頁號大于頁表長度,越界中斷!n); else printf(頁號=邏輯地址/頁面大小=%dn頁內(nèi)地址=邏輯地址%頁面大小=%dn,p,d); printf(根據(jù)頁號%d得到塊號%dn,p,Bnp); Mac=Bnp*pl+d; printf(物理地址=塊號%d*頁面大小%d+頁內(nèi)地址%dn,Bnp,pl,d); printf(邏輯地址%d換算后的物理地址為%dnn,pa,Mac); 3,void SegmentAddress(int sn,int sd)/分段式地址算法該方法中sn表示段號、sd表示段內(nèi)偏移地址。
6、假定短表長度為256,首先比較段號與段表的大小,若大于則越界中斷。然后比較段內(nèi)地址與段長度,若大于,越界中斷。否則根據(jù)段號找到首地址,然后計(jì)算物理地址Mac=段首地址+段內(nèi)地址。具體代碼如下:void SegmentAddress(int sn,int sd)/分段式地址算法int i;int Mac;/物理地址for(i=0;i=256)printf(段號%d大于等于段表長度256,越界中斷n,sn);else if(sdst.seglsn)printf(段內(nèi)地址%d大于段長度%d,越界中斷n,sd,st.seglsn);elseprintf(根據(jù)段號找到段首地址%dn,st.segfsn)
7、;printf(物理地址=段首地址%d+段內(nèi)地址%dn,st.segfsn,sd);Mac=st.segfsn+sd;printf(換算得到的物理地址為:%dn,Mac);4,void SegPag(int sn,int pn,int pd)/段頁式地址算法 該方法中sn代表段號,pn代表頁號,pd頁內(nèi)地址。設(shè)定段表長度為256,頁面大小為256。比較段號與段表長度大小,若大于則越界中斷。若小于繼續(xù)下一步,比較頁號與頁表長度大小,若大于則越界中斷。若小于繼續(xù)下一步,比較頁內(nèi)地址和頁面大小,若大于同樣越界中斷。否則繼續(xù)下一步的計(jì)算,通過段號找到頁表首地址,然后找到塊號。最后計(jì)算物理地址=頁表首地
8、址+塊號*頁面長度+頁內(nèi)地址(Mac=sp.pfsn+sp.bnpn*sp.pl+pd)。具體代碼如下:void SegPag(int sn,int pn,int pd)/段頁式地址算法int i,Mac;sp.pl=256;for(i=0;i256)printf(段號%d大于段表長度256,越界中斷n,sn);else if(pnsp.ptlpn)printf(頁號%d大于頁表長度%d,越界中斷n,pn,sp.ptlpn);else if(pdsp.pl)printf(頁內(nèi)地址%d大于頁面長度%d,中斷n,pd,sp.pl);elseprintf(通過段號%d找到頁表首地址%d找到塊號%dn
9、,sn,sp.pfsn,sp.bnpn);printf(物理地址=頁表首地址%d+塊號%d*頁面長度%d+頁內(nèi)地址%dn,sp.pfsn,sp.bnpn,sp.pl,pd); Mac=sp.pfsn+sp.bnpn*sp.pl+pd;printf(物理地址:%dn,Mac); 5,void main() 該main方法中顯示菜單、做選擇要使用的方法實(shí)現(xiàn)地質(zhì)換算。用sel做出選擇,并用switch(sel)實(shí)現(xiàn)選擇的目的。具體代碼如下:void main()int sel;int pl,pa,sn,sd,pd,pn;while(1)printf(三種存儲管理方式的地址換算過程nn);printf
10、( 1.分頁方式地址換算t);printf( 2.分段方式地址換算nn);printf( 3.短頁式地址換算t);printf( 0.結(jié)束運(yùn)行nn);printf(nn);printf(請輸入你的選擇:);scanf(%d,&sel);if(sel=0)printf(謝謝使用!);break;switch(sel)case 1:system(cls);printf(請輸入換算邏輯地址:n);scanf(%d,&pa);printf(頁面大?。簄);scanf(%d,&pl);PageAddress(pa,pl);break;case 2:system(cls);printf(設(shè)定段表長度為25
11、6n);printf(請輸入邏輯地址的段號:n);scanf(%d,&sn);printf(段內(nèi)地址:n);scanf(%d,&sd);SegmentAddress(sn,sd);break;case 3:system(cls);printf(預(yù)設(shè)定段表長為256,頁面大小為256n);printf(請輸入邏輯地址的段號:n);scanf(%d,&sn);printf(頁號:n);scanf(%d,&pn);printf(頁內(nèi)地址:n);scanf(%d,&pd);SegPag(sn,pn,pd);break;default:system(cls);printf(n);printf(n);pr
12、intf(錯(cuò)誤提示:輸入有錯(cuò),重新輸入!);printf(n);6 調(diào)試分析通過調(diào)試發(fā)現(xiàn)了比較多的問題,輸出%的問題即printf(頁號=邏輯地址/頁面大小=%dn頁內(nèi)地址=邏輯地址%頁面大小=%dn,p,d)需要用兩個(gè)百分號,才能顯示出來,一個(gè)百分號還不顯示。一步一個(gè)腳印,循循漸進(jìn),慢慢磨,最終就會(huì)成功,每一次出錯(cuò)是一次改良的機(jī)會(huì),通過過一個(gè)個(gè)錯(cuò)誤的改正,才能做出比較完整的程序,甚至完美的程序。7測試結(jié)果 (1)運(yùn)行程序出現(xiàn)界面如下圖二: 圖二:開始選擇界面 (2)選擇1,提示輸入需換算的邏輯地址,以及頁面大小。輸入完成后的結(jié)果如圖三:圖三:分頁方式換算過程及結(jié)果 (3)選則2,進(jìn)入分段方式
13、地址換算,提示輸入邏輯段號,以及頁內(nèi)地址,輸入完成后,可得到物理地址。運(yùn)行結(jié)果如圖四:圖四:分段方式換算過程及結(jié)果(4)選擇3,進(jìn)入段頁式地址轉(zhuǎn)換,提示輸入段號,頁號,頁內(nèi)地址。然后即可得到物理地址。運(yùn)行結(jié)果如圖五:圖五:段頁式換算過程及結(jié)果(5)選擇0,結(jié)束運(yùn)行。運(yùn)行結(jié)果如圖六:圖六:結(jié)束運(yùn)行結(jié)果(6)如果選擇出錯(cuò)。運(yùn)行結(jié)果如圖七:圖七:選擇其他運(yùn)行結(jié)果8 參考文獻(xiàn) 1 譚浩強(qiáng) C程序設(shè)計(jì)(第三版)清華大學(xué)出版社 2003 。2任滿杰等 操作系統(tǒng)原理實(shí)用教程 電子工業(yè)出版社 2006 。3湯子瀛 計(jì)算機(jī)操作系統(tǒng)(修訂版)西安電子科技大學(xué)出版社 2001 。4張堯?qū)W 史美林計(jì)算機(jī)操作系統(tǒng)教程實(shí)驗(yàn)指導(dǎo) 清華大學(xué)出版社 2000 。5羅宇等 操作系統(tǒng)課程設(shè)計(jì)機(jī)械工業(yè)出版社 2005。課程設(shè)計(jì)總結(jié)通過這次課程設(shè)計(jì),讓我充分了解三種存儲管理方式的地址換算算法。剛開始的時(shí)候,看了半天的操作系統(tǒng)書,才弄懂三種算法。通過對框架的設(shè)計(jì),到具體實(shí)現(xiàn)是比較麻煩的過程,開始想完全后,寫在草紙上,然后一口氣敲完代碼,一大堆錯(cuò)誤,最后,還是一步一步來實(shí)現(xiàn),循循漸進(jìn),最終完成。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級財(cái)務(wù)會(huì)計(jì)知到課后答案智慧樹章節(jié)測試答案2025年春北方工業(yè)大學(xué)
- 張家口學(xué)院《醫(yī)學(xué)遺傳學(xué)研究進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西生態(tài)工程職業(yè)技術(shù)學(xué)院《普通生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州城市學(xué)院《樂理與視唱》2023-2024學(xué)年第一學(xué)期期末試卷
- 柳州城市職業(yè)學(xué)院《大學(xué)英語Ⅰ(5)》2023-2024學(xué)年第一學(xué)期期末試卷
- 河北2025年五下數(shù)學(xué)期末學(xué)業(yè)水平測試模擬試題含答案
- 昌吉職業(yè)技術(shù)學(xué)院《英語高級閱讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津財(cái)經(jīng)大學(xué)《廚房管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 長江師范學(xué)院《土木工程材料(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 公共交通停車場管理制度
- 2025年中考語文專題復(fù)習(xí):寫作技巧 課件
- (2024)云南省公務(wù)員考試《行測》真題及答案解析
- 60歲以上務(wù)工免責(zé)協(xié)議書
- 靶向治療患者的護(hù)理常規(guī)
- 二年級心理健康教育課:你的感受我知道
- 2024年社區(qū)工作者考試必考1000題【歷年真題】
- 信息化戰(zhàn)爭課件
- 媒介文化十二講課件
- 人工智能時(shí)代弘揚(yáng)教育家精神的價(jià)值意蘊(yùn)與實(shí)踐路徑
- 糖尿病高血壓健康教育
- 校園活動(dòng)作文課件
評論
0/150
提交評論