儲存器管理課程設計

2022-05-20 14:48:04 字數 3752 閱讀 5190

山東理工大學

課程設計

(計算機作業系統)

院系計算機學院

專業電腦科學與技術

姓名指導教師

二○○五年六月二十二日

課程設計任務書

計算機學院院(系) 電腦科學與技術專業課題組

學生姓名班級學號

課題名稱儲存器管理設計

ⅰ、題目的目的和要求:

本課程設計的目的是使學生熟悉儲存器管理系統的設計方法。加深對所學各種儲存器管理方案的了解;要求採用一些常用的儲存器分配演算法,設計乙個儲存器管理模擬系統並除錯執行。模擬環境應盡量接近真實。

ⅱ、設計技術要求與資料:

鞏固和加深對作業系統原理的理解,提高系統設計的能力;通過應用,提高程式設計能力,本課程設計對應用方面只作一般要求,選做不同的功能模組,重點放在資料結構設計、文件規範化和程式設計風格,寫出易讀、易懂的程式。

技術要求:

(一)源程式檔案

(1)符號名的命名:這包括變數名、檔名、程式名、模組名、過程檔名等。命名不主張用a、b、a1、a2等為檔名,而從易於識別和理解的要求出發,使用一些有實際意義的識別符號,如:

fork(); exit(); sleep(); wakeup()等。

(2) 程式中的注釋行: 夾在源程式中的注釋行能幫助讀者理解程式,絕不是可有可無的,注釋是源程式檔案必不可少的一部分。

要求在程式開頭有序言性注釋,有關的專案如下:

程式的標題(檔名等)

目的、功能

呼叫形式,引數含義

輸入資料

輸出資料

呼叫的過程或過程檔案

其它型別的檔名稱(資料檔案、索引檔案、格式檔案等)

作者審查除錯

日期(3)空行和縮格

自然的程式段用空行隔開,分支巢狀和迴圈巢狀要層次分明。如 c語言程式:

if (條件)

(語句組);

else

if (條件)

語句組);

else

語句組);

(二)資料說明

適當用說明方式:

《命令語句》《注釋》 */

如對變數所賦資料的型別加以說明,以便核對和查詢。

(三)語句結構

程式的清晰性是最重要的目標,語句應寫的簡明,直接了當,不要在語句中使用「技巧」。因為這會給除錯過程帶來不必要的麻煩,複雜的表示式用括號表示運算的優先次序,以免造成誤解。沒有程式的簡明性和清晰性,就不能保證程式的可靠性和正確性。

另外, 盡可能利用現成函式,減少臨時變數,避免用浮點數(如1.2e4)比較。

(四)輸入和輸出

輸入和輸出是與使用者的使用直接相關的。輸入、輸出的方式和格式應盡可能方便使用者, 乙個程式的輸入格式盡可能統一; 但提示要明確和具備捕獲錯誤及處理的能力。

資料結構:

const int pagesize=1024;

const int blocknum=3;

int block[blocknum];

int pg[blocknum];

ⅲ、設計工作起始日期:

自二○〇五年六月二十日起,至二○〇五年六月二十四日止

ⅳ、進度計畫與應完成的工作:

ⅴ、主要參考文獻、資料:

1. 湯子贏等,計算機作業系統(第二版),西安電子科技大學出版社,1996

2. 湯子贏等,計算機作業系統(新第一版),西安電子科技大學出版社1996

3. 馮耀霖等,作業系統,西安電子科技大學出版社,1992

4. 湯子瀛主編. 計算機作業系統.西安:西安電子科技大學出版社,2002.9

5. 張堯學,史美林. 計算機作業系統教程.北京:清華大學出版社,1995,2

6. 劉乃琦等. 作業系統原理及應用.北京:經濟科學出版社,1996.5

指導教師

學科部主任

二○ 年月日

課程設計評語及成績評定

ⅰ、課程設計篇幅:

圖紙數量張

設計說明書頁

ⅱ、指導教師的評語:

指導教師年月日

ⅲ、成績評定:

設計成績

教學院長(主任簽字)

二○ 年月日

目錄第一章概述

第二章系統分析

第三章系統設計

第四章程式設計流程圖或n-s圖

第五章源程式清單

第六章除錯過程中的問題及系統測試情況

第七章結束語

第一章概述

作業系統課程設計是電腦科學與技術專業的主要實踐性教學環節。在進行了專業基礎課和《作業系統》課程的基礎上,設計或分析乙個實際的作業系統旨在加深對計算機硬體結構和系統軟體的認識,初步掌握作業系統組成模組和應用介面的使用方法,提高進行工程設計和系統分析的能力,為畢業設計和以後的工程實踐打下良好的基礎。

