當前位置:編程學習大全網 - 編程語言 - 操作系統課程設計

操作系統課程設計

設計題目

1設計題目:CPU調度(CPU調度算法的模擬實現)

具體內容:編寫算法,實現CPU調度算法FCFS、非搶占SJF、可搶占優先權調度、RR

針對模擬進程,利用CPU調度算法進行調度

進行算法評價,計算平均周轉時間和平均等待時間

要求:調度所需的進程參數由輸入產生

手工輸入

隨機數產生

輸出調度結果

輸出雞撣慣趕甙非軌石憨將算法評價指標

2設計題目:虛擬內存 (頁面置換算法的模擬實現)

具體內容:編寫算法,實現頁面置換算法FIFO、LRU

針對內存地址引用串,運行頁面置換算法進行頁面置換

要求:算法所需的引用串參數由輸入產生:可由手工輸入也可基於隨機數產生

輸出內存駐留的頁面集合

1.進程調度算法模塊

[問題描述]

1、進程調度算法:采用動態最高優先數優先的調度算法(即把處理機分配給優先數最高的進程)。

2、每個進程有壹個進程控制塊( PCB)表示。進程控制塊可以包含如下信息:

進程名---進程標示數 ID

優先數 PRIORITY 優先數越大優先權越高

到達時間---進程的到達時間為進程輸入的時間。、

進程還需要運行時間ALLTIME,進程運行完畢ALLTIME=0,

已用CPU時間----CPUTIME、

進程的阻塞時間STARTBLOCK-表示當進程在運行STARTBLOCK個時間片後,進程將進入阻塞狀態

進程的阻塞時間BLOCKTIME--表示當進程阻塞BLOCKTIME個時間片後,進程將進入就緒狀態

進程狀態—STATE

隊列指針NEXT 用來將PCB排成隊列。

3、調度原則:

進程的優先數及需要的運行時間可以事先人為地指定(也可以由隨機數產生)。進程的到達時間為進程輸入的時間。

進程的運行時間以時間片為單位進行計算。

進程在就緒隊列中待壹個時間片,優先數加1

每個進程的狀態可以是就緒 R(READY)、運行R(Run)阻塞B(BLOCK)、或完成F(Finish)四種狀態之壹。

就緒進程獲得 CPU後都只能運行壹個時間片。用已占用CPU時間加1來表示。

如果運行壹個時間片後,進程的已占用CPU時間已達到所需要的運行時間,則撤消該進程,如果運行壹個時間片後進程的已占用CPU時間還未達所需要的運行時間,也就是進程還需要繼續運行,此時應將進程的優先數減3,然後把它插入就緒隊列等待CPU。

每進行壹次調度程序都打印壹次運行進程、就緒隊列、以及各個進程的 PCB,以便進行檢查。

重復以上過程,直到所要進程都完成為止。

求課程設計報告和用c語言編寫的源代碼

  • 上一篇:急 200分求解決系統裝不了VC++的方法
  • 下一篇:關於科技改變生活的作文1000字
  • copyright 2024編程學習大全網