《作業系統原理》課程設計報告

2021-03-14 14:05:27 字數 1857 閱讀 7729

《作業系統原理》

課程設計報告書

題目:動態分割槽演算法—最佳適應演算法

專業: 電腦科學與技術

學號學生姓名

指導教師

完成日期: 2016—06—09

一、 題目及要求

實現對動態分割槽演算法中最佳適應演算法**演算法的模擬。編寫程式,提供乙個介面,使用者輸入記憶體初始狀態以及不同長度作業對記憶體的釋放要求,顯示根據每次操作後記憶體塊的情況。

最佳適應演算法是指每次為作業分配記憶體時,總是把能滿足要求最小的空閒分配給作業,避免「大材小用」。為了加速尋找,該演算法的要求將所有的空閒分割槽按其容量的從小到大的順序形成空閒分割槽鏈。這樣,第一次找到的能滿足要求的空閒區,必然是最佳的。

孤立地看,最佳適應演算法似乎是最優的,然而在巨集觀上卻不一定。因為每次分配後所切割下來的剩餘部分總是最小的,這樣,在儲存空間中會留下許多難以利用的小空閒區。如果找出的自由區長度恰好等於申請的長度則是最合適的了,如果比申請的長度略大則分割後剩下的自由區就很小,以致不但不能被再度使用,而且還白白占用自由區鍊錶的乙個結點。

當fbc中小自由區結點過多時,本演算法的效能急劇下降。

二、 系統概要設計

基本原理分析: best fit :將空閒分割槽按大小從小到大排序,從頭找到大小合適的

分割槽程式設計實現初次記憶體分配演算法、新申請資源分配演算法、刪除程序演算法,**合併演算法等。記憶體分配流圖為:

y圖1 記憶體分配流程圖

三、 系統關鍵**

#include

struct kongkuai

kongxq[6]=,,,

,,};int allocate(int jobsize)

else

if(kongxq[i].flag==1&&kongxq[i].size==jobsize)

if(t==0)

return false;

return 1;

}//best-fit演算法

void circle()

//**區

void callback()

}if(t1==0)

}}void print()

printf("\n");

}void main()

}除錯結果:

圖2 除錯結果

四、 課程設計總結

1.開發過程中遇到的主要困難:如果申請資源失敗,一種方法是移動(又稱緊湊)已在主存中的資訊從而使分散的小自由區(碎片)匯集成大塊的自由區。

移動雖可匯集主存碎片,但時間開銷很大,而且不是任何時候都可對主存資訊進行移動的(例如,當正與外設交換資料的程序空間是不能移動的)。另一種辦法是系統把申請程序掛起等待一段時間後再說。在等待期間申請者不消耗任何系統資源且系統可以做其他工作或許能**大量自由區。

但是在我編寫的程式中由於時間有限也由於我自己的能力,這個程式中只能根據接點的指標分配記憶體,不能把分散的記憶體匯集從大塊的自由區;我這個程式用的是c++語言編寫的,實現了分配記憶體,**記憶體以及顯示記憶體的實體地址。

2.系統的功能和不足:還想使用別的演算法來模擬動態分配。

3.這次課程設計,我學到以前我沒有見過的很多東西。對作業系統有了更加深刻的了解和掌握。

以前以為作業系統只是管理一些桌面的知識,後來才發現其實它還挺複雜,課本上說它是電子計算機系統中負責支撐應用程式執行環境以及使用者操作環境的系統軟體,同時也是計算機系統的核心與基石。它的職責常包括對硬體的直接監管、對各種計算資源(如記憶體、處理器時間等)的管理、以及提供諸如作業管理之類的面向應用程式的服務等。讓我了解作業系統的基本概念,理解計算機系統的資源如何組織,作業系統如何有效地管理這些系統資源,使用者如何通過作業系統與計算機系統打交道。

通過課程設計,我們可以進一步理解在計算機系統上執行的其它各類作業系統,並懂得在作業系統的支援下建立自己的應用系統。

指導教師評語:成績

作業系統課程設計報告

上海電力學院 計算機作業系統原理 課程設計報告 題目名稱 編寫程式模擬虛擬儲存器管理 姓名 杜志豪 學號 20121798 班級 2012053班 同組姓名 孫嘉軼 課程設計時間 2014.6.30 2014.7.4 評語成績 一 設計內容及要求4 1.1 設計題目4 1 2 使用演算法分析4 1 ...

作業系統課程設計報告

作業系統 課程設計報告 姓名吳昊學號 20091811042 系別資訊管理與工程系 專業電腦科學與技術班級 09級 課程設計題目模擬檔案管理系統 指導教師崔新會 小組成員吳昊 丁強強 辛夢娟 王放 周洋 2012 年 6 月 11 日 目錄 內容摘要 2 第一章引言 2 第二章需求分析 4 第三章系...

作業系統課程設計報告

課程設計說明書 設計名稱 作業系統課程設計 題目 檔案訪問介面設計 學生姓名 陳小浪 專業 電腦科學與技術 班級 12級1班 學號 2012314118 指導教師 任朝暉 日期 2014 年 9 月 15 日 課程設計任務書 電腦科學與技術專業年級班 一 設計題目 檔案訪問介面設計 二 主要內容 利...