儲存器管理的主要任務是為多道程式的執行提供良好的環境,方便使用者使用儲存器,提高儲存器的利用率以及能從邏輯上擴充記憶體。

儲存器管理的主要物件是記憶體,本設計主要針對程序讀入記憶體中的過程模擬儲存器管理系統。涉及到程式的裝入、記憶體空間的分配方式以及程序的換出與換入和頁面置換演算法(本設計的頁面置換演算法為先進先出fifo演算法)。

第二章系統分析

在多道程式環境下,要使程式執行,必須先為之建立程序。而建立程序的第一步是將程式和資料裝入記憶體。

儲存器實現的功能主要是記憶體分配等功能,本模擬系統所要實現的就是將程序的程式和資料裝入記憶體(物理塊)。具體需要實現的功能如下:

1、 讀入程序大小,進行分頁,確定每一頁的指令位址範圍;

2、 讀入乙個指令,確定其所在頁面,讀入記憶體物理塊中。物理塊空閒直接讀入,物理塊已滿,指向下步操作。

3、 物理塊已滿,將要淘汰原來首先進入到記憶體中的頁面,即換出;然後將現在的指令位址頁面讀入物理塊中,即換入。

4、 能夠顯示分配的頁面的狀態資訊,包括位址範圍和讀入的記憶體物理塊號(未讀入與讀入的區別顯示),頁面是否在主存中。

5、 顯示記憶體分割槽即物理塊號的使用狀況。

第三章系統設計

本系統實現的功能比較簡單,主要包括以下幾個資料結構方面:

1、 輸入程序大小劃分頁面。求頁面數利用程序與每一頁面的大小計算和求餘函式add(),基本資訊輸出print()函式。頁面的初始資訊包括頁號、頁面的指令位址範圍、讀入物理塊號(初始均設定為-1)、讀入記憶體狀態。

int add(int m,int n) //判斷是否在物理塊的最後一位,要不要加1

2、 指令頁面讀入物理塊。該部分要包括空閒物理塊的查詢freebno()函式,裝入物理塊號load()函式,物理塊指標自加inc()函式。指令讀入,查詢記憶體中是否有空閒的物理塊,有則直接讀入,同時物理塊號指標自動指向下乙個模組,以便下乙個指令讀入時裝入記憶體。

void load(int b) //裝入主存b號物理塊

bno=b;

status=1;

block[b]=0;

int freebno() //查出空閒的物理塊號

3.指令讀入時物理塊全部佔滿,需要呼叫換出out()函式,淘汰原來進入記憶體的頁面,利用fifo演算法,然後裝入此事的指令到相應物理塊。

void out() //調出主存

status=0;

bno=-1;

4.輸出頁面詳細資訊。利用程式初始建立的page類函式定位到每個頁面,查詢其狀態輸出其詳細資訊即print()函式內的具體內容。

void print()

cout<<"頁號:"< if(status)

cout<<"在主存"< else

cout<<"在輔存"<

3、 記憶體物理塊的占用資訊。

int block[blocknum];

儲存管理課程設計

1 通過編寫和除錯儲存管理的模擬程式以加深對儲存管理方案的理解 2 熟悉虛存管理的各種頁面淘汰演算法。3 通過編寫和除錯位址轉換過程的模擬程式以加強對位址轉換過程的了解。上機實踐內容 設計乙個請求頁式儲存管理方案。並編寫模擬程式實現之。產生乙個需要訪問的指令位址流。它是一系列需要訪問的指令的位址。為...

績效管理課程設計

哈爾濱劍橋學院 工商管理學院 東方餃子王大堂經理績效管理體系設計 院系 工商管理學院 班級 11級人資 班 學號 1104430 姓名指導教師 設計時間 12月16日 20日 第一項崗位分析 一 企業簡介 1 1 要求 在校園內或附近尋找乙個經濟組織及內部某一崗位 最好是企業組織 對其進行分析。確定...

專案管理課程設計

目錄1 目的與要求 2 2 課程設計內容 2 1.1 制定專案計畫 2 1.2 專案管理的檢視和報表 2 1.3 資源管理 2 3 課程特色 2 4 課程設計步驟與方法 2 1.1 時間管理 3 1.2 資源管理 3 1.3 設計說明書正文內容 3 5 操作說明 3 6 成果展示 3 7 參考文獻 ...