大工秋操作系統(tǒng)大作業(yè)題目及要求_第1頁(yè)
大工秋操作系統(tǒng)大作業(yè)題目及要求_第2頁(yè)
大工秋操作系統(tǒng)大作業(yè)題目及要求_第3頁(yè)
大工秋操作系統(tǒng)大作業(yè)題目及要求_第4頁(yè)
大工秋操作系統(tǒng)大作業(yè)題目及要求_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)習(xí)中心: 專 業(yè): 年 級(jí): 年 春/秋 季 學(xué) 號(hào): 學(xué) 生: 題 目: 1.談?wù)勀銓?duì)本課程學(xué)習(xí)過程中的心得體會(huì)與建議? 轉(zhuǎn)眼間,學(xué)習(xí)了一個(gè)學(xué)期的計(jì)算機(jī)操作系統(tǒng)課程即將結(jié)束。在這 個(gè)學(xué)期中,通過老師的悉心教導(dǎo),讓我深切地體會(huì)到了計(jì)算機(jī)操作系 統(tǒng)的一些原理和具體操作過程。 在學(xué)習(xí)操作系統(tǒng)之前, 我只是很膚淺地認(rèn)為操作系統(tǒng)只是單純地 講一些關(guān)于計(jì)算機(jī)方面的操作應(yīng)用, 并不了解其中的具體操作過程和 實(shí)用性。通過這一學(xué)期的學(xué)習(xí),我才知道操作系統(tǒng)(OperatingSystem, 簡(jiǎn)稱 OS)是管理計(jì)算機(jī)系統(tǒng)的全部硬件資源包括軟件資源及數(shù)據(jù)資 源;控制程序運(yùn)行;改善人機(jī)界面;為其它應(yīng)用軟件提供支持等

2、,使 計(jì)算機(jī)系統(tǒng)所有資源最大限度地發(fā)揮作用,為用戶提供方便的、有效 的、友善的服務(wù)界面。 經(jīng)過一個(gè)學(xué)期的學(xué)習(xí), 我也知道了計(jì)算機(jī)操作系統(tǒng)是鋪設(shè)在計(jì)算機(jī)硬 件上的多層系統(tǒng)軟件,不僅增強(qiáng)了系統(tǒng)的功能,而且還隱藏了對(duì)硬件 操作的細(xì)節(jié),由它實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的多層次的抽象??偠?之,操作系統(tǒng)的一些原理在生活中都可以找到相應(yīng)的例子。結(jié)合生活 中的例子,可以化抽象為具體,我們會(huì)更加清楚地了解到其原理與操 作過程。我覺得通過我們的不斷學(xué)習(xí),結(jié)合生活中的實(shí)際問題,我們 就會(huì)把操作系統(tǒng)學(xué)得更好。 2. 操作系統(tǒng)課程設(shè)計(jì), 從以下5個(gè)題目中任選其一作答。操作系統(tǒng)課程設(shè)計(jì)注意:從以下5個(gè)題目中任選其一作答???/p>

3、 則:不限制編程語(yǔ)言,可以選用C/C+等(具體工具平臺(tái)及語(yǔ)言可以自己根據(jù)自己的習(xí)慣選用,不必完全按照上述技術(shù)要求)作業(yè)提交:大作業(yè)上交時(shí)文件名寫法為:姓名 奧鵬卡號(hào) 學(xué)習(xí)中心(如:戴衛(wèi)東浙江臺(tái)州奧鵬學(xué)習(xí)中心1VIP)以附件word文檔形式上交離線作業(yè)(附件的大小限制在10M以內(nèi)),選擇已完成的作業(yè)(注意命名),點(diǎn)提交即可。如下圖所示。注意事項(xiàng):獨(dú)立完成作業(yè),不準(zhǔn)抄襲其他人或者請(qǐng)人代做,如有雷同作業(yè),成績(jī)以零分計(jì)!題目一:頁(yè)面置換算法FIFO算法要 求:(1)撰寫一份word文檔,里面包括(算法思路、算法數(shù)據(jù)結(jié)構(gòu)、主要函數(shù)代碼、測(cè)試案例)章節(jié)。(2)算法思路:FIFO為先進(jìn)先出算法,簡(jiǎn)單介紹該算

