操作系統(tǒng)實(shí)驗(yàn)研究一_第1頁
操作系統(tǒng)實(shí)驗(yàn)研究一_第2頁
操作系統(tǒng)實(shí)驗(yàn)研究一_第3頁
操作系統(tǒng)實(shí)驗(yàn)研究一_第4頁
操作系統(tǒng)實(shí)驗(yàn)研究一_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、合肥學(xué)院操作系統(tǒng)實(shí)驗(yàn)報(bào)告學(xué)號:姓名:秦瑞金系別:管理系專業(yè):信息管理指導(dǎo)老師:理耀實(shí)驗(yàn)成績:操作系統(tǒng)實(shí)驗(yàn)題一:設(shè)計(jì)一若干并發(fā)進(jìn)程的進(jìn)程調(diào)度程序?qū)嶒?yàn)?zāi)康脑诙嗟莱绦蚝投嗳蝿?wù)系統(tǒng)中,系統(tǒng)內(nèi)同時(shí)處于就緒狀態(tài)的進(jìn)程可能有若干個(gè)。也就是說能運(yùn)行的進(jìn)程數(shù)大于處理機(jī)個(gè)數(shù)。為了使系統(tǒng)中的進(jìn)程能有條不紊地工作,必須選用某種調(diào)度策略,選擇某一進(jìn)程占用處理機(jī)。實(shí)驗(yàn)要求用高級語言編寫和調(diào)試一個(gè)進(jìn)程調(diào)度程序,以加深對進(jìn)程的概念及進(jìn)程調(diào)度算法的理解.三、實(shí)驗(yàn)內(nèi)容進(jìn)程調(diào)度算法:采用最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法(即把處理機(jī)分配給優(yōu)先數(shù)最高的進(jìn)程)和先來先服務(wù)算法。每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊()表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程名

2、、優(yōu)先數(shù)、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已用時(shí)間、進(jìn)程狀態(tài)等等。進(jìn)程的優(yōu)先數(shù)及需要的運(yùn)行時(shí)間可以事先人為地指定(也可以由隨機(jī)數(shù)產(chǎn)生)。進(jìn)程的到達(dá)時(shí)間為進(jìn)程輸入的時(shí)間。進(jìn)程的運(yùn)行時(shí)間以時(shí)間片為單位進(jìn)行計(jì)算。每個(gè)進(jìn)程的狀態(tài)可以是就緒()、運(yùn)行()、或完成()三種狀態(tài)之一。就緒進(jìn)程獲得后都只能運(yùn)行一個(gè)時(shí)間片。用已占用時(shí)間加來表示。如果運(yùn)行一個(gè)時(shí)間片后,進(jìn)程的已占用時(shí)間已達(dá)到所需要的運(yùn)行時(shí)間,則撤消該進(jìn)程,如果運(yùn)行一個(gè)時(shí)間片后進(jìn)程的已占用時(shí)間還未達(dá)所需要的運(yùn)行時(shí)間,也就是進(jìn)程還需要繼續(xù)運(yùn)行,此時(shí)應(yīng)將進(jìn)程的優(yōu)先數(shù)減(即降低一級),然后把它插入就緒隊(duì)列等待。每進(jìn)行一次調(diào)度程序都打印一次運(yùn)行進(jìn)程、就緒隊(duì)列、以及各

3、個(gè)進(jìn)程的,以便進(jìn)行檢查。重復(fù)以上過程,直到所要進(jìn)程都完成為止。實(shí)驗(yàn)算法流程優(yōu)先數(shù)調(diào)度算法用于進(jìn)程調(diào)度時(shí),系統(tǒng)把處理機(jī)分配給就緒隊(duì)列中優(yōu)先數(shù)最大的進(jìn)程,系統(tǒng)一旦把處理機(jī)分配給就緒隊(duì)列中優(yōu)先數(shù)最大的進(jìn)程后,該進(jìn)程便一直執(zhí)行下去直至完成,若因發(fā)生某事件使該進(jìn)程放棄處理機(jī)時(shí),系統(tǒng)方可再將處理機(jī)重新分配給另一優(yōu)先數(shù)最大的進(jìn)程。在輪轉(zhuǎn)調(diào)度算法中,系統(tǒng)將所有的就緒進(jìn)程按先來先服務(wù)的原則排成一個(gè)隊(duì)列,每次調(diào)度時(shí),把分配給隊(duì)首進(jìn)程,并令其執(zhí)行一個(gè)時(shí)間片。當(dāng)執(zhí)行的時(shí)間片用完時(shí),又一個(gè)計(jì)時(shí)器發(fā)出時(shí)鐘中斷請求,調(diào)度程序便據(jù)此信號來停止該進(jìn)程的執(zhí)行,并將它送往就緒隊(duì)列的末尾,然后,再把處理機(jī)分配給就緒隊(duì)列中新的隊(duì)首進(jìn)程

