操作系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)報(bào)告書 操作系統(tǒng)課程設(shè)計(jì)報(bào) 告 書 目 錄設(shè)計(jì)要求.3設(shè)計(jì)實(shí)現(xiàn).3主界面.3a.作業(yè)調(diào)度的三個(gè)算法.3b.銀行家算法.4c.頁(yè)面調(diào)度算法.5d.驅(qū)動(dòng)調(diào)度算法.6實(shí)現(xiàn)原理.8a.作業(yè)調(diào)度的三個(gè)算法.8一、任務(wù).8二、要求.8三、原理.8四、數(shù)據(jù)結(jié)構(gòu).8五、實(shí)現(xiàn)方法.11六、運(yùn)行結(jié)果.16b.銀行家算法.16一、任務(wù).16二、要求.16三、原理.16四、數(shù)據(jù)結(jié)構(gòu).17五、實(shí)現(xiàn)方法.18六、運(yùn)行結(jié)果.19c.頁(yè)面調(diào)度算法.22一、任務(wù).22二、要求.22三、原理.22四、數(shù)據(jù)結(jié)構(gòu).22五、實(shí)現(xiàn)方法.25六、運(yùn)行結(jié)果.28d.驅(qū)動(dòng)調(diào)度算法.31一、任務(wù).31二、要求.31三、原理.31

2、四、數(shù)據(jù)結(jié)構(gòu).32五、實(shí)現(xiàn)方法.33六、運(yùn)行結(jié)果.34心得.35設(shè)計(jì)要求將本學(xué)期的四次實(shí)驗(yàn)集成實(shí)現(xiàn)a.實(shí)驗(yàn)一為作業(yè)調(diào)度的三個(gè)算法b.實(shí)驗(yàn)二為銀行家算法c.實(shí)驗(yàn)三為頁(yè)面替換的三個(gè)算法d.實(shí)驗(yàn)三為驅(qū)動(dòng)調(diào)度的三個(gè)算法設(shè)計(jì)實(shí)現(xiàn)主功能界面,如圖1圖1a.作業(yè)調(diào)度的三個(gè)算法點(diǎn)擊作業(yè)調(diào)度算法,如圖1.1圖1.1點(diǎn)擊預(yù)定義,如圖1.1.1圖1.1.1點(diǎn)擊自定義,如圖1.1.2圖1.1.2b.銀行家算法點(diǎn)擊銀行家算法,如圖2.1圖2.1點(diǎn)擊預(yù)定義,如圖2.1.1圖2.1.1點(diǎn)擊自定義,如圖2.1.2圖2.1.2c.實(shí)驗(yàn)三為頁(yè)面替換的三個(gè)算法點(diǎn)擊頁(yè)面替換算法,如圖3.1圖3.1點(diǎn)擊預(yù)定義,如圖3.1.1圖3.1.

3、1點(diǎn)擊自定義,如圖3.1.2圖3.1.2d.實(shí)驗(yàn)三為驅(qū)動(dòng)調(diào)度的三個(gè)算法點(diǎn)擊驅(qū)動(dòng)調(diào)度算法,如圖4.1圖4.1點(diǎn)擊預(yù)定義,如圖4.1.1圖4.1.1點(diǎn)擊自定義,如圖4.1.2圖4.1.2實(shí)現(xiàn)原理a.作業(yè)調(diào)度的三個(gè)算法一、任務(wù):實(shí)現(xiàn)作業(yè)調(diào)度的三個(gè)算法a.先來(lái)先服務(wù)算法(fcfs)。b.最短作業(yè)優(yōu)先算法(sjf)。c.響應(yīng)比最高優(yōu)先者優(yōu)先算法(hrrf)。二、要求:1.實(shí)現(xiàn)對(duì)三種算法的模擬實(shí)現(xiàn)。2.分別計(jì)算出三種算法的平均作業(yè)周轉(zhuǎn)時(shí)間、平均帶權(quán)作業(yè)周轉(zhuǎn)時(shí)間。三、原理:a.先來(lái)先服務(wù)算法(fcfs)按作業(yè)到達(dá)cpu時(shí)間先后順序進(jìn)行非剝奪式調(diào)度,先到達(dá)cpu的作業(yè)先被執(zhí)行。b.最短作業(yè)優(yōu)先算法(sjf)忽

