一.實驗目的
作業系統課程設計的主要任務是研究計算機作業系統的基本原理和演算法,掌握作業系統的程序管理、儲存管理、檔案管理和裝置管理的基本原理與主要演算法。目的是使學生掌握常用作業系統(如dos、windows或linux)的一般管理方法,了解它是如何組織和運作的,對作業系統的核心概念和演算法有乙個透徹的理解,並對系統執行的機制有乙個全面的掌握,從而充分理解系統呼叫與程式設計之間的關係。
使用c++語言實現opt、fifo、lru、lfu四種置換演算法。更高層次的追求還要有較為完善的初始化介面、登陸介面、退出介面。並且還應該有相應的報錯、糾錯系統。以保證程式可以正常執行。
在完成作業系統各部分實驗的基礎上,對作業系統的整體進行乙個模擬,通過實踐加深對各個部分的管理功能的認識,還能進一步分析各個部分之間的聯絡,最後達到對完整系統的理解。同時,可以提高運用作業系統知識解決實際問題的能力;鍛鍊實際的程式設計能力、創新能力及團隊組織、協作開發軟體的能力;還能提高調查研究、查閱技術文獻、資料以及編寫軟體設計文件的能力。
二.實驗原理
演算法的幾大功能基本思想:
opt:在分配記憶體頁面數小於程序頁面數時,先執行的幾個頁面放入記憶體中。有需要處理的新頁面,則將原來記憶體中的幾個頁面中將來不再使用的調出,然後將新頁面放入。
fifo:在分配記憶體頁面數小於程序頁面數時,先執行的幾個頁面放入記憶體中。這時有需要處理的新頁面,則將原來記憶體中的幾個頁面中最先進入的調出,然後將新的頁面放入。
lru:在分配記憶體頁面數小於程序頁面數時,先執行的幾個頁面放入記憶體中。當需要調頁面進入記憶體,而當前分配的頁面全部不空閒時,選擇其中最長時間沒有使用的頁面調出,以空出記憶體來放置新調入的頁面。
lfu:在分配記憶體頁面數小於程序頁面數時,先執行的幾個頁面放入記憶體中。當需要調頁面進入記憶體,而當前分配的頁面全部不空閒時,選擇其中最長次數沒有使用的頁面調出,以空出記憶體來放置新調入的頁面。
虛擬記憶體管理
定義 虛擬記憶體是計算機系統記憶體管理的一種技術。它使得應用程式認為它擁有連續的可用的記憶體 乙個連續完整的位址空間 而實際上,它通常是被分隔成多個物理記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。我的理解 程序例項在使用者態並不直接操作物理記憶體位址,實際物理記憶體是可能是...
3 2 虛擬記憶體管理
3.2.1 虛擬記憶體的基本概念 1 傳統儲存管理方式的特徵 各種記憶體管理策略都是為了同時將多個程序保證在記憶體中以便允許多道程式設計。它們都具有以下兩個共同的特徵 1 一次性 作業必須一次性全部裝入記憶體後,方能開始執行。這會導致兩種情況發生 當作業很大,不能全部被裝入記憶體時,將使該作業無法執...
儲存管理 虛擬記憶體
儲存管理中虛擬記憶體是當記憶體容量不足時需要考慮的乙個問題。那麼 接下來看看,怎麼記憶體是通過外存來擴充套件的。為什麼提出這個問題,實際上問的是這個問題 程式真的可以劃分成很多塊,取部分程式塊裝入較小的記憶體中,然後還能正確執行麼?面對後者提問,可以將程式的邏輯位址正確轉化實體地址,實現程式的分塊 ...