4、,同時(shí)也讓它執(zhí)行一個(gè)時(shí)間片。實(shí)驗(yàn)程序清單進(jìn)程名稱已使用的時(shí)間片數(shù)需要的時(shí)間片數(shù)優(yōu)先數(shù)(優(yōu)先數(shù)法)或分配的單位(輪轉(zhuǎn)法)進(jìn)程狀態(tài)定義全局變量定義對象,用于把數(shù)據(jù)插入控件判斷是否采用優(yōu)先數(shù)法()存放當(dāng)前運(yùn)行的進(jìn)程控制塊中的數(shù)據(jù)()存放模擬的進(jìn)程()備份模擬的進(jìn)程,存放模擬的進(jìn)程數(shù)每個(gè)單位分配的時(shí)間片存放總調(diào)度次數(shù)存放總時(shí)間片數(shù),存放隨機(jī)數(shù)存放被暫停的(,)計(jì)算分配的單位(輪轉(zhuǎn)發(fā))()()對進(jìn)程按優(yōu)先數(shù)進(jìn)行排序,并加入到(控件)中用于在排序過程中臨時(shí)存放數(shù)據(jù)用冒泡排序法按優(yōu)先級降序進(jìn)行排序()()交換數(shù)據(jù)()清除就緒隊(duì)列向就緒隊(duì)列中插入進(jìn)程()初始化對象,并向(控件)中添加數(shù)據(jù)(,(),()(),(

5、)(),()(),()(),()()開始取得就緒站頂?shù)姆湃?)()()()()()()()()初始化控件()初始化完成度進(jìn)度條()把從中移除()初始化移動(控件)的位置判斷是否為輪轉(zhuǎn)法()根據(jù)單位計(jì)算時(shí)間片數(shù)()*()初始化時(shí)間片進(jìn)度條開始移動控件()完成和結(jié)束處理置完成的(用于判斷是否向中添加)狀態(tài)()()()()把該進(jìn)程加入到(控件)完成隊(duì)列中(,),(),(),(),()判斷是否結(jié)束如果結(jié)束如果是比較模式的第一次運(yùn)行改變標(biāo)志,表示已經(jīng)運(yùn)行過一次判斷運(yùn)行過的算法,設(shè)置未運(yùn)行的算法為當(dāng)前算法清除就緒隊(duì)列恢復(fù)按鍵功能()()利用備份數(shù)據(jù)重新初始化()()()()(),()()()(,(),()

6、把新數(shù)據(jù)加入到就緒隊(duì)列中(),()(),()(),()(),()重新開始運(yùn)行運(yùn)行全部結(jié)束設(shè)置標(biāo)志位()返回就緒隊(duì)列判斷算法如果是優(yōu)先數(shù)法優(yōu)先數(shù)減一把運(yùn)行的數(shù)據(jù)放回?cái)?shù)組()()()()()()刷新(,(),()(),()(),()(),()(),()如果是輪轉(zhuǎn)法重新計(jì)算分配的單位(,)放入就緒隊(duì)列的隊(duì)尾(,(),(),(),()置標(biāo)志位請先模擬進(jìn)程!()控制時(shí)間片結(jié)束整個(gè)程序()為優(yōu)先數(shù)算法初始化表頭 TOC o 1-5 h z 進(jìn)程調(diào)度模擬優(yōu)先數(shù)法,名稱,使用時(shí)間片,需要時(shí)間片,優(yōu)先級,狀態(tài),名稱,使用時(shí)間片,需要時(shí)間片,優(yōu)先級,狀態(tài),為輪轉(zhuǎn)法初始化表頭進(jìn)程調(diào)度模擬輪轉(zhuǎn)法名稱,使用時(shí)間片,需要

7、時(shí)間片,時(shí)間片,狀態(tài),名稱,使用時(shí)間片,需要時(shí)間片,時(shí)間片,狀態(tài),()取得模擬進(jìn)程數(shù)()對不起!請輸入模擬進(jìn)程數(shù)。從新定義進(jìn)程數(shù)組()()()隨機(jī)賦值()進(jìn)程()()()()*()隨機(jī)取判斷使用算法根據(jù)占用的大小生成優(yōu)先數(shù)()()分配單位()(),()備份數(shù)據(jù)()()如果是優(yōu)先數(shù)算法則排序否則直接添加到中(,(),()(),()(),()(),()(),()()調(diào)節(jié)動畫速度調(diào)節(jié)控件的間隔時(shí)間快取每單位分配的時(shí)間片()判斷是否有效對不起,請規(guī)定每次分配的時(shí)間片。判斷就緒隊(duì)列中是否有進(jìn)程(對不起,就緒隊(duì)列中沒有進(jìn)程。要模擬進(jìn)程嗎?,)清除完成隊(duì)列屏蔽按鈕清除計(jì)數(shù)器開始運(yùn)行()暫停系統(tǒng)表示要暫停,否則表示恢復(fù)暫停判斷當(dāng)前運(yùn)行的恢復(fù)運(yùn)行()()()()()六、運(yùn)行結(jié)果及分析在運(yùn)行界面上先模擬幾個(gè)進(jìn)程,系統(tǒng)會自動選擇幾個(gè)隨機(jī)數(shù),點(diǎn)擊開始后,系統(tǒng)按調(diào)度算法對各進(jìn)程進(jìn)行調(diào)度。優(yōu)先數(shù)算法是按優(yōu)先數(shù)從高到低的順序進(jìn)行的,輪轉(zhuǎn)法是將各進(jìn)程按先來先排列的順序進(jìn)行排列,隨后按其各自的時(shí)間片大小進(jìn)行調(diào)度,七、總結(jié)與體會在做這個(gè)課程設(shè)計(jì)之前,對每個(gè)進(jìn)程調(diào)度算法并不時(shí)理解的很深刻,有時(shí)還有可能相互混淆,在圖書管理找到了相關(guān)的書籍,也從網(wǎng)上搜索了很多相關(guān)資料,做這個(gè)程序的

溫馨提示

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

最新文檔

評論

0/150

提交評論