計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)-內(nèi)存管理_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)-內(nèi)存管理_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)-內(nèi)存管理_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)-內(nèi)存管理_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)課程設(shè)計(jì)-內(nèi)存管理_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)課程設(shè)計(jì)(內(nèi)存管理)班級(jí):學(xué)號(hào):姓名:指導(dǎo)老師:一、設(shè)計(jì)目的操作系統(tǒng)課程主要講述的內(nèi)容是多道操作系統(tǒng)的原理與技術(shù),與其它計(jì)算機(jī)原理、編譯原理、匯編語(yǔ)言、計(jì)算機(jī)網(wǎng)絡(luò)、程序設(shè)計(jì)等專業(yè)課程關(guān)系十分密切。本課程設(shè)計(jì)的目的綜合應(yīng)用學(xué)生所學(xué)知識(shí),建立系統(tǒng)和完整的計(jì)算機(jī)系統(tǒng)概念,理解和鞏固操作系統(tǒng)基本理論、原理和方法,掌握操作系統(tǒng)開發(fā)的基本技能。二、設(shè)計(jì)題目操作系統(tǒng)模擬軟件的設(shè)計(jì)與開發(fā)三、設(shè)計(jì)內(nèi)容(內(nèi)存部分)模擬各種內(nèi)存分配算法及回收過程,并能動(dòng)態(tài)演示。結(jié)合進(jìn)程調(diào)度算法,能為進(jìn)程模擬分配內(nèi)存,并設(shè)計(jì)一個(gè)跟蹤該內(nèi)存模擬分配的進(jìn)程或線程,記錄內(nèi)存分配的結(jié)果四、設(shè)計(jì)的步驟(內(nèi)存部分)1總體設(shè)計(jì):存儲(chǔ)管理:

2、功能描述:存儲(chǔ)管理負(fù)責(zé)完成對(duì)內(nèi)存存儲(chǔ)器的地址轉(zhuǎn)換,采用最優(yōu)適應(yīng)算法完成對(duì)內(nèi)存儲(chǔ)器進(jìn)行分配與去配,解決多用戶對(duì)內(nèi)存儲(chǔ)器的共享和保護(hù),通過軟件手段,實(shí)現(xiàn)對(duì)內(nèi)存儲(chǔ)器容量的擴(kuò)充。簡(jiǎn)要描述:可變分區(qū)管理方式預(yù)先不將內(nèi)存劃分成幾個(gè)區(qū)域,而將內(nèi)存除操作系統(tǒng)占用區(qū)域外的空間看作一個(gè)大的空閑區(qū)。存儲(chǔ)管理部分,系統(tǒng)為提供了存儲(chǔ)管理界面,用戶可以實(shí)現(xiàn)內(nèi)存空間的管理、內(nèi)存分配、內(nèi)存回收和存儲(chǔ)保護(hù)操作。 事件流 當(dāng)用戶請(qǐng)求管理內(nèi)存分配時(shí),啟用該用例,系統(tǒng)顯示內(nèi)存分配,內(nèi)存回收和內(nèi)存存儲(chǔ)保護(hù)。當(dāng)用戶請(qǐng)求內(nèi)存分配時(shí),系統(tǒng)執(zhí)行內(nèi)存的分配;當(dāng)用戶內(nèi)存使用完成后,系統(tǒng)執(zhí)行內(nèi)存的回收。內(nèi)存分配出現(xiàn)問題時(shí),需要執(zhí)行對(duì)內(nèi)存儲(chǔ)器的保護(hù)。

3、用例圖子用例圖內(nèi)存空間的分配功能描述: 源程序經(jīng)過編譯、鏈接、并裝入內(nèi)存后才能運(yùn)行。內(nèi)存空間的分配即對(duì)內(nèi)存空閑區(qū)的分配。簡(jiǎn)要描述: 可變分區(qū)管理方式預(yù)先不將內(nèi)存劃分成幾個(gè)區(qū)域,而將內(nèi)存除操作系統(tǒng)占用區(qū)域外的空間看作一個(gè)大的空閑區(qū)。當(dāng)作業(yè)要求裝入內(nèi)存時(shí),根據(jù)作業(yè)需要內(nèi)存空間的大小查詢內(nèi)存內(nèi)各個(gè)空閑區(qū),當(dāng)內(nèi)存空間中找到一個(gè)大于或等于該作業(yè)大小的內(nèi)存空閑區(qū)時(shí),選擇其中一個(gè)空閑區(qū),按作業(yè)需求量劃出一個(gè)分區(qū)裝入該作業(yè)。事件流 當(dāng)用戶請(qǐng)求管理內(nèi)存回收時(shí),啟用該用例,系統(tǒng)顯示內(nèi)存分配,內(nèi)存回收和內(nèi)存存儲(chǔ)保護(hù)。當(dāng)用戶請(qǐng)求內(nèi)存分配時(shí),系統(tǒng)執(zhí)行內(nèi)存的分配;當(dāng)用戶內(nèi)存使用完成后,系統(tǒng)執(zhí)行內(nèi)存的回收。內(nèi)存分配出現(xiàn)問題

