版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、操作系統(tǒng)課程設(shè)計(jì)學(xué)生學(xué)院 計(jì)算機(jī)學(xué)院專業(yè)班級(jí) 13級(jí)計(jì)科9學(xué) 號(hào)學(xué)生姓名指導(dǎo)教師2015年 12 月 29 日一、課程設(shè)計(jì)介紹設(shè)計(jì)模擬一個(gè)實(shí)現(xiàn)多道批處理系統(tǒng)的兩級(jí)調(diào)度。通過(guò)具體的作業(yè)調(diào)度、進(jìn)程調(diào)度、內(nèi)存 分配等功能的實(shí)現(xiàn),加深對(duì)多道批處理系統(tǒng)的兩級(jí)調(diào)度模型和實(shí)現(xiàn)過(guò)程的理解。作業(yè)從進(jìn)入系統(tǒng)到最后完成,要經(jīng)歷兩級(jí)調(diào)度:作業(yè)調(diào)度和進(jìn)程調(diào)度。作業(yè)調(diào)度是高級(jí) 調(diào)度,它的主要功能是根據(jù)一定的算法,從輸入井中選中若干個(gè)作業(yè),分配必要的資源,如 主存、外設(shè)等,為它們建立初始狀態(tài)為就緒的作業(yè)進(jìn)程。進(jìn)程調(diào)度是低級(jí)調(diào)度,它的主要功 能是根據(jù)一定的算法將CPU分派給就緒隊(duì)列中的一個(gè)進(jìn)程。在本次課程設(shè)計(jì)中假定系統(tǒng)可供用
2、戶使用的主存空間共100KB,并有4臺(tái)磁帶機(jī)。主 存分配采用可變分區(qū)分配方式且主存中信息不允許移動(dòng),對(duì)磁帶機(jī)采用靜態(tài)分配策略,作業(yè) 調(diào)度分別采用先來(lái)先服務(wù)算法和最小作業(yè)優(yōu)先算法,進(jìn)程調(diào)度則采用先來(lái)先服務(wù)和最短進(jìn)程 優(yōu)先算法。二、課程設(shè)計(jì)環(huán)境計(jì)算機(jī)及操作系統(tǒng):PC機(jī),WindowsXP系統(tǒng)程序設(shè)計(jì)使用工具:Microsoft VisualC+ 6.0程序設(shè)計(jì)語(yǔ)言:C語(yǔ)言三、課程設(shè)計(jì)思想假定“預(yù)輸入”程序已經(jīng)把一批作業(yè)的信息存放在輸入井了,并為它們建立了相應(yīng)作業(yè)表。測(cè)試數(shù)據(jù)如下:作業(yè)到達(dá)時(shí)間估計(jì)運(yùn)行時(shí)間內(nèi)存需要磁帶機(jī)需要JOB110:0025分鐘15K2臺(tái)JOB210:2030分鐘60K1臺(tái)JOB
3、310: 3010分鐘50K3臺(tái)JOB410: 3520分鐘10K2臺(tái)JOB510:4015分鐘30K2臺(tái)本次課程設(shè)計(jì)采用的是兩個(gè)作業(yè)調(diào)度算法:先來(lái)先服務(wù)算法和短作業(yè)優(yōu)先算法,兩個(gè)進(jìn) 程調(diào)度算法:先來(lái)先服務(wù)算法,短進(jìn)程優(yōu)先算法。系統(tǒng)根據(jù)所選算法組合對(duì)輸入系統(tǒng)的作業(yè) 進(jìn)行兩級(jí)調(diào)度(作業(yè)調(diào)度,進(jìn)程調(diào)度)。分別在不同算法控制下運(yùn)行設(shè)計(jì)的程序,依次顯示被 選中作業(yè)、內(nèi)存空閑區(qū)和磁帶機(jī)的情況,輸出不同算法作業(yè)的選中次序及作業(yè)平均周轉(zhuǎn)時(shí)間。 作業(yè)的數(shù)據(jù)初始化輸入通過(guò)讀取文件這種方式進(jìn)行導(dǎo)入。系統(tǒng)運(yùn)行是通過(guò)設(shè)置指針來(lái)循環(huán)運(yùn) 作。四、系統(tǒng)結(jié)構(gòu)說(shuō)明系統(tǒng)的各個(gè)模塊之間的關(guān)系如下:五、數(shù)據(jù)結(jié)構(gòu)說(shuō)明定義一個(gè)顯示時(shí)間的
4、結(jié)構(gòu)體,成員包括時(shí)、分 struct timeint hour; 時(shí)int min; /分;建立作業(yè)控制塊,具體成員如下所示:struct jcbchar name10;進(jìn)程名struct time arr_time;到達(dá)時(shí)間struct time ent_time;進(jìn)入內(nèi)存時(shí)間struct time sta_time;開(kāi)始時(shí)間struct time fin_time;結(jié)束時(shí)間int run_time;/估計(jì)運(yùn)行時(shí)間int tr_time;/周轉(zhuǎn)時(shí)間int men;主存需要int mac;磁帶機(jī)int sta;狀態(tài)位struct jcb* next;typedef struct jcb JCB
5、;3.進(jìn)程的鏈接結(jié)構(gòu)體,成員如下所示:struct linkchar name10;進(jìn)程名struct time arr_time; 到達(dá)時(shí)間 struct time ent_time; / 進(jìn)入內(nèi)存時(shí)間struct time sta_time; 開(kāi)始時(shí)間 struct time fin_time; 結(jié)束時(shí)間int run_time;int tr_time;int addr;int len;int mac;int state;struct link *f;struct link *b;/估計(jì)運(yùn)行時(shí)間/周轉(zhuǎn)時(shí)間起始地址分區(qū)大小/磁帶機(jī)狀態(tài)位,0為空閑,1為被使用前指針六、主要調(diào)度算法思想流程圖1
6、 .整體算法流程圖后指針實(shí)現(xiàn)代碼詳見(jiàn) CourseDesign.cpp七、運(yùn)行測(cè)試1.測(cè)試數(shù)據(jù)(test.txt):進(jìn)程名到達(dá)運(yùn)行主存JOB110:0025 152JOB210:2030 601JOB310:3010 503磁帶機(jī)JOB4 10:3520 10 2JOB5 10:4015 30 2程序界面學(xué)院:計(jì)尊嘰學(xué)阮 班級(jí)班3113006172姓名:李建昌多道批處理系統(tǒng)的兩級(jí)調(diào)度模擬程序設(shè)初始系統(tǒng)時(shí)間為麗 請(qǐng)輸入文件名:1)算法組合:JFCFS&PFCFS根據(jù)先來(lái)先服務(wù),第一個(gè)進(jìn)行調(diào)度的是JOB1,到達(dá)時(shí)間為10: 00,運(yùn)行時(shí)間為25分 鐘,周轉(zhuǎn)時(shí)間為25分鐘。為該作業(yè)分配內(nèi)存和磁帶機(jī),
7、磁帶機(jī)由4-2,運(yùn)行后得到如下圖:作業(yè)情況:進(jìn)程名到達(dá)運(yùn)行主存磁帶機(jī)進(jìn)入開(kāi)始完成周轉(zhuǎn)J0B11Q:Q251521Q:Q1Q:Q10:2525J0B210:20306010:00:00:00J0B310:30105030:00:00:00J0B410:35201020:00:00:00JOBS10:40153020:00:00實(shí)際程序運(yùn)行所得并不止以上數(shù)據(jù),除此以外還有顯示內(nèi)存情況的圖表,這里只是為了 分析清楚而把主要數(shù)據(jù)給出,具體數(shù)據(jù)可運(yùn)行程序所得,下面分析和以上一樣都做了簡(jiǎn)化。第二個(gè)進(jìn)行調(diào)度的是JOB2,到達(dá)時(shí)間為10: 20,完成時(shí)間為10: 55,周轉(zhuǎn)時(shí)間為35 分鐘,分配內(nèi)存和磁帶機(jī),
8、如下圖所示:作業(yè)情況;進(jìn)程名到達(dá)運(yùn)行主存磁帶機(jī)進(jìn)入開(kāi)始完成周轉(zhuǎn)JOB110:02515210:010:010:2525JOB210:203060110:2010:2510:5535JOB310:30105030:00:00:00J0B410:35201020JOB510:40153020:00:00:00如此類推,最后得出所有作業(yè)的運(yùn)行情況:作業(yè)運(yùn)行結(jié)果情況:進(jìn)程名到達(dá)運(yùn)行主存磁帶機(jī)進(jìn)入開(kāi)始完成周轉(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此時(shí)按回車鍵返回,重新選擇新的算法組合,得到各算法組合的所有作業(yè)運(yùn)行情況2)算法組合:JFCFS&PSPF:作業(yè)運(yùn)行結(jié)果情況:進(jìn)程名到這運(yùn)行主存磁帶機(jī)進(jìn)入開(kāi)始完成周轉(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è)運(yùn)行結(jié)果情況:進(jìn)程名到這運(yùn)行主存磁帶機(jī)進(jìn)入開(kāi)始完成周轉(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è)運(yùn)行結(jié)果情況:進(jìn)程名到達(dá)運(yùn)行主存磁帶機(jī)進(jìn)入開(kāi)始完成周轉(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得到四種組合的結(jié)果后,我們就可以來(lái)比較一下四種方式下得到的平均周轉(zhuǎn)時(shí)間,在選 擇調(diào)度方式時(shí)輸入5,程序會(huì)運(yùn)行得到四種方式下的作業(yè)運(yùn)行情況和各自的平均周轉(zhuǎn)時(shí)間。退出系統(tǒng)回車,輸入0結(jié)束程序。八、使用說(shuō)明書1.運(yùn)行程序,會(huì)顯示用戶界面,程序左下角會(huì)提示用戶輸入要進(jìn)行模擬的文件名。若 輸入錯(cuò)誤,程序會(huì)出現(xiàn)錯(cuò)誤提示,然后重新輸入正確的文件名。2 .輸入文件名后,程序會(huì)顯示文件內(nèi)容并提示點(diǎn)擊任意鍵繼續(xù)運(yùn)行。選擇進(jìn)行調(diào)度的方式,分別對(duì)應(yīng)1
12、、2、3、4選項(xiàng),5選項(xiàng)用來(lái)比較四種調(diào)度方式的 平均周轉(zhuǎn)時(shí)間。0是結(jié)束并退出程序。選擇要進(jìn)行的調(diào)度方式后,程序自動(dòng)模擬兩級(jí)調(diào)度情況,顯示當(dāng)前系統(tǒng)時(shí)間、內(nèi)存 分配、磁帶機(jī)分配以及作業(yè)調(diào)度的情況。點(diǎn)擊任意鍵,返回步驟3選擇調(diào)度方式,如此類推。注:在顯示內(nèi)存分配情況的圖表中,#代表此時(shí)并無(wú)作業(yè)調(diào)進(jìn)內(nèi)存,除了起始地址、 狀態(tài)、大小有數(shù)據(jù)之外,其余用0表示其他項(xiàng)并沒(méi)有數(shù)據(jù)。九、課程設(shè)計(jì)總結(jié)這次的課程設(shè)計(jì)內(nèi)容就是實(shí)驗(yàn)的前三個(gè)內(nèi)容的組合:進(jìn)程調(diào)度,作業(yè)調(diào)度,內(nèi)存分配與 回收。這三個(gè)內(nèi)容都充分地體現(xiàn)了計(jì)算機(jī)運(yùn)行作業(yè)和程序的各個(gè)方面,從而體現(xiàn)了計(jì)算機(jī)的 底層是如何實(shí)現(xiàn)進(jìn)程和作業(yè)的分配和使用。其次,我覺(jué)得編程設(shè)計(jì)是學(xué)習(xí)軟件工程必不可少 的也是最重要的一個(gè)過(guò)程。通過(guò)對(duì)課程設(shè)計(jì)的實(shí)現(xiàn),我學(xué)到了很多知識(shí)。原來(lái),學(xué)語(yǔ)言是要 打牢基礎(chǔ)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度廠房改造裝修及智能化系統(tǒng)優(yōu)化合同4篇
- 二零一四年度軟件著作權(quán)許可使用合同
- 二零二五版出租廠房安全生產(chǎn)應(yīng)急預(yù)案編制及演練合同樣本3篇
- 二零二五年度廠房安全檢測(cè)與評(píng)估合同示范4篇
- 二零二五版成都房地產(chǎn)工程設(shè)備采購(gòu)合同4篇
- 二零二四年度養(yǎng)老服務(wù)業(yè)態(tài)調(diào)研委托合同3篇
- 二零二五版成都市區(qū)二手房交易合同樣本4篇
- 個(gè)人借款擔(dān)保合同(2024版)
- 2025年上海二手買賣合同(三篇)
- 二零二五年度商場(chǎng)餐桌茶幾租賃及廣告位合作合同3篇
- 2025年八省聯(lián)考數(shù)學(xué)試題(原卷版)
- 2024年日語(yǔ)培訓(xùn)機(jī)構(gòu)市場(chǎng)供需現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 《榜樣9》觀后感心得體會(huì)二
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2023新譯林版新教材高中英語(yǔ)必修一重點(diǎn)詞組歸納總結(jié)
- 蘇教版四年級(jí)數(shù)學(xué)下冊(cè)第3單元第2課時(shí)“常見(jiàn)的數(shù)量關(guān)系”教案
- 弘揚(yáng)中華傳統(tǒng)文化課件
- 基于協(xié)同過(guò)濾算法的電影推薦系統(tǒng)設(shè)計(jì)
- 消防應(yīng)急預(yù)案流程圖
- 《數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)導(dǎo)論》完整版課件(全)
- 人教統(tǒng)編版高中語(yǔ)文必修下冊(cè)第六單元(單元總結(jié))
評(píng)論
0/150
提交評(píng)論