




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 課 程 設(shè) 計 課程名稱 操作系統(tǒng) 學 院 計算機學院 專 業(yè) 年級班別 學 號 學生姓名 指導教師 2013 年 1 月 7 日 操作系統(tǒng) 課程設(shè)計任務(wù)書學生姓名陳泳鑫專業(yè)班級學號題 目編程演示三種存儲管理方式的地址換算過程指導教師林穗題目編號2012秋-14主要內(nèi)容1、分頁方式的地址換算2、分段方式的地址換算3、段頁式的地址換算任務(wù)要求要求演示正確、清晰,編程所用工具不限。參考文獻1 計算機操作系統(tǒng), 湯小丹等 ,西安電子科技大學出版社2 操作系統(tǒng)實驗指導書,傅秀芬,廣東工業(yè)大學(自編)3 計算機操作系統(tǒng)教程 ( 第二版 ), 張堯?qū)W、 史美林,清華大學出版社4 現(xiàn)代操作系統(tǒng),a.s.t
2、anenbaum 著,陳向群等譯機械工業(yè)出版社審查意見指導教師簽字:系主任簽字: 年 月 日 1、 設(shè)計思想說明 1.1 設(shè)計環(huán)境 在實現(xiàn)地址轉(zhuǎn)換的程序?qū)崿F(xiàn)時,運用了c+6.0來實現(xiàn),因為對c語言程序的編寫稍微熟悉點,可以很好的編寫及調(diào)試。程序很容易看懂,輸入條件在后邊備注。1.2 設(shè)計思想編程演示三種存儲管理方式的地址換算過程,分別為分頁方式的地址換算,分段方式的地址換算,段頁式的地址換算。分頁方式通過邏輯地址算出頁號與葉內(nèi)地址,然后通過頁表來實現(xiàn)向物理地址的轉(zhuǎn)換。分段方式通過段號和段內(nèi)地址得到物理地址。段葉式通過段號得到頁表首地址,通過頁號得到塊號,進而得到物理地址。2、系統(tǒng)結(jié)構(gòu)程序主要有
3、三個功能,分別是分頁方式的地址換算,分段方式的地址換算,段頁式的地址換算。switch函數(shù)包含3個case語句,分別用page,segment,segpagt完成分頁方式的地址換算,分段方式的地址換算,段頁式的地址換算。3、數(shù)據(jù)結(jié)構(gòu)的說明typedef struct segtableint segf256;int segl256;segtable;struct segtable st;typedef struct segpagtint segf256;int segl256;int ptl256;int pt256;int pf256;int pl;segpagt;struct segpagt
4、 sp; 4、算法流程圖分頁式:分段式:段頁式:5、 主要函數(shù)列表函數(shù)原型功能入口、出口參數(shù)說明void main()輸入、輸出int 整形變量6、測試與分析分頁式地址換算結(jié)果:分頁式地址越界中斷:分段式地址轉(zhuǎn)換結(jié)果:分段式地址段號越界中斷:分段式地址段內(nèi)越界中斷:段頁式地址轉(zhuǎn)換結(jié)果:段頁式地址轉(zhuǎn)換段號越界中斷:段頁式地址轉(zhuǎn)換頁號越界中斷:段頁式地址轉(zhuǎn)換段內(nèi)地址越界中斷:結(jié)束:7、 用戶使用說明根據(jù)提示輸入1-4,然后有相應(yīng)的提示說明,分別輸入,錯誤的時候有提示,正確的輸入會輸出相應(yīng)的正確的結(jié)果。附錄:#include #include int page(int a,int l );int s
5、egment(int sn,int sl);int segpagt(int sn,int pn,int pd);typedef struct segtableint segf256;int segl256;segtable;struct segtable st;typedef struct segpagtint segf256;int segl256;int ptl256;int pt256;int pf256;int pl;segpagt;struct segpagt sp; int main()int code; int pl,pa,sn,sd,pd,pn,pc; /const int p
6、tl ; int temp; do printf(-地址換算過程-nn); printf(*本程序由陳泳鑫設(shè)計-2013年1月3號*n); printf( 1.分頁式地址換算n); printf( 2.分段式地址換算n); printf( 3.段頁式地址換算n); printf( 4.結(jié)束運行nn); printf(-n); printf(請輸入1-4:); scanf(%d,&temp); switch(temp) case 1: printf(預設(shè)頁表長度為256n); page(pl,pa); break; case 2: int pl,pa; printf(預設(shè)段表長度為256n);
7、printf(請輸入您的邏輯地址段號:); scanf(%d,&pl); printf(請輸入您的頁內(nèi)地址:); scanf(%d,&pa); if(pl256) printf(段號%d大于段表長度256,越界中斷n,pl); else if(pa256) printf(段內(nèi)地址%d大于段長度256,越界中斷n,pa); else segment(pl,pa); break; case 3: printf(預設(shè)段表長度為256,頁面大小為256n); printf(請輸入您的邏輯地址段號:); scanf(%d,&pl); printf(請輸入您的頁號:); scanf(%d,&pa); pr
8、intf(請輸入您的頁內(nèi)地址:); scanf(%d,&pc); if(pl256) printf(段號%d大于段表長度256,越界中斷n,pl); else if(pa256) printf(頁號長度%d大于頁表長度256,越界中斷n,pa); else if(pc256) printf(頁內(nèi)地址%d大于頁面長度256,越界中斷n,pc);else segpagt(pl,pa,pc); break; while(temp != 4);return 0;/分頁式地址換算部分: int page(int a,int l) int pl,pa;printf(請輸入您的邏輯地址:);scanf(%d
9、,&pl); printf(請輸入您的頁面大?。?;scanf(%d,&pa);if(pl256)printf(頁號%d大于頁表長度256,越界中斷n,pl);else int d,p,kd,i; int wd; int pt256; for(i=0;i=256) printf(頁號大于頁表長度,越界中斷nn);/如果頁號大于頁表長度,輸出越界中段 else printf(頁號=邏輯地址/頁面大小=%d,頁內(nèi)地址=邏輯地址頁面大小=%dn,p,d);/輸出頁號和頁內(nèi)地址 kd=ptp;/根據(jù)頁號隨機產(chǎn)生快號 printf(根據(jù)頁號%d得到塊號%dn,p,kd); wd=kd*l+d;/計算物理
10、地址的公式 printf(物理地址=塊號*頁面大小+頁內(nèi)地址n); printf(物理地址=%d*%d+%dn,kd,l,d);/輸出物理地址=塊號*頁面大小+頁內(nèi)地址 printf(邏輯地址%d換算后的物理地址=%dnn,a,wd);/輸出物理地址的結(jié)果 return (0); /分段式地址換算部分: int segment(int sn,int sd) int i,wd; for(i=0;i256) printf(段號%d大于段表長度256,越界中斷nn,sn);/如果段號大于段表長度,輸出越界中斷 else if(sdst.seglsn) printf(段內(nèi)地址%d大于段長度%d,越界中
11、斷nn,sd,st.seglsn);/如果段內(nèi)地址大于段長度,輸出越界中斷 else printf(根據(jù)段號找到段首地址%dn,st.segfsn); printf(物理地址=段首地址+段內(nèi)地址n); printf(物理地址=%d+%dn,st.segfsn,sd); /輸出物理地址=段首地址+段內(nèi)地址 wd=st.segfsn+sd;/計算物理地址的算法 printf(換算得到的物理地址=%dnn,wd);/輸出物理地址 return (0); /段頁式地址換算部分:int segpagt(int sn,int pn,int pd)int i,wd;sp.pl=256;for(i=0;i=256) printf(段號%d大于段表長度256,越界中斷nn,sn);/如果段號大于段表長度256,輸出越界中斷else if(pn=256) printf(頁號%d大于頁表長度256,越界中斷nn,pn);/如果頁號大于頁表長度,輸出越界中斷 else if(pdsp.pl) printf(頁內(nèi)地址%d大于頁面長度%d,中斷nn,pd,sp.pl);/如果頁內(nèi)地址大于頁面長度,輸出中斷 else printf(通過段號%d找到頁表首地址%dn通過頁號%d找到塊號%dn,sn,sp.pfsn,pn,sp.ptpn);/輸出頁表首地址和塊號 printf(物理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙出資開店經(jīng)營合同范本
- 厚街工廠蔬菜配送合同范本
- 展會廣告服務(wù)合同范本
- 木材粉碎合同范本
- 鄉(xiāng)級學校保安合同范本
- 2025年靜止無功發(fā)生器項目建議書
- 衛(wèi)浴拆裝服務(wù)合同范本
- 加盟酒店品牌合同范本
- 原木板材加工合同范本
- 生鮮業(yè)務(wù)采購合同范本
- 2023年第九屆中國國際互聯(lián)網(wǎng)+大學生創(chuàng)新創(chuàng)業(yè)大賽解讀
- 直播電商可行性分析
- 建筑工程施工安全管理網(wǎng)絡(luò)圖
- 電子商務(wù)法律法規(guī)高職PPT完整全套教學課件
- 人教版四年級數(shù)學下冊教材分析精講課件
- 《龍族設(shè)定全解析》
- 產(chǎn)品手繪設(shè)計表現(xiàn)技法PPT完整全套教學課件
- GA/T 1988-2022移動警務(wù)即時通信系統(tǒng)功能及互聯(lián)互通技術(shù)要求
- 農(nóng)業(yè)政策學PPT完整全套教學課件
- 國家電網(wǎng)招聘之其他工學類復習資料大全
- 天山天池景區(qū)介紹-天山天池景點PPT(經(jīng)典版)
評論
0/150
提交評論