作業系統課程設計

2021-04-13 03:24:04 字數 1864 閱讀 2435

實驗

一、程序管理與程序同步

實驗目的

了解程序管理的實現方法,理解和掌握處理程序同步問題的方法並完成程式設計。

實驗內容:

實現銀行家演算法、程序排程的過程模擬。

實驗步驟:

理解銀行家演算法的核心機制;

設計相應資料結構;

程式設計實現;

測試。理解程序的三狀態排程過程;

設計排程演算法;

程式設計實現;

測試。實驗結果:

所實現的系統提供乙個使用者介面,可以在上邊發出資源申請命令,系統應能給出是否可以接受申請,並且有結論輸出;

所實現的系統根據乙個程序排程命令檔案,模擬程序的各種排程過程,用適合的表達方式表示出來。

// 程序排程的過程模擬

//#include "stdafx.h"

#include "stdio.h"

#include

#include "trique.h"

#include "iostream.h"

int  r[3]=;

void readfile(prdy &ready)

dowhile(true);

fclose(fp); }

void delfromready(prdy &ready)

void inserttosus()

void delfromsus()

void inserttoready(prdy &ready,prdy runque)

runque->next = null;

p->next = runque; }

void roundrun(prdy &ready)

delfromsus();

inserttoready(ready,runque);

}else

if(time == runque->rtm)

else

printf("/n任意鍵繼續... .../n");

//delfromrun(runque);

}while(p->next!=null); }

int main(int argc, char* argv)

實驗

二、儲存器管理

實驗目的:了解虛擬儲存器管理的方法,理解置換演算法的工作原理。

實驗內容:程式設計實現

lru等置換演算法,模擬實現虛擬儲存器的位址變換過程。

實驗步驟:

理解lru

等置換演算法

;理解虛擬儲存器的位址變換過程。

程式設計實現; 測試

實驗結果:所實現的系統應能形象地表示出置換演算法的運**況,以及將輸入的邏輯位址變換成實體地址的過程。

// #include "stdafx.h"

#include

int ye[10]=;

int yesize[3];

int i***ists(int key)

void exchange(int pos,int key)

void print(bool istype,int key)

int lru()

else

key ++; }

return 1; }

int main(int argc, char* argv)

作業系統課程設計

1 實驗內容 學習程序管理的設計與實現,學習和運用作業系統原理,設計乙個作業系統子系統的模擬系統。通過該系統的設計除錯可增加對作業系統實現的感知性。設計乙個允許n個程序併發執行的程序管理的模擬系統。該系統包括簡單的程序控制 同步及通訊機構,其程序排程演算法可任意選擇。分析系統所需的資料結構 演算法的...

作業系統課程設計 模擬作業系統

程序管理主要包括程序排程,程序的建立和撤銷 程序的阻塞和喚醒,中斷作用的實現。用全域性變數模擬重要暫存器,如cpu重要暫存器,程式狀態暫存器psw 指令暫存器ir,程式計數器pc,資料緩衝暫存器dr等。中斷的發現應該是硬體的工作,這裡在函式cpu中加檢測psw的方式來模擬。在cpu 函式中,每執行一...

作業系統課程設計題目

1.shell 程式設計實驗 實驗 編寫乙個shell指令碼檔案 e 1 自學命令 cut,grep,sort,test。編寫shell指令碼,將以下檔案d1和d2集成為檔案d3。e 2 編寫兩個shell 指令碼s1,s2,s1能夠啟動3個程序,程序名稱分別為a,b,c,每個程序的 如下 int ...