4、時(shí),需要執(zhí)行對(duì)內(nèi)存儲(chǔ)器的保護(hù)。內(nèi)存空間的分配圖內(nèi)存空間的回收功能描述:實(shí)現(xiàn)回收時(shí),將作業(yè)歸還區(qū)域在已分配表中找到.將欄目狀態(tài)變?yōu)榭?然后檢查空閑區(qū)表中標(biāo)志為“未分配”的欄目.查找是否有相鄰空閑區(qū);最后,合并空閑區(qū),修改空閑區(qū)表。完成內(nèi)存空間回收.簡(jiǎn)要描述: 可變分區(qū)方式下回收內(nèi)存空間時(shí),首先將作業(yè)歸還的區(qū)域在與分配表中找到,將該欄目的狀態(tài)變?yōu)椤翱铡?;然后,檢查空閑區(qū)表中標(biāo)志為“未分配”的欄目,找到是否有相鄰的空閑區(qū);最后,合并空閑區(qū),修改空閑區(qū)表。 事件流 當(dāng)用戶請(qǐng)求管理內(nèi)存分配時(shí),啟用該用例,系統(tǒng)顯示內(nèi)存分配,內(nèi)存回收和內(nèi)存存儲(chǔ)保護(hù)。當(dāng)用戶請(qǐng)求內(nèi)存分配時(shí),系統(tǒng)執(zhí)行內(nèi)存的分配;當(dāng)用戶內(nèi)存使用完

5、成后,系統(tǒng)執(zhí)行內(nèi)存的回收。內(nèi)存分配出現(xiàn)問題時(shí),需要執(zhí)行對(duì)內(nèi)存儲(chǔ)器的保護(hù)。內(nèi)存空間的回收2.詳細(xì)設(shè)計(jì)VeriableIndex類概述:這個(gè)類封裝了變量到內(nèi)存地址的映射關(guān)系,variable代表變量,index代變量在內(nèi)存中的地址。作用:當(dāng)用戶的程序要運(yùn)行時(shí),系統(tǒng)將為用戶定義的變量分配內(nèi)存空間,并把每個(gè)變量的名字與它的地址封裝在一個(gè)VeriableIndex類型的對(duì)象中,然后將這些VeriableIndex對(duì)象加入到一個(gè)隊(duì)列中,當(dāng)執(zhí)行到改變變量值的語(yǔ)句時(shí),就查詢這個(gè)隊(duì)列并找到相應(yīng)變量對(duì)應(yīng)的VeriableIndex對(duì)象,然后取出這個(gè)對(duì)象中保存的內(nèi)存地址,再在內(nèi)存中按此地址讀出變量的值,接下來執(zhí)行相

6、應(yīng)的操作后再放回到內(nèi)存中去。舉例說明:假如用戶定義的程序段如下:VeriableIndex對(duì)象隊(duì)列的指針將會(huì)被保存在PCB(進(jìn)程控制塊)中。VeriableIndex隊(duì)列的內(nèi)容如下:X=5;X+;Y=6;Z=6;Y+;End;VeribaleIndexOne VeriableIndexTwo VeriableIndexThreeZ Z地址Y Y地址X x地址DataTable類這個(gè)類實(shí)際上是構(gòu)造了一個(gè)VeriableIndex的隊(duì)列,這樣為每一個(gè)進(jìn)程創(chuàng)建VeriableIndex隊(duì)列的時(shí)候便省去了很多不必要的麻煩。DataTable類這個(gè)類實(shí)際上是構(gòu)造了一個(gè)VeriableIndex的隊(duì)列,這