4、視作業(yè)的等待時(shí)間,按作業(yè)所需要的cpu運(yùn)行時(shí)間長(zhǎng)短進(jìn)行非剝奪式調(diào)度,cpu運(yùn)行時(shí)間短的作業(yè)先被執(zhí)行。c.響應(yīng)比最高優(yōu)先者優(yōu)先算法(hrrf)介乎fcfs算法和sjf算法之間的折中的非剝奪式算法,既考慮作業(yè)的等待時(shí)間,又作業(yè)的處理時(shí)間。按如下計(jì)算方法得出每輪各作業(yè)響應(yīng)比:響應(yīng)比 = 作業(yè)周轉(zhuǎn)時(shí)間 / 作業(yè)處理時(shí)間 = 1 + 作業(yè)等待時(shí)間 / 作業(yè)處理時(shí)間從中選出響應(yīng)比最大的作業(yè)執(zhí)行,再進(jìn)行下一輪剩下未被執(zhí)行的作業(yè)響應(yīng)比計(jì)算,直到剩余最后一個(gè)作業(yè)完止。四、數(shù)據(jù)結(jié)構(gòu):class jobpublic:char *jobname;/jobname/作業(yè)名int id;/ordertoexecute/執(zhí)

5、行序號(hào)float arrivetime;/到達(dá)cpu時(shí)間float cputime;/作業(yè)處理時(shí)間float responseratio;/響應(yīng)比(執(zhí)行hrrf算法時(shí)起作用)job * next;/指向下一個(gè)創(chuàng)建的作業(yè)(不代表到達(dá)/cpu時(shí)間)job *ordernext;/指向下一個(gè)最近的到達(dá)cpu的作業(yè)job ( )/對(duì)象創(chuàng)建時(shí)作業(yè)初始化,全部置0或置空jobname=null;id=0;arrivetime=0;cputime=0;responseratio=0;next=null;ordernext=null;結(jié)構(gòu)圖idjobnamearrivetimecputimeresponser

6、atio*next 指針*ordernext 指針原始鏈表(next 指針按創(chuàng)建先后順序排列)null五、實(shí)現(xiàn)方法:將進(jìn)程中的作業(yè)按到達(dá)cpu時(shí)間從小到大排列,重新鏈接作業(yè)。新鏈表(ordernext 指針 按到達(dá)cpu時(shí)間從小到大排列)null以下用到的作業(yè)順序皆指新鏈表中的作業(yè)順序a. 先來(lái)先服務(wù)算法(fcfs)新鏈表中作業(yè)已經(jīng)按作業(yè)按到達(dá)cpu時(shí)間從小到大排列,只需從第一個(gè)作業(yè)(頭結(jié)點(diǎn))依次調(diào)度至最后一個(gè)作業(yè)(尾結(jié)點(diǎn))。過(guò)程示意圖:作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null執(zhí)行第一個(gè)作業(yè) 作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null執(zhí)行到了最后一個(gè)作業(yè)b. 最短作業(yè)優(yōu)先算法(sjf)s1.執(zhí)行一輪查找,篩選出

7、小于已執(zhí)行作業(yè)累加總cpu時(shí)間(第一個(gè)作業(yè)之前累加cpu時(shí)間認(rèn)為是0)的作業(yè)列。s2.從s1中篩選出的作業(yè)列中選出cpu時(shí)間(cputime)最小的作業(yè)送去cpu執(zhí)行,完畢后將此作業(yè)累加到總cpu時(shí)間。s3.重復(fù)上述步驟,直至作業(yè)全部執(zhí)行完畢。過(guò)程示意圖:作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null第一輪查找,只有第一個(gè)作業(yè)符合,取出執(zhí)行作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null第二輪查找,篩選出小于已執(zhí)行作業(yè)累加總cpu時(shí)間,找出cpu時(shí)間最小的作業(yè),取出執(zhí)行作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null第 n 輪查找,篩選出小于已執(zhí)行作業(yè)累加總cpu時(shí)間,找出cpu時(shí)間最小的作業(yè),取出執(zhí)行作業(yè)最后一輪查找,篩選出小于已執(zhí)行作