4、法的基本思想,100字左右即可。(3)算法數(shù)據(jù)結(jié)構(gòu):列出主要用的數(shù)據(jù)結(jié)構(gòu),比如存儲(chǔ)頁(yè)面號(hào)序列page,存儲(chǔ)裝入物理塊中的頁(yè)面memery等,只需要列出數(shù)據(jù)結(jié)構(gòu)名稱即可。(4)主要函數(shù)代碼:列出先進(jìn)先出頁(yè)面置換算法的代碼。不需要列出主函數(shù)。(5)給出一個(gè)測(cè)試案例即可,比如設(shè)置物理塊個(gè)數(shù)為3,頁(yè)面序號(hào)7 0 1 2 3 0 4 2 3,代碼應(yīng)列出算法置換的具體細(xì)節(jié)。頁(yè)面置換算法FIFO算法在地址映射過程中,若在頁(yè)面中發(fā)現(xiàn)所要訪問的頁(yè)面不在內(nèi)存中,則產(chǎn)生缺頁(yè)中斷。當(dāng)發(fā)生缺頁(yè)中斷時(shí),如果操作系統(tǒng)內(nèi)存中沒有空閑頁(yè)面,則操作系統(tǒng)必須在內(nèi)存選擇一個(gè)頁(yè)面將其移出內(nèi)存,以便為即將調(diào)入的頁(yè)面讓出空間。而用來(lái)選擇淘

5、汰哪一頁(yè)的規(guī)則叫做頁(yè)面置換算法。在請(qǐng)求分頁(yè)存儲(chǔ)器管理系統(tǒng)中,我們需要一個(gè)頁(yè)面置換算法,而先進(jìn)先出算法就是最早出現(xiàn)的一種算法,利用該算法可以實(shí)現(xiàn)頁(yè)面的置換,實(shí)現(xiàn)內(nèi)存的充分利用,使進(jìn)程可以執(zhí)行。先進(jìn)先出置換算法(FIFO) 最簡(jiǎn)單的頁(yè)面置換算法是先入先出(FIFO)法。這種算法的實(shí)質(zhì)是,總是選擇在主存中停留時(shí)間最長(zhǎng)(即最老)的一頁(yè)置換,即先進(jìn)入內(nèi)存的頁(yè),先退出內(nèi)存。理由是:最早調(diào)入內(nèi)存的頁(yè),其不再被使用的可能性比剛調(diào)入內(nèi)存的可能性大。建立一個(gè)FIFO隊(duì)列,收容所有在內(nèi)存中的頁(yè)。被置換頁(yè)面總是在隊(duì)列頭上進(jìn)行。當(dāng)一個(gè)頁(yè)面被放入內(nèi)存時(shí),就把它插在隊(duì)尾上。 這種算法只是在按線性順序訪問地址空間 時(shí)才是理想

6、的,否則效率不高。因?yàn)槟切┏1辉L問的頁(yè),往往在主存中也停留得最久,結(jié)果它們因變“老”而不得不被置換出去。FIFO的另一個(gè)缺點(diǎn)是,它有一種異?,F(xiàn)象,即在增加存儲(chǔ)塊的情況下,反而使缺頁(yè)中斷率增加了。當(dāng)然,導(dǎo)致這種異?,F(xiàn)象的頁(yè)面走向?qū)嶋H上是很少見的。優(yōu)先淘汰最早進(jìn)入內(nèi)存的頁(yè)面,亦即在內(nèi)存中駐留時(shí)間最久的頁(yè)面。該算法實(shí)現(xiàn)簡(jiǎn)單,只需把調(diào)入內(nèi)存的頁(yè)面根據(jù)先后次序鏈接成隊(duì)列,設(shè)置一個(gè)指針總指向最早的頁(yè)面。但該算法與進(jìn)程實(shí)際運(yùn)行時(shí)的規(guī)律不適應(yīng),因?yàn)樵谶M(jìn)程中,有的頁(yè)面經(jīng)常被訪問。1先進(jìn)先出(FIFO)該算法實(shí)現(xiàn)簡(jiǎn)單,只需把一個(gè)進(jìn)程已調(diào)入內(nèi)存的頁(yè)面,按先后順序鏈接成一個(gè)隊(duì)列,并設(shè)置一個(gè)指針,稱為替換指針,使它總是

