版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持石家莊經(jīng)濟(jì)學(xué)院華信學(xué)院操作系統(tǒng)課程設(shè)計報告(學(xué)院)系:華信學(xué)院專業(yè):計算機(jī)科學(xué)與技術(shù)姓 名:班 級:09級3班學(xué)號:032指導(dǎo)教師:孟永剛2012年6月22日操作系統(tǒng)課程設(shè)計才跆姓名/|7三學(xué)號0324日期2012 年 6 月 11-21號實驗室機(jī)房2、3指導(dǎo)教師孟永剛設(shè)備編號,計題目虛擬存儲器一、設(shè)計內(nèi)容模擬分頁式虛擬存儲管理中硬件的地址轉(zhuǎn)換和缺頁中斷,以及選擇頁面調(diào)度算法處理缺頁中斷。2文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯卜、設(shè)計目的在計算機(jī)系統(tǒng)中,為了提高主存利用率,往往把輔助存儲器(如磁盤)作為主存儲器的擴(kuò)充,使多道
2、運(yùn)行的作業(yè)的全部邏輯地址空間總和可以超出主存的絕對地址空間。用這種辦法擴(kuò)充的主存儲器卜為虛擬存儲器。通過本實習(xí)幫助同學(xué)們理解在分頁式存儲管理中怎樣實現(xiàn)虛擬存儲器。文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持廠、設(shè)計過程、同組人員:陳秀張德蛟1 .數(shù)據(jù)結(jié)構(gòu)設(shè)計本設(shè)計所用的數(shù)據(jù)結(jié)構(gòu)包括:結(jié)構(gòu)體和數(shù)組,詳細(xì)描述如下:指令結(jié)構(gòu)體如下typedef structint page_num;/ 頁號int unit_num;/ 單元號order;頁表結(jié)構(gòu)體如下typedef structint page_num;/ 頁號int flag;/ 標(biāo)志int memery_num;/ 主存儲塊號i
3、nt m_flag;/修改標(biāo)志char location4;/在磁盤上的位置pageform;作業(yè)頁表數(shù)組如下#define C 7pageform aC;主存頁表數(shù)組如下#define C1 4pageform pC1;2 .算法設(shè)計1)該源程序分為以下幾個模塊:(1)主存初始化模塊(2)頁表初始化模塊(3)打印初始化后的頁表信息模塊(4)地址轉(zhuǎn)換和產(chǎn)生缺頁中斷模塊(5)先進(jìn)先出(FIFO)頁面調(diào)度算法處理缺頁中斷模塊2)對各模塊進(jìn)行詳細(xì)說明:(1)主存初始化模塊函數(shù):memunit_init()入口參數(shù):無出口參數(shù):無功能描述:調(diào)入4個頁面對4個空閑主存進(jìn)行頁面初始化,調(diào)入頁面包括 a0,
4、a1,a2,a3; 空閑主存包括 p0,p1,p2,p3。流程圖如圖1所示:/V 圖1j存初始化模出(2)頁表初始化模塊廠 匚函數(shù):page_init()初始化內(nèi)存各頁表項3文檔來源第束從網(wǎng)絡(luò)收坐整理.word版本可編輯文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持入口參數(shù):無出口參數(shù):無功能描述:對作業(yè)頁表表項初始化,包括對頁面 初始化。流程圖如下:a0,a1,a2,a3,a4,a5,a6 的打印頁表信息開始圖2函數(shù):pageform_print()始化作業(yè)各頁表項入口參數(shù):無出口參數(shù):無結(jié)束功能描述:打印初始化后的作業(yè)頁表表項,對作業(yè)頁表表項初始化,包括對頁面a0,a1,a2
5、,a3,;a4,a5,a6 各頁表項。流程圖如圖3所示: a4,a5,a6 的初始化;然后打印 a0,a1,a2,a3開始初始化作業(yè)各頁表項打印作業(yè)表各表項圖3打縉束表信息模塊(4)地址轉(zhuǎn)換和產(chǎn)生缺頁中斷模H函數(shù):ordeC()入口參數(shù):無出口參數(shù):無功能描述:根據(jù)取出的指令的頁號查找頁表,如果該頁的標(biāo)志位否則發(fā)生缺頁中斷打印 *頁號。流程圖如圖4所示:=1就輸出該頁的絕對地址,開始WSE 產(chǎn)4,頁中斷模塊(5)先進(jìn)先出(FIFO)頁值調(diào)腹箍函數(shù):order2()入口參數(shù):無一出口函數(shù):無查頁表功能描述:根據(jù)取出的指令的頁號查找東表,在該頁的標(biāo)志位 就置該頁的修改標(biāo)志位=1并且計算和輸出該頁的
6、絕對地址,=1的前提下,如果是存命令,如果不是存命令,就只計算和輸 旦 一.丕一.出該頁的絕對地址;荏該頁的標(biāo)志位=0的前提下,則模抵 FIFO算法,k初始化為0把pk的各個表項分別賦值給j的各個表項,判斷j頁的修改標(biāo)志是否為1 ,如果為1就輸IN cmd.page_num,否則只輸出IN cmd.page_num行把 cmd.page_num令所引起的有關(guān)的賦值給 pk.page_num ,再執(zhí)行 k:=(k+1)mod m ,然后 4頁眄各種表/最后輸出|所有作業(yè)頁面的最新表項。 輸出絕對地址4文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯取下一條指令文檔來源為:從網(wǎng)絡(luò)收集整理.word版
7、本可編輯.歡迎下載支持圖5先進(jìn)先出(FIFO)頁面調(diào)度算法處理缺頁中斷模塊 k程序運(yùn)行結(jié)果源程序代碼鏈接:虛擬存儲器.cpp1 .執(zhí)行程序后初始化的窗口截屏如圖6:圖6初始化的窗口2 .輸入1后的窗口截屏如圖7所示:圖7輸入1后的窗口3 .輸入的頁號為0,輸入的單元號為70,輸入有后繼指令,結(jié)果截屏如圖8所示:圖8輸入已在主存中的作業(yè)4 .輸入的頁號為4,輸入的單元號為 53,輸入無后繼指令,結(jié)果截屏如圖9所示:圖9輸入未在主存中的作業(yè)5. 輸入2后的初始窗口截屏如圖 10所示:圖10輸入題目2的初始化窗口11所示:6.輸入的頁號為0,輸入的單元號為 70,輸入存指令,輸入無后繼指令,結(jié)果截屏
8、如圖圖11輸入新指令15文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯7 .輸入的頁號為4,輸入的單元號為 53,輸入存指令,輸入有后繼指令,結(jié)果截屏如圖12所示:圖12輸入新指令8 .輸入的頁號=5,輸入的單元號=23,輸入非存指令,輸入無后繼指令,結(jié)果截屏如圖13所示:圖13輸入新指令“、設(shè)計總結(jié)此次試驗,全部程序及全部模塊均參與研究,現(xiàn)在均已熟悉,對各個模塊都詳細(xì)的說明了它們的功能等等,兩周的課程設(shè)計結(jié)束了, 在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,并且更正了我的一,誤區(qū),讓我對所學(xué)的知識有了更深刻的認(rèn)識。指導(dǎo)教師評語及成績評語:成績:年 月 日源代碼#include<iost
9、ream.h>#include<string.h>#define C 7#define C1 4 typedef structint page_num;/ 頁號int flag;/ 標(biāo)志int memery_num;/ 主存儲塊號int m_flag;修改標(biāo)志char location4;/在磁盤上的位置 pageform;pageform aC;pageform pC1;nt k=0;nt i=0;nt select;pageform j;nt n;是否有后繼指令nt x;typedef struct int page_num;/ 頁號int unit_num;/ 單元號
10、order;void memunit_init() p0.page_num=0;p0.flag=1;p0.memery_num=5;p0.m_flag=0;strcpy(p0.location,"011");p1.page_num=1;p1.flag=0;p1.memery_num=8;p1.m_flag=0;strcpy(p1.location,"012");p2.page_num=2;p2.flag=1;p2.memery_num=9;a2.m_flag=0;strcpy(p2.location,"013");p3.page_nu
11、m=3;p3.flag=1;p3.memery_num=1;p3.m_flag=0;strcpy(p3.location,"021");void page_init()a0.page_num=0;a0.flag=1;a0.memery_num=5;a0.m_flag=0;strcpy(a0.location,"011");a1.page_num=1;a1.flag=1;a1.memery_num=8;a1.m_flag=0;strcpy(a1.location,"012");a2.page_num=2;a2.flag=1;a2.mem
12、ery_num=9;a2.m_flag=0;strcpy(a2.location,"013");a3.page_num=3;a3.flag=1;a3.memery_num=1;a3.m_flag=0;strcpy(a3.location,"021");a4.page_num=4;a4.flag=0;a4.m_flag=0;strcpy(a4.location,"022");a5.page_num=5;a5.flag=0;a5.m_flag=0;strcpy(a5.location,"023");a6.page_nu
13、m=6;a6.flag=0;a6.m_flag=0;strcpy(a6.location,"121");void recycle。cout<<"頁號 "<<"標(biāo)志for(int i=0;i<C;i+)("<<"主存塊號"<<"修改標(biāo)志"<<"磁盤位置"<<endl;if(ai.flag=1)(cout<<ai.page_num<<" "<<ai
14、.flag<<" "<<ai.memery_num<<""<<ai.m_flag<<""<<ai.location<<endl;)elsecout<<ai.page_num<<" "<<ai.flag<<""<<""<<ai.m_flag<<'<<ai.location<<end
15、l; ) 1 void pageform_print() page_init(); cout<<"當(dāng)前內(nèi)存頁表如下:"<<endl;recycle();1void order1()page_init();order cmd;cout<<"請輸入新的指令:"<<endl;cout<<"請輸入新指令的頁號:"<<endl;cin>>cmd.page_num;if(cmd.page_num>6|cmd.page_num<0) do(cout<
16、;<"請重新輸入正確頁號 (0-6):"<<endl;cin>>cmd.page_num;)while(cmd.page_num>6|cmd.page_num<0);)cout<<"請輸入新指令的單元號:"<<endl;cin>>cmd.unit_num;cout<<”是否有后繼指令(0/1):"<<endl;cin>>n;if(acmd.page_num.flag=1)x=128*acmd.page_num.memery_num+
17、cmd.unit_num;cout<<"絕對地址為:"<<x<<endl;) else cout<<"* "<<cmd.page_num<<endl;)void order2()memunit_init();char r;order cmd;cout<<"請輸入新的指令:"<<endl;cout<<"請輸入新指令的頁號:"<<endl;cin>>cmd.page_num;if(cmd.
18、page_num>6|cmd.page_num<0)(do(cout<<"請重新輸入正確頁號 (0-6):"<<endl;cin>>cmd.page_num;)while(cmd.page_num>6|cmd.page_num<0);)cout<<”請輸入新指令的單元號:";cin>>cmd.unit_num;cout<<"是否存指令(y/n):"<<endl;cin>>r;cout<<”是否有后繼指令(0/1):
19、"<<endl;cin>>n;if(acmd.page_num.flag=1)(x=128*acmd.page_num.memery_num+cmd.unit_num; if(r='y')(acmd.page_num.m_flag=1;)else()cout<<"絕對地址為:"<<x<<endl;)else(j.flag=pk.flag;j.m_flag=pk.m_flag;j.memery_num=pk.memery_num;j.page_num=pk.page_num;strcpy(j.location,pk.location);if(j.m_flag=1)(
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪購房合同
- 調(diào)味醬購銷合同范本
- 西班牙語翻譯服務(wù)合同協(xié)議書
- 臨時帳篷購銷合同
- 煤油銷售合同
- 企業(yè)白酒采購合同
- 補(bǔ)充合同的書寫格式
- 兒童奶粉購銷合同樣本
- 土地居間協(xié)調(diào)合同范本
- 紡織品文化創(chuàng)意合同
- 傷寒論選讀智慧樹知到期末考試答案章節(jié)答案2024年云南中醫(yī)藥大學(xué)
- 深基坑鋼板樁支護(hù)技術(shù)規(guī)程DBJ-T 15-214-2021
- 中國歷史文化知識競賽100題帶答案(完整版)
- 文史哲與藝術(shù)中的數(shù)學(xué)智慧樹知到期末考試答案章節(jié)答案2024年吉林師范大學(xué)
- 6.2 東北地區(qū)的人口與城市分布(課件) 八年級地理 (湘教版)
- 信息光學(xué)智慧樹知到期末考試答案章節(jié)答案2024年北京工業(yè)大學(xué)
- 電大財務(wù)大數(shù)據(jù)分析編程作業(yè)3
- 中華傳統(tǒng)文化與人生修養(yǎng)智慧樹知到期末考試答案2024年
- 環(huán)境有害物質(zhì)培訓(xùn)考核試題+答案
- 小班新生家長會活動方案及流程
- 醫(yī)院感染管理知識培訓(xùn)
評論
0/150
提交評論