8、業(yè)累加總cpu時(shí)間,找出cpu時(shí)間最小的作業(yè),取出執(zhí)行c. .響應(yīng)比最高優(yōu)先者優(yōu)先算法(hrrf)s1.執(zhí)行第一個(gè)作業(yè),完畢后計(jì)算剩下的各作業(yè)響應(yīng)比。s2.執(zhí)行s1中響應(yīng)比最大的作業(yè),完畢后計(jì)算剩下的各作業(yè)響應(yīng)比。s3.重復(fù)上述步驟,直至剩余一個(gè)作業(yè)。s4.執(zhí)行最后一個(gè)作業(yè)。過(guò)程示意圖:作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null先執(zhí)行第一個(gè)作業(yè),完畢后計(jì)算剩下的各作業(yè)響應(yīng)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null執(zhí)行響應(yīng)比最大的作業(yè),完畢后計(jì)算剩下的各作業(yè)響應(yīng)比作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)作業(yè)null執(zhí)行響應(yīng)比最大的作業(yè),完畢后計(jì)算剩下的各作業(yè)響應(yīng)比重復(fù)步驟,執(zhí)行作業(yè),計(jì)算響應(yīng)比 作業(yè)執(zhí)行剩的下最后一個(gè)作業(yè)六、運(yùn)行結(jié)果:

9、1.第一組測(cè)試數(shù)據(jù),如圖1-1圖 1-1執(zhí)行fcfs算法,如圖1-2圖1-2執(zhí)行sjf算法,如圖1-3圖1-3篩選出符合條件的作業(yè),執(zhí)行cpu時(shí)間最小的作業(yè),如圖1-4圖1-4執(zhí)行hrrf算法,如圖1-5圖1-5執(zhí)行預(yù)選作業(yè),計(jì)算剩余作業(yè)響應(yīng)比,如圖1-6圖1-62.第二組測(cè)試數(shù)據(jù),如圖2-1圖2-1執(zhí)行fcfs算法,如圖2-2圖2-2執(zhí)行sjf算法,如圖2-3圖2-3篩選出符合條件的作業(yè),執(zhí)行cpu時(shí)間最小的作業(yè),如圖2-4,圖2-5圖2-4圖2-5執(zhí)行hrrf算法,如圖2-6圖2-6執(zhí)行預(yù)選作業(yè),計(jì)算剩余作業(yè)響應(yīng)比,如圖2-7,圖2-8圖2-7圖2-8b.銀行家算法一、任務(wù):編程實(shí)現(xiàn)實(shí)現(xiàn)銀

10、行家算法二、要求:實(shí)現(xiàn)銀行家算法模擬實(shí)現(xiàn)。三、原理:銀行家算法是一種最有代表性的避免死鎖的算法。在避免死鎖方法中允許進(jìn)程動(dòng)態(tài)地申請(qǐng)資源,但系統(tǒng)在進(jìn)行資源分配之前,應(yīng)先計(jì)算此次分配資源的安全性,若分配不會(huì)導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),則分配,否則等待。為實(shí)現(xiàn)銀行家算法,系統(tǒng)必須設(shè)置若干數(shù)據(jù)結(jié)構(gòu)。 要解釋銀行家算法,必須先解釋操作系統(tǒng)安全狀態(tài)和不安全狀態(tài)。 安全序列是指一個(gè)進(jìn)程序列p1,pn是安全的,如果對(duì)于每一個(gè)進(jìn)程pi(1in),它以后尚需要的資源量不超過(guò)系統(tǒng)當(dāng)前剩余資源量與所有進(jìn)程pj (j i )當(dāng)前占有資源量之和。安全狀態(tài):如果存在一個(gè)由系統(tǒng)中所有進(jìn)程構(gòu)成的安全序列p1,pn,則系統(tǒng)處于安全狀

11、態(tài)。安全狀態(tài)一定是沒(méi)有死鎖發(fā)生。不安全狀態(tài):不存在一個(gè)安全序列。不安全狀態(tài)不一定導(dǎo)致死鎖。我們可以把操作系統(tǒng)看作是銀行家,操作系統(tǒng)管理的資源相當(dāng)于銀行家管理的資金,進(jìn)程向操作系統(tǒng)請(qǐng)求分配資源相當(dāng)于用戶向銀行家貸款。 為保證資金的安全,銀行家規(guī)定: (1) 當(dāng)一個(gè)顧客對(duì)資金的最大需求量不超過(guò)銀行家現(xiàn)有的資金時(shí)就可接納該顧客; (2) 顧客可以分期貸款,但貸款的總數(shù)不能超過(guò)最大需求量; (3) 當(dāng)銀行家現(xiàn)有的資金不能滿足顧客尚需的貸款數(shù)額時(shí),對(duì)顧客的貸款可推遲支付,但總能使顧客在有限的時(shí)間里得到貸款; (4) 當(dāng)顧客得到所需的全部資金后,一定能在有限的時(shí)間里歸還所有的資金. 操作系統(tǒng)按照銀行家制定