7、指向最老的頁(yè)面。1、輸入當(dāng)前要調(diào)用的頁(yè)面號(hào)2、判斷該頁(yè)面是否已在隊(duì)列內(nèi),若在隊(duì)列內(nèi),不執(zhí)行任何操作若不在隊(duì)列內(nèi)。則執(zhí)行以下操作判斷隊(duì)列是否已滿,若隊(duì)列未滿,直接把該頁(yè)面號(hào)存入隊(duì)列 若隊(duì)列已滿,刪除并返回隊(duì)頭元素,然后把該頁(yè)面號(hào)存入隊(duì)3、輸出置換次數(shù),依次輸出置換出的頁(yè)面。2先進(jìn)先出算法思路在請(qǐng)求分頁(yè)存儲(chǔ)器管理系統(tǒng)設(shè)計(jì)中,先進(jìn)先出(FIFO)算法是一種給出頁(yè)面訪問的順序與分配給作業(yè)的主存塊數(shù),使用隊(duì)列作為數(shù)據(jù)結(jié)構(gòu)編寫算法,實(shí)現(xiàn)統(tǒng)計(jì)缺頁(yè)次數(shù)與頁(yè)面置換操作,該算法總是先淘汰最先進(jìn)入內(nèi)存的頁(yè)面,即選擇在內(nèi)存中停留時(shí)間最久的頁(yè)面予以淘汰。3.先進(jìn)先出算法步驟1.設(shè)置一些頁(yè)面參數(shù),int pagenum=

8、0 內(nèi)存頁(yè)面數(shù)int total=0 要訪問的頁(yè)面總數(shù)int lacknumber 缺頁(yè)的總數(shù)2.設(shè)置一個(gè)隊(duì)列int seque20=0; 隊(duì)列長(zhǎng)度設(shè)置為20 ,且初值設(shè)為0 3.執(zhí)行算法輸入1,2,3,4,1,2,5,1,2,3,4,5 以輸入-1結(jié)束4.算法數(shù)據(jù)結(jié)構(gòu)Array020Void main()系統(tǒng)主函數(shù)Cin pagenum 鍵盤輸入 頁(yè)號(hào)存儲(chǔ)頁(yè)面號(hào)序列page存儲(chǔ)裝入物理塊中的頁(yè)面memery訪問函數(shù) voidVisit(int)void FIFO(void);打印函數(shù)print()核心函數(shù)FIFO()5.主要函數(shù)代碼#includeint choose; /選擇置換方法int

9、 PageOrder100; /頁(yè)面走向int Order=0; /頁(yè)面計(jì)數(shù)int MaxPage; /頁(yè)面總數(shù)int MaxPhy; /物理塊總數(shù)int count; /命中次數(shù)struct PageTable /頁(yè)表結(jié)構(gòu)體 int PageNomber; int PhyNomber; int Sta; /狀態(tài)位 int Visit; /訪問位 int Change; /改變位;struct PageTable p10;/最多同時(shí)進(jìn)入10個(gè)頁(yè)表void main() void Init(); void Fifo(); void Lru(); Init(); cout請(qǐng)選擇置換方法endl1、

10、FIFO 2、LRUchoose; if(choose=1) cout物理塊變化過程:endl; Fifo(); coutendl; cout命中次數(shù):countendl; else Lru();void Init() coutMaxPage; for(int i=1;i=MaxPage;i+) pi.PageNomber=i; pi.PhyNomber=0; pi.Change=0; pi.Sta=0; pi.Visit=0; coutendlMaxPhy; cout請(qǐng)輸入頁(yè)面走向以0結(jié)束PageOrderj; if(j99) cout超過最大數(shù)量,請(qǐng)重新輸入,以0結(jié)束!; continue