7、樣為每一個(gè)進(jìn)程創(chuàng)建VeriableIndex隊(duì)列的時(shí)候便省去了很多不必要的麻煩。Memory類概述:該類是為模擬內(nèi)存而創(chuàng)建的,為了實(shí)現(xiàn)方便我們用了一個(gè)String類型的數(shù)組來模擬內(nèi)存的大小,另外設(shè)置了一個(gè)PCB類型的數(shù)組來模擬系統(tǒng)區(qū),系統(tǒng)區(qū)的大小正好可以容納10個(gè)進(jìn)程控制塊。功能:響應(yīng)用戶申請(qǐng)PCB以及內(nèi)存空間的請(qǐng)求,內(nèi)存分配算法采用首次適應(yīng)算法,用動(dòng)態(tài)分區(qū)加以管理。具體來說,當(dāng)用戶申請(qǐng)內(nèi)存時(shí),如果尚有可以分配的內(nèi)存空間則相應(yīng)的方法會(huì)返回一個(gè)只包含兩個(gè)元素的一維數(shù)組,數(shù)組的第一個(gè)元素是予以的內(nèi)存的首地址,第二個(gè)元素是空間的大??;如果沒有可以分配的內(nèi)存空間則相應(yīng)的方法會(huì)返回一個(gè)null值等待進(jìn)一

8、步的處理。當(dāng)用戶申請(qǐng)PCB時(shí)過程類似不再贅述。另外Memory類提供了對(duì)已經(jīng)分配出去的PCB與內(nèi)存空間進(jìn)行回收的功能。當(dāng)需要這些功能時(shí)調(diào)用相應(yīng)的方法即可。PCB類概述:主要是為了模擬進(jìn)程控制塊,其中包含了進(jìn)程標(biāo)示符信息、進(jìn)程控制信息、進(jìn)程調(diào)度信息、處理機(jī)狀態(tài)信息。為了方便起見,我們已經(jīng)將它的所有實(shí)例域的訪問性設(shè)為public。此類沒有提供任何的構(gòu)造方法,但是這絲毫不會(huì)影響到后繼類對(duì)它的使用。鑒于篇幅我們?cè)谶@里不便說明其中的原因??梢圆殚営嘘P(guān)JAVA中訪問控制的相關(guān)章節(jié)。MemoryPanel類此類的設(shè)計(jì)目的是為了利于實(shí)現(xiàn)界面設(shè)計(jì),它有一個(gè)Memory類型的私有實(shí)例域代表內(nèi)存,而它的所有方法都是

9、靜態(tài)的,這樣做的一個(gè)好處就是調(diào)用它的方法時(shí)無須構(gòu)造一個(gè)對(duì)象,這就類似于C中的全局函數(shù),在任何時(shí)候任何地方都能夠被我們調(diào)用,我們應(yīng)該注意到這些方法的簽名與Memory中的對(duì)應(yīng)方法相同,實(shí)際上他們正是間接調(diào)用了Memory中的相應(yīng)方法。從某種意義上說,它的設(shè)計(jì)只是為了給我們使用Memory中的方法提供一種方便。對(duì)內(nèi)存單元的外觀顯示我們是借助JButton來實(shí)現(xiàn)的,選用它有兩個(gè)好處,一個(gè)是它的外觀小巧精致,利于實(shí)現(xiàn)美觀大方的界面。二是它除了可以設(shè)置背景顏色還可以設(shè)置內(nèi)容顯示,可以隨時(shí)把內(nèi)存單元中的內(nèi)容作為一個(gè)字符串顯示在JButton上,這樣可以使我們的模擬操作系統(tǒng)更加形象地展現(xiàn)真實(shí)的操作系統(tǒng)是怎樣訪問內(nèi)存單元的。當(dāng)對(duì)內(nèi)存單元進(jìn)行讀寫時(shí),相應(yīng)的單元會(huì)通過動(dòng)畫來展示系統(tǒng)正在讀或者寫這個(gè)單元。3.運(yùn)行界面:五:設(shè)計(jì)心得在這次課程設(shè)計(jì)中,我們的收獲應(yīng)該說是非常大的。在今后的學(xué)習(xí)中,一定要擴(kuò)大自己的知識(shí)面,如:多從網(wǎng)上尋找可實(shí)現(xiàn)的項(xiàng)目,同學(xué)之間組成團(tuán)隊(duì),多學(xué)習(xí),自己用代碼實(shí)現(xiàn);還有就是要精通一們語(yǔ)言,熟練掌握其數(shù)據(jù)結(jié)構(gòu),算法思想,以至于能夠熟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論