12、的規(guī)則為進(jìn)程分配資源,當(dāng)進(jìn)程首次申請(qǐng)資源時(shí),要測(cè)試該進(jìn)程對(duì)資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請(qǐng)量分配資源,否則就推遲分配。當(dāng)進(jìn)程在執(zhí)行中繼續(xù)申請(qǐng)資源時(shí),先測(cè)試該進(jìn)程本次申請(qǐng)的資源數(shù)是否超過(guò)了該資源所剩余的總量。若超過(guò)則拒絕分配資源,若能滿足則按當(dāng)前的申請(qǐng)量分配資源,否則也要推遲分配。四、數(shù)據(jù)結(jié)構(gòu):1.在程序中使用的資源基本結(jié)構(gòu)及基本方法source結(jié)構(gòu)圖int r2int r1int r3void setsource( )void add( )void sub( ) bool lower( )2.每個(gè)進(jìn)程的構(gòu)成process結(jié)構(gòu)圖source allocat

13、ionsource claimsource claim_allocationsource currentavail3.程序中使用到的所有數(shù)據(jù)集合data結(jié)構(gòu)圖source sumprocess *psource availablesource askint plengthint * rulervoid clearprocess( )4.初始化或設(shè)置數(shù)據(jù)方法集合datainit結(jié)構(gòu)圖void setask( )void initlength( )void initsum( )void initavail( )void initprocess( )5.顯示方法集合display結(jié)構(gòu)圖void di

14、splayavailable( )void displaysource( )void displayprocess( )void displaysafelist( )void displayresult( )6.findsafelist結(jié)構(gòu)圖bool exsitsafelist( )bool checklist( )int findsafelist( )五、實(shí)現(xiàn)方法:在避免死鎖的方法中,所施加的限制條件較弱,有可能獲得令人滿意的系統(tǒng)性能。在該方法中把系統(tǒng)的狀態(tài)分為安全狀態(tài)和不安全狀態(tài),只要能使系統(tǒng)始終都處于安全狀態(tài),便可以避免發(fā)生死鎖。 銀行家算法的基本思想是分配資源之前,判斷系統(tǒng)是否是安全的