11、; void Fifo() int Max(struct PageTable M); struct PageTable i10;/模擬物理塊 for(int j=0;jMaxPhy;j+) ij.PageNomber=0; ij.Visit=0; int b=0;/標(biāo)志位,標(biāo)記物理塊已滿 for(int k=1;kOrder;k+) if(b=1)/物理塊滿,進(jìn)行頁(yè)面置換 int a=0;/標(biāo)志位,是否命中 for(int m=0;mMaxPhy;m+)/判斷命中 if(im.PageNomber=PageOrderk) a=1; count+; cout命中 ; break; if(a=1)

12、continue;/命中繼續(xù)循環(huán) int Ma=Max(i);/未命中,選擇時(shí)間最長(zhǎng)的物理塊進(jìn)行置換 cout替換Ma ; iMa=pPageOrderk; for(int l=0;lMaxPhy;l+) il.Visit+; continue; for(j=0;jMaxPhy;j+)/頁(yè)面寫入空物理塊 if(ij.PageNomber=0) ij=pPageOrderk; cout進(jìn)入 ; for(int l=0;l=j;l+) il.Visit+; if(j=MaxPhy-1) b=b+1; break; void Lru()int Max(struct PageTable M)/返回最大

13、值 int temp,Max=0; temp=M0.Visit; for(int j=1;jMaxPhy;j+) if(tempMj.Visit) temp=Mj.Visit; Max=j; return(Max); 55測(cè)試案例比如設(shè)置物理塊個(gè)數(shù)為3,頁(yè)面序號(hào)7 0 1 2 3 0 4 2 3,代碼應(yīng)列出算法置換的具體細(xì)節(jié)。時(shí)刻123456789訪問順序701230423M=3777222444000333221110003F12345678接下來(lái)我就講下FIFO這種情況,F(xiàn)IFO就是先進(jìn)先出的訪問方式,根據(jù)題目里面的訪問順序:6 0 1 2 0 3 0 4 2 3,所有首先訪問的是7,當(dāng)?shù)?/p>

14、一次訪問6 的時(shí)候,內(nèi)存中當(dāng)然是沒有的,所以就會(huì)發(fā)生中斷去讀取數(shù)據(jù),完成中斷之后,內(nèi)存中就有了一個(gè)6,接著訪問的是0,當(dāng)然此時(shí)內(nèi)存中也沒有0,所以又會(huì)發(fā)生一次中斷,同理,完成中斷之后,內(nèi)存中就有0了,接下來(lái)訪問的就是第三個(gè)數(shù)1,很明顯,此時(shí)內(nèi)存中也是沒有該元素的,所以也會(huì)發(fā)生中斷,完成中斷后內(nèi)存里面就有一個(gè)1了。此時(shí)內(nèi)存中的數(shù)據(jù)為701。 接下來(lái)就要注意思想的轉(zhuǎn)化了,因?yàn)轭}目中說(shuō)了只有3塊存儲(chǔ)空間,到目前為止,3塊空間都用完了。所以,在訪問第4個(gè)數(shù)字時(shí)(也就是訪問2 的時(shí)候),必須先丟棄一個(gè)數(shù)據(jù),根據(jù)題目要求是FIFO的原理,所以,理所當(dāng)然就應(yīng)該丟棄最先訪問的7,并去訪問新的數(shù)據(jù)-2,即2替換7的位置,所以也會(huì)發(fā)生中斷,并且中斷完成后內(nèi)存中的數(shù)據(jù)是201。 接下來(lái)又要訪問第五個(gè)數(shù)字,即訪問第二個(gè)0的時(shí)候,此時(shí),內(nèi)存的數(shù)據(jù)為201,其中剛好有一個(gè)0,所有就不會(huì)發(fā)生中斷,而是繼續(xù)訪問下一個(gè)數(shù),即第

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論