2015廣工操作系統(tǒng)課程設計報告_第1頁
2015廣工操作系統(tǒng)課程設計報告_第2頁
2015廣工操作系統(tǒng)課程設計報告_第3頁
2015廣工操作系統(tǒng)課程設計報告_第4頁
2015廣工操作系統(tǒng)課程設計報告_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)課程設計學生學院 計算機學院專業(yè)班級 13級計科9學 號學生姓名指導教師2015年 12 月 29 日一、課程設計介紹設計模擬一個實現(xiàn)多道批處理系統(tǒng)的兩級調(diào)度。通過具體的作業(yè)調(diào)度、進程調(diào)度、內(nèi)存 分配等功能的實現(xiàn),加深對多道批處理系統(tǒng)的兩級調(diào)度模型和實現(xiàn)過程的理解。作業(yè)從進入系統(tǒng)到最后完成,要經(jīng)歷兩級調(diào)度:作業(yè)調(diào)度和進程調(diào)度。作業(yè)調(diào)度是高級 調(diào)度,它的主要功能是根據(jù)一定的算法,從輸入井中選中若干個作業(yè),分配必要的資源,如 主存、外設等,為它們建立初始狀態(tài)為就緒的作業(yè)進程。進程調(diào)度是低級調(diào)度,它的主要功 能是根據(jù)一定的算法將CPU分派給就緒隊列中的一個進程。在本次課程設計中假定系統(tǒng)可供用

2、戶使用的主存空間共100KB,并有4臺磁帶機。主 存分配采用可變分區(qū)分配方式且主存中信息不允許移動,對磁帶機采用靜態(tài)分配策略,作業(yè) 調(diào)度分別采用先來先服務算法和最小作業(yè)優(yōu)先算法,進程調(diào)度則采用先來先服務和最短進程 優(yōu)先算法。二、課程設計環(huán)境計算機及操作系統(tǒng):PC機,WindowsXP系統(tǒng)程序設計使用工具:Microsoft VisualC+ 6.0程序設計語言:C語言三、課程設計思想假定“預輸入”程序已經(jīng)把一批作業(yè)的信息存放在輸入井了,并為它們建立了相應作業(yè)表。測試數(shù)據(jù)如下:作業(yè)到達時間估計運行時間內(nèi)存需要磁帶機需要JOB110:0025分鐘15K2臺JOB210:2030分鐘60K1臺JOB

3、310: 3010分鐘50K3臺JOB410: 3520分鐘10K2臺JOB510:4015分鐘30K2臺本次課程設計采用的是兩個作業(yè)調(diào)度算法:先來先服務算法和短作業(yè)優(yōu)先算法,兩個進 程調(diào)度算法:先來先服務算法,短進程優(yōu)先算法。系統(tǒng)根據(jù)所選算法組合對輸入系統(tǒng)的作業(yè) 進行兩級調(diào)度(作業(yè)調(diào)度,進程調(diào)度)。分別在不同算法控制下運行設計的程序,依次顯示被 選中作業(yè)、內(nèi)存空閑區(qū)和磁帶機的情況,輸出不同算法作業(yè)的選中次序及作業(yè)平均周轉(zhuǎn)時間。 作業(yè)的數(shù)據(jù)初始化輸入通過讀取文件這種方式進行導入。系統(tǒng)運行是通過設置指針來循環(huán)運 作。四、系統(tǒng)結構說明系統(tǒng)的各個模塊之間的關系如下:五、數(shù)據(jù)結構說明定義一個顯示時間的

4、結構體,成員包括時、分 struct timeint hour; 時int min; /分;建立作業(yè)控制塊,具體成員如下所示:struct jcbchar name10;進程名struct time arr_time;到達時間struct time ent_time;進入內(nèi)存時間struct time sta_time;開始時間struct time fin_time;結束時間int run_time;/估計運行時間int tr_time;/周轉(zhuǎn)時間int men;主存需要int mac;磁帶機int sta;狀態(tài)位struct jcb* next;typedef struct jcb JCB

5、;3.進程的鏈接結構體,成員如下所示:struct linkchar name10;進程名struct time arr_time; 到達時間 struct time ent_time; / 進入內(nèi)存時間struct time sta_time; 開始時間 struct time fin_time; 結束時間int run_time;int tr_time;int addr;int len;int mac;int state;struct link *f;struct link *b;/估計運行時間/周轉(zhuǎn)時間起始地址分區(qū)大小/磁帶機狀態(tài)位,0為空閑,1為被使用前指針六、主要調(diào)度算法思想流程圖1

6、 .整體算法流程圖后指針實現(xiàn)代碼詳見 CourseDesign.cpp七、運行測試1.測試數(shù)據(jù)(test.txt):進程名到達運行主存JOB110:0025 152JOB210:2030 601JOB310:3010 503磁帶機JOB4 10:3520 10 2JOB5 10:4015 30 2程序界面學院:計尊嘰學阮 班級班3113006172姓名:李建昌多道批處理系統(tǒng)的兩級調(diào)度模擬程序設初始系統(tǒng)時間為麗 請輸入文件名:1)算法組合:JFCFS&PFCFS根據(jù)先來先服務,第一個進行調(diào)度的是JOB1,到達時間為10: 00,運行時間為25分 鐘,周轉(zhuǎn)時間為25分鐘。為該作業(yè)分配內(nèi)存和磁帶機,

7、磁帶機由4-2,運行后得到如下圖:作業(yè)情況:進程名到達運行主存磁帶機進入開始完成周轉(zhuǎn)J0B11Q:Q251521Q:Q1Q:Q10:2525J0B210:20306010:00:00:00J0B310:30105030:00:00:00J0B410:35201020:00:00:00JOBS10:40153020:00:00實際程序運行所得并不止以上數(shù)據(jù),除此以外還有顯示內(nèi)存情況的圖表,這里只是為了 分析清楚而把主要數(shù)據(jù)給出,具體數(shù)據(jù)可運行程序所得,下面分析和以上一樣都做了簡化。第二個進行調(diào)度的是JOB2,到達時間為10: 20,完成時間為10: 55,周轉(zhuǎn)時間為35 分鐘,分配內(nèi)存和磁帶機,

8、如下圖所示:作業(yè)情況;進程名到達運行主存磁帶機進入開始完成周轉(zhuǎn)JOB110:02515210:010:010:2525JOB210:203060110:2010:2510:5535JOB310:30105030:00:00:00J0B410:35201020JOB510:40153020:00:00:00如此類推,最后得出所有作業(yè)的運行情況:作業(yè)運行結果情況:進程名到達運行主存磁帶機進入開始完成周轉(zhuǎn)JOB110:02515210:010:010:2525JOB210:203060110:2010:2510:5535JOB310:301050311:3011:3011:4070J0B410:35

9、2010210:3510:5511:1540JOB510:401530210:5511:1511:3050此時按回車鍵返回,重新選擇新的算法組合,得到各算法組合的所有作業(yè)運行情況2)算法組合:JFCFS&PSPF:作業(yè)運行結果情況:進程名到這運行主存磁帶機進入開始完成周轉(zhuǎn)JOB110:02515210:010:010:2525JOB210:203060110:2010:2510:5535JOB310:301050311:3011:3011:40?0J0B410:352010210:3511:1011:3055JOB510:401530210:5510:5511:10303)算法組合:JSJF&

10、PFCFS:作業(yè)運行結果情況:進程名到這運行主存磁帶機進入開始完成周轉(zhuǎn)J0B110:02515210:010:010:2525J0B210:203060110:2010:2510:5535J0B310:301050311:3011:3011:4070J0B410:352010210:3510:5511:1540J0B510:401530210:5511:1511:30504)算法組合:JSJF&PSPF:作業(yè)運行結果情況:進程名到達運行主存磁帶機進入開始完成周轉(zhuǎn)J0B110:02515210:010:010:2525J0B210:203060110:2010:2510:5535J0B310:3

11、01050311:3011:3011:4070J0B410:352010210:3511:1011:3055J0B510:401530210:5510:5511:1030得到四種組合的結果后,我們就可以來比較一下四種方式下得到的平均周轉(zhuǎn)時間,在選 擇調(diào)度方式時輸入5,程序會運行得到四種方式下的作業(yè)運行情況和各自的平均周轉(zhuǎn)時間。退出系統(tǒng)回車,輸入0結束程序。八、使用說明書1.運行程序,會顯示用戶界面,程序左下角會提示用戶輸入要進行模擬的文件名。若 輸入錯誤,程序會出現(xiàn)錯誤提示,然后重新輸入正確的文件名。2 .輸入文件名后,程序會顯示文件內(nèi)容并提示點擊任意鍵繼續(xù)運行。選擇進行調(diào)度的方式,分別對應1

12、、2、3、4選項,5選項用來比較四種調(diào)度方式的 平均周轉(zhuǎn)時間。0是結束并退出程序。選擇要進行的調(diào)度方式后,程序自動模擬兩級調(diào)度情況,顯示當前系統(tǒng)時間、內(nèi)存 分配、磁帶機分配以及作業(yè)調(diào)度的情況。點擊任意鍵,返回步驟3選擇調(diào)度方式,如此類推。注:在顯示內(nèi)存分配情況的圖表中,#代表此時并無作業(yè)調(diào)進內(nèi)存,除了起始地址、 狀態(tài)、大小有數(shù)據(jù)之外,其余用0表示其他項并沒有數(shù)據(jù)。九、課程設計總結這次的課程設計內(nèi)容就是實驗的前三個內(nèi)容的組合:進程調(diào)度,作業(yè)調(diào)度,內(nèi)存分配與 回收。這三個內(nèi)容都充分地體現(xiàn)了計算機運行作業(yè)和程序的各個方面,從而體現(xiàn)了計算機的 底層是如何實現(xiàn)進程和作業(yè)的分配和使用。其次,我覺得編程設計是學習軟件工程必不可少 的也是最重要的一個過程。通過對課程設計的實現(xiàn),我學到了很多知識。原來,學語言是要 打牢基礎

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論