
作业系统排班模拟器.ppt
12页作業系統排班模擬器,研究背景,此專題提出各種不同作業系統的排程方式,使其應用在各種比較及分析透過這些排程也能夠讓我們得到最佳化而去面對其他有關評估效率的情形不管在任何關於比較效率的地方,都相當廣泛利用到作業系統的排班方式,所以我們在這裡將把排程系統加以改善,使其能夠發揮最大的效能以利於比較執行結果研究目的,對於之前所學習過的各種排班系統,我們想要實際模擬出來並進行各種比較因為之前在課本所學的全是理論方面,並沒有實際的做過實驗,所以我們這次主要目的是讓先前的學習有更深入的了解因應現在市場上有許多時候需要了解排程相關的各種問題,例如;一間工廠該如何安排生產排程,使流程達到更有效率的管理,為了了解各種排程方式,所以特別找了相關資料來研究有關於各種排程方式的排列與組合,使的人們生活上遇到的各種排程問題能夠更有效率的解決研究方法,首先我們選擇使用最高階的VisualBasic語言來實行,因為它 的資源多,「物件導向」開發圖形介面(GUI)的方法,不必撰寫多餘描述介面的外觀及配件元件,可以節省許多時間來做其他更值得深入了解的內容利用VisualBasic模擬所有現有的排班系統: (FirsInFirstOot、Round Robin 、 Shortest JobNext 、Sort- Tile-Recursive 、P1、P2),可自行設定行程Process label 、 Arrival Tim、Execution Time、Priority與RR排程Quantum。
我 們可以一一加入行程,程式會自動依據排班系統的不同一一分析, 並以甘特圖之方式呈現出來排程系統簡單介紹 ◎FIFO(先來先做):CPU分配給處理單元的次序是依據他們到達預備佇列之時間 先後而定 First-come, First Served (FCFS) 先到先服務 Process Burst Time P1 24 P2 3 P3 3p1 p2 p3|-----------------|--------|--------|24 3 3 WaitingTime = ( 0 + 24 + 24+3 ) / 3 = 17P2 P3 P1|--------|--------|-----------------|3 3 24 WaitingTime = ( 0 + 3 + 6 ) / 3 = 3可看出將較長的process 置前,將會大量增加W.T.※ 護送效應(convoy effect):其餘所有process 等待一特別大的process 結束佔用CPU,以致造成CPU & device 使用率降低。
◎SJN(最短的先做):執行時間最短的優先執行Shortest-Job-Next (SJN) 最短小者優先 Process Burst Time P1 6 P2 8 P3 7 P4 3P4 P1 P3 P2 |-----|-------|--------|---------|3 6 7 8W.T. = ( 3 + 16 + 9 + 0 ) / 4 = 7 若以FIFO 則W.T. = 10.25,◎RR(輪作法): CPU分配給處理單元的次序仍是採用先到先做.但處理單元若是在時間配合 用完仍未完成工作.則必須再回去排隊特別為時間共享(time-sharing)系統所設計一時間量子(time quantum, 10至100 ms)或時間片段(time slice)被定義,每個process 一次最多給 一單位其ready queue 是循環佇列(circular queue)Process Burst Time P1 20 P2 3 P3 3P1 P2 P3 P1 P1 P1 P1|-----|-----|-----|-----|-----|-----|-----|0 4 7 10 14 18 22 26 平均W.T. = 17/3 = 5.66 ms,◎Priority Scheduling 優先等級排程每一個程序分別與其優先等級程度(priority)關連,SJF 亦是優先等級排程,其priority 之值即CPU Burst time 之倒數。
Priority 通常為固定範圍的數字,如0 到7 或0 到4095,Priority 可由內部或外部來定義之在UNIX 系統裡:Priority = ( “recent CPU usage”/ constant ) + ( base priority ) + ( nice value ) Process Arrival Time Burst Time P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2P2 P5 P1 P3 P4|---|-----------|--------------------------|-----|---|0 1 6 16 18 19 平均W.T. = 8.2,以下利用兩個圖為設定前和執行隨機程序後來作為執行結果,實驗結果,我們從實驗結果圖中可以看到各種不同排程,透過設定其抵達預備佇列的時間、執行時間、優先權的決定等等…,經由設定其值使FIFO(先來先做法)、SJN(最短先做法)、STR、RR(輪作法)及P1、P2(優先等級排程)等等排程的甘特圖顯示於上,也可以清楚看出其效率的執行,以決定要用何種的作業系統排程來完成需求。
未來展望與心得,經過這次專題研究,無論是在作業系統與程式方面等等,都有了較深入的了解,比起剛起手實作時的手忙腳亂,確實有長進許多,也許真的需要這些深入研究的磨練,才能夠更完整地吸收到相關的知識,也十分感謝學校能給予此機會讓同學彼此間的互動更完善 原本在此專題中希望能做得更完整,藉由耗電量計算的方式呈現,可是基於一些因素無法完成,這是此專題的小小遺憾在未來希望能夠利用這些排程方式,經過一些詳細的計算,套用在計算耗電量等等不同的各個領域上,使得使用其方式的人能夠更方便計算出如何來節省耗電參考文獻,Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg. Operating System Concepts. Hoboken, NJ: John Wiley & Sons. 2008). ISBN 978-0-470-12872-5.(俗稱恐龍書,OS教科書聖經本)Stallings, William. Operating Systems: Internals and Design Principles, 5/E. Prentice Hall. 2005. ISBN 0-13-147954-7.Visual Studio 2010 to launch in March. CNET.com. 2009-10-19 [2009-12-13] (英文).http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html,。