15、;若是,才分配。它是最具有代表性的避免死鎖的算法。 設(shè)進(jìn)程pi提出請(qǐng)求ask(r1,r2,r3),則銀行家算法按如下規(guī)則進(jìn)行判斷。 (1)如果pi的ask (r1,r2,r3) = pi( claim(r1,r2,r3)-allocation(r1,r2,r3),則轉(zhuǎn)(2);否則,出錯(cuò)。 (2)如果pi的ask (r1,r2,r3) = available(r1,r2,r3),則轉(zhuǎn)(3);否則,出錯(cuò)。 (3)系統(tǒng)試探分配資源,修改相關(guān)數(shù)據(jù): available(r1,r2,r3) - = ask (r1,r2,r3)pi(allocation(r1,r2,r3) + = ask (r1,r2,

16、r3)pi( claim(r1,r2,r3)-allocation(r1,r2,r3) - = ask (r1,r2,r3)(4)系統(tǒng)執(zhí)行安全性檢查,如安全,則分配成立;否則試探險(xiǎn)性分配作廢,系統(tǒng)恢復(fù)原狀,進(jìn)程等待。六、運(yùn)行結(jié)果:測(cè)試數(shù)據(jù),如圖1-1圖 1-1執(zhí)行進(jìn)程p1請(qǐng)求資源ask(1, 0, 2),如圖1-2圖1-2查看一個(gè)安全序列詳情,如圖1-3圖1-3不查看一個(gè)安全序列,如圖1-4圖1-4執(zhí)行進(jìn)程p4請(qǐng)求資源ask(3, 3, 0),如圖1-5圖1-5執(zhí)行進(jìn)程p0請(qǐng)求資源ask(0,2, 0),如圖1-6圖1-6不請(qǐng)求資源輸入n,退出c.頁(yè)面調(diào)度算法一、任務(wù):a. 最優(yōu)替換算法opt

17、b. 先進(jìn)先出調(diào)度算法fifoc. 最近最少調(diào)度算法lru二、要求:1.實(shí)現(xiàn)對(duì)頁(yè)面替換算法的模擬實(shí)現(xiàn)2. 計(jì)算缺頁(yè)次數(shù)和缺頁(yè)中斷率三、原理:目前有許多頁(yè)面調(diào)度算法,本實(shí)驗(yàn)主要涉及先進(jìn)先出調(diào)度算法、最近最少調(diào)度算法、最近最不常用調(diào)度算法。本實(shí)驗(yàn)使用頁(yè)面調(diào)度算法時(shí)作如下假設(shè),進(jìn)程在創(chuàng)建時(shí)由操作系統(tǒng)為之分配一個(gè)固定數(shù)目物理頁(yè),執(zhí)行過(guò)程中物理頁(yè)的數(shù)目和位置不會(huì)改變。也即進(jìn)程進(jìn)行頁(yè)面調(diào)度時(shí)只能在分到的幾個(gè)物理頁(yè)中進(jìn)行。 下面對(duì)各調(diào)度算法的思想作一介紹。 a.最優(yōu)替換算法opt選擇將來(lái)最久不被訪問(wèn)的頁(yè)面作為被替換的頁(yè)面它就是一種比較好的頁(yè)面替換算法。b. 先進(jìn)先出調(diào)度算法fifo 先進(jìn)先出調(diào)度算法根據(jù)頁(yè)面

18、進(jìn)入內(nèi)存的時(shí)間先后選擇淘汰頁(yè)面,先進(jìn)入內(nèi)存的頁(yè)面先淘汰,后進(jìn)入內(nèi)存的后淘汰。本算法實(shí)現(xiàn)時(shí)需要將頁(yè)面按進(jìn)入內(nèi)存的時(shí)間先后組成一個(gè)隊(duì)列,每次調(diào)度隊(duì)首頁(yè)面予以淘汰。 c.最近最少調(diào)度算法 lru先進(jìn)先出調(diào)度算法沒(méi)有考慮頁(yè)面的使用情況,大多數(shù)情況下性能不佳。根據(jù)程序執(zhí)行的局部性特點(diǎn),程序一旦訪問(wèn)了某些代碼和數(shù)據(jù),則在一段時(shí)間內(nèi)會(huì)經(jīng)常訪問(wèn)他們,因此最近最少用調(diào)度在選擇淘汰頁(yè)面時(shí)會(huì)考慮頁(yè)面最近的使用,總是選擇在最近一段時(shí)間以來(lái)最少使用的頁(yè)面予以淘汰。算法實(shí)現(xiàn)時(shí)需要為每個(gè)頁(yè)面設(shè)置數(shù)據(jù)結(jié)構(gòu)記錄頁(yè)面自上次訪問(wèn)以來(lái)所經(jīng)歷的時(shí)間。缺頁(yè)調(diào)度次數(shù)和缺頁(yè)中斷率計(jì)算缺頁(yè)中斷次數(shù)是缺頁(yè)時(shí)發(fā)出缺頁(yè)中斷的次數(shù) 缺頁(yè)中斷率=缺頁(yè)中

19、斷次數(shù)/總的頁(yè)面引用次數(shù)*100% 四、數(shù)據(jù)結(jié)構(gòu):1. 頁(yè)框結(jié)構(gòu)pageframe結(jié)構(gòu)圖int pageidint idint visitedcountint unvisitedcountbool replaceint staytimeint nextsite2.頁(yè)結(jié)構(gòu)process結(jié)構(gòu)圖int id3.程序中使用到的所有數(shù)據(jù)集合data結(jié)構(gòu)圖int pflengthpageframe *pfpage *pint plengthint plengthint *pflogicrulerint pagelackcount4.初始化或設(shè)置數(shù)據(jù)方法集合setbaseinfo結(jié)構(gòu)圖void setpag

20、e( )void setpageframe( )5. method結(jié)構(gòu)圖int replace ( )bool findpage ( )int longesttime ( )int mostunvisited( )void setpflogicruler( )int getdiepf()opt, fifo, lru結(jié)構(gòu)如下列圖6. opt, fifo,lru結(jié)構(gòu)圖void setpflogicruler()/方法重寫繼承method7. control結(jié)構(gòu)圖fifo fifoopt optlru lru8.顯示方法集合display結(jié)構(gòu)圖void displaylogicruler ( )vo

21、id displaypagelist( )void displaypagelack ( )void displaypageframe t( )void displayresult( )五、實(shí)現(xiàn)方法:a.最優(yōu)替換算法opty有頁(yè)面請(qǐng)求嗎?結(jié)束找到了嗎?執(zhí)行該頁(yè)修改該頁(yè)框內(nèi)頁(yè)面下一次在序列中位置nextsite調(diào)入當(dāng)前頁(yè)面請(qǐng)求在頁(yè)框中查找該頁(yè)選出頁(yè)框頁(yè)面下一次位置最大的頁(yè)框,淘汰,替換進(jìn)當(dāng)前頁(yè)面請(qǐng)求yn開(kāi)始nb. 先進(jìn)先出調(diào)度算法fifo y有頁(yè)面請(qǐng)求嗎?結(jié)束找到了嗎?執(zhí)行該頁(yè),頁(yè)框駐留時(shí)間加1調(diào)入當(dāng)前頁(yè)面請(qǐng)求在頁(yè)框中查找該頁(yè)yn開(kāi)始n選出頁(yè)框頁(yè)面駐留時(shí)間最大頁(yè)框,淘汰,替換進(jìn)當(dāng)前請(qǐng)求頁(yè)面,頁(yè)框駐

22、留時(shí)間staytime歸1執(zhí)行該頁(yè),頁(yè)框駐留時(shí)間staytime加1其他頁(yè)框駐留時(shí)間staytime加1c.最近最少調(diào)度算法 lruy有頁(yè)面請(qǐng)求嗎?結(jié)束找到了嗎?執(zhí)行該頁(yè),頁(yè)框駐留時(shí)間加1調(diào)入當(dāng)前頁(yè)面請(qǐng)求在頁(yè)框中查找該頁(yè)yn開(kāi)始n其它頁(yè)框未訪問(wèn)時(shí)間unvisitedcount加1選出頁(yè)框頁(yè)面未訪問(wèn)時(shí)間最大頁(yè)框,淘汰,替換進(jìn)當(dāng)前頁(yè)面請(qǐng)求,頁(yè)框未訪問(wèn)時(shí)間unvisitedcount歸1執(zhí)行該頁(yè),頁(yè)框未訪問(wèn)時(shí)間unvisitedcount歸1六、運(yùn)行結(jié)果:測(cè)試數(shù)據(jù),如圖1-1圖 1-1選擇最佳頁(yè)面替換算法,如圖1-2圖1-2選擇先進(jìn)先出頁(yè)面替換算法,如圖1-3圖1-3最近最少調(diào)度算法,如圖1-4 圖

23、1-4輸入0,退出d.驅(qū)動(dòng)調(diào)度算法一、任務(wù):實(shí)現(xiàn)驅(qū)動(dòng)調(diào)度的三個(gè)算法a. 先入先出算法(fifo)b. 電梯調(diào)度算法(elevator algorithm)c. 掃描算法(scan algorithm)二、要求:1.實(shí)現(xiàn)對(duì)三種算法的模擬實(shí)現(xiàn)。2.分別計(jì)算出三種算法的經(jīng)過(guò)磁道數(shù)。三、原理:磁盤驅(qū)動(dòng)調(diào)度對(duì)磁盤的效率有重要影響。磁盤驅(qū)動(dòng)調(diào)度算法的好壞直接影響輔助存儲(chǔ)器的效率,從而影響計(jì)算機(jī)系統(tǒng)的整體效率。a. 先入先出算法(fifo)總是嚴(yán)格按時(shí)間順序?qū)Υ疟P請(qǐng)求予以處理。算法實(shí)現(xiàn)簡(jiǎn)單、易于理解并且相對(duì)公平,不會(huì)發(fā)生進(jìn)程餓死現(xiàn)象。但該算法可能會(huì)移動(dòng)的柱面數(shù)較多并且會(huì)經(jīng)常更換移動(dòng)方向,效率有待提高b. 電梯調(diào)度算法(elevator algorithm)總是將一個(gè)方向上的請(qǐng)求全部處理完后,才改變方向繼續(xù)處理其他請(qǐng)求。c. 掃描算法(scan algorithm)總是從最外向最里(或最里向最外)進(jìn)行掃描,然后在從最里向最外(或最外向最里)掃描。該算法與電梯調(diào)度算法的區(qū)別是電梯調(diào)度在沒(méi)有最外或最里的請(qǐng)求時(shí)不會(huì)移動(dòng)到最外或最里柱面。四、數(shù)據(jù)結(jié)構(gòu):1.在程序中使用的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論