王道操作系统考研笔记——2.1.8 调度算法的评价指标
文章目錄
- 2.1.8 調(diào)度算法的評(píng)價(jià)指標(biāo)
- 2.1.8.1 CPU利用率
- 2.1.8.2 系統(tǒng)吞吐量
- 2.1.8.3 周轉(zhuǎn)時(shí)間
- 2.1.8.4 等待時(shí)間
- 2.1.8.5 響應(yīng)時(shí)間
- 2.1.8.6 小結(jié)
2.1.8 調(diào)度算法的評(píng)價(jià)指標(biāo)
知識(shí)總覽
需要注意的是,這一部分的知識(shí)要學(xué)會(huì)計(jì)算
2.1.8.1 CPU利用率
在早期,由于CPU造價(jià)極其昂貴,因此人們會(huì)希望讓CPU盡可能多地工作。由此,引出了下面的概念。
CPU利用率:指CPU“忙碌”的時(shí)間占總時(shí)間的比例。,即利用率=忙碌的時(shí)間總時(shí)間利用率 = \frac{忙碌的時(shí)間}{總時(shí)間}利用率=總時(shí)間忙碌的時(shí)間?。
在有的題目中,還會(huì)要求計(jì)算某種設(shè)備的利用率。
某計(jì)算機(jī)只支持單道程序,某個(gè)作業(yè)剛開(kāi)始需要在CPU上運(yùn)行5秒,再用打印機(jī)打印輸出5秒,之后再執(zhí)行5秒,才能結(jié)束。在此過(guò)程中,CPU利用率、打印機(jī)利用率分別是多少?
CPU利用率=5+55+5+5=66.66CPU利用率 = \frac{5+5}{5+5+5} = 66.66CPU利用率=5+5+55+5?=66.66%
打印機(jī)利用率=515=33.33打印機(jī)利用率 = \frac{5}{15} = 33.33打印機(jī)利用率=155?=33.33%
需要注意的是,考研中一般不會(huì)出這么簡(jiǎn)單的題目,而是會(huì)考查多道程序并發(fā)執(zhí)行的情況,這時(shí)候可以利用甘特圖來(lái)輔助計(jì)算。
2.1.8.2 系統(tǒng)吞吐量
對(duì)于計(jì)算機(jī)來(lái)說(shuō),人們總希望能用盡可能少的時(shí)間處理完盡可能多的作業(yè)。
系統(tǒng)吞吐量:單位時(shí)間內(nèi)完成作業(yè)的數(shù)量。
系統(tǒng)吞吐量 = 總共完成了多少道作業(yè)總共花了多少時(shí)間\frac{總共完成了多少道作業(yè)}{總共花了多少時(shí)間}總共花了多少時(shí)間總共完成了多少道作業(yè)?
某計(jì)算機(jī)系統(tǒng)處理完10道作業(yè),共花費(fèi)了100秒,則系統(tǒng)吞吐量為?
10/100 = 0.1道/秒
2.1.8.3 周轉(zhuǎn)時(shí)間
對(duì)于計(jì)算機(jī)的用戶來(lái)說(shuō),他很關(guān)心自己的作業(yè)從提交到完成花了多少時(shí)間。這就是周轉(zhuǎn)時(shí)間。周轉(zhuǎn)時(shí)間是指作業(yè)被提交給系統(tǒng)開(kāi)始,到作業(yè)完成為止的這段時(shí)間間隔。
其包括四個(gè)部分:作業(yè)在外存后備隊(duì)列上等待作業(yè)調(diào)度的時(shí)間、進(jìn)程在就緒隊(duì)列上等待進(jìn)程調(diào)度的時(shí)間、進(jìn)程在CPU上執(zhí)行的時(shí)間、進(jìn)程等待I/O操作完成的時(shí)間。后三項(xiàng)在一個(gè)作業(yè)的整個(gè)處理過(guò)程中,可能發(fā)生多次。
作業(yè)周轉(zhuǎn)時(shí)間 = 作業(yè)完成時(shí)間-作業(yè)提交時(shí)間
對(duì)于單個(gè)用戶來(lái)說(shuō),更關(guān)心自己的單個(gè)作業(yè)的周轉(zhuǎn)情況
平均周轉(zhuǎn)時(shí)間 = 各作業(yè)周轉(zhuǎn)時(shí)間之和作業(yè)數(shù)\frac{各作業(yè)周轉(zhuǎn)時(shí)間之和}{作業(yè)數(shù)}作業(yè)數(shù)各作業(yè)周轉(zhuǎn)時(shí)間之和?
對(duì)于操作系統(tǒng)來(lái)說(shuō),更關(guān)心系統(tǒng)的整體表現(xiàn),因此更關(guān)心所有作業(yè)周轉(zhuǎn)時(shí)間的平均值。
有的作業(yè)運(yùn)行時(shí)間短,有的作業(yè)運(yùn)行時(shí)間長(zhǎng),因此在周轉(zhuǎn)時(shí)間相同的情況下,運(yùn)行時(shí)間不同的作業(yè),給用戶的感覺(jué)肯定是不一樣的。
這么說(shuō)的話,用戶如何關(guān)心自己作業(yè)在周轉(zhuǎn)時(shí)間的實(shí)際表現(xiàn)呢?這時(shí)候就引出了帶權(quán)周轉(zhuǎn)時(shí)間。
帶權(quán)周轉(zhuǎn)時(shí)間 = 作業(yè)周轉(zhuǎn)時(shí)間作業(yè)實(shí)際運(yùn)行的時(shí)間=作業(yè)完成時(shí)間?作業(yè)提交時(shí)間作業(yè)實(shí)際運(yùn)行的時(shí)間\frac{作業(yè)周轉(zhuǎn)時(shí)間}{作業(yè)實(shí)際運(yùn)行的時(shí)間} = \frac {作業(yè)完成時(shí)間 - 作業(yè)提交時(shí)間}{作業(yè)實(shí)際運(yùn)行的時(shí)間}作業(yè)實(shí)際運(yùn)行的時(shí)間作業(yè)周轉(zhuǎn)時(shí)間?=作業(yè)實(shí)際運(yùn)行的時(shí)間作業(yè)完成時(shí)間?作業(yè)提交時(shí)間?
這樣的話,對(duì)于周轉(zhuǎn)時(shí)間相同的兩個(gè)作業(yè),實(shí)際運(yùn)行時(shí)間長(zhǎng)的作業(yè)在相同時(shí)間內(nèi)被服務(wù)的時(shí)間更多,帶權(quán)周轉(zhuǎn)時(shí)間小,用戶滿意度更高。
而對(duì)于實(shí)際運(yùn)行時(shí)間相同的兩個(gè)作業(yè),周轉(zhuǎn)時(shí)間短的帶權(quán)周轉(zhuǎn)時(shí)間更小,用戶滿意度更高。
從公式來(lái)看,作業(yè)提交后不一定開(kāi)始處理,所以分子肯定大于分母,也就是說(shuō),帶權(quán)周轉(zhuǎn)時(shí)間必然大于1,而且?guī)?quán)周轉(zhuǎn)時(shí)間與周轉(zhuǎn)時(shí)間都是越小越好。
平均帶權(quán)周轉(zhuǎn)時(shí)間 = 各作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間之和作業(yè)數(shù)\frac{各作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間之和}{作業(yè)數(shù)}作業(yè)數(shù)各作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間之和?
相信上面的概念不好理解,我們下面用幾個(gè)計(jì)算例子來(lái)理解:
設(shè)有三道作業(yè),它們的提交時(shí)間和運(yùn)行時(shí)間見(jiàn)下表:
| 1 | 10:00 | 2 |
| 2 | 10:10 | 1 |
| 3 | 10:25 | 0.25 |
注:為計(jì)算方便,“時(shí)”均為十進(jìn)制。
試給出在下面兩種調(diào)度算法下,作業(yè)的執(zhí)行順序、平均周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間。
采用FCFS調(diào)度算法時(shí),作業(yè)的執(zhí)行順序是作業(yè)1->作業(yè)2->作業(yè)3,根據(jù)題意可得下表:
| 1 | 10:00 | 2 | 10:00 | 12:00 |
| 2 | 10:10 | 1 | 12:00 | 13:00 |
| 3 | 10:25 | 0.25 | 13:00 | 13:15 |
那么,由公式可得:
平均周轉(zhuǎn)時(shí)間=各作業(yè)周轉(zhuǎn)時(shí)間之和作業(yè)數(shù)=[(12?10)+(13?10:10)+(13:25?10:25)]/3=2.55h平均周轉(zhuǎn)時(shí)間 =\frac{各作業(yè)周轉(zhuǎn)時(shí)間之和}{作業(yè)數(shù)} = [(12-10)+(13-10:10)+(13:25-10:25)]/3 = 2.55h平均周轉(zhuǎn)時(shí)間=作業(yè)數(shù)各作業(yè)周轉(zhuǎn)時(shí)間之和?=[(12?10)+(13?10:10)+(13:25?10:25)]/3=2.55h
平均帶權(quán)周轉(zhuǎn)時(shí)間=各作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間之和作業(yè)數(shù)=[(12?10)/2+(13?10:10)/1+(13.15?10.25)/0.25]/3=5.05h平均帶權(quán)周轉(zhuǎn)時(shí)間 = \frac{各作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間之和}{作業(yè)數(shù)} = [(12-10)/2+(13-10:10)/1+(13.15-10.25)/0.25]/3 = 5.05h平均帶權(quán)周轉(zhuǎn)時(shí)間=作業(yè)數(shù)各作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間之和?=[(12?10)/2+(13?10:10)/1+(13.15?10.25)/0.25]/3=5.05h
采用SJF調(diào)度算法時(shí),作業(yè)的執(zhí)行順序是作業(yè)1->作業(yè)3->作業(yè)2,根據(jù)題意可得下表:
| 1 | 10:00 | 2 | 10:00 | 12.00 |
| 2 | 10:10 | 1 | 12:15 | 13:15 |
| 3 | 10:25 | 0.25 | 12:00 | 12:15 |
那么,由公式可得:
平均周轉(zhuǎn)時(shí)間=[(12?10)+(13:15?10:10)+(12:15?10:25)]/3=[2+3.08+1.83]/3=2.3h平均周轉(zhuǎn)時(shí)間 = [(12-10)+(13:15-10:10)+(12:15-10:25)]/3=[2+3.08+1.83]/3=2.3h平均周轉(zhuǎn)時(shí)間=[(12?10)+(13:15?10:10)+(12:15?10:25)]/3=[2+3.08+1.83]/3=2.3h
帶權(quán)平均周轉(zhuǎn)時(shí)間=(2/2+3.08/1+1.83/0.25)/3=3.8h帶權(quán)平均周轉(zhuǎn)時(shí)間 = (2/2+3.08/1+1.83/0.25)/3=3.8h帶權(quán)平均周轉(zhuǎn)時(shí)間=(2/2+3.08/1+1.83/0.25)/3=3.8h
2.1.8.4 等待時(shí)間
計(jì)算機(jī)的用戶希望自己的作業(yè)盡可能少的等待處理機(jī)。
等待時(shí)間,指進(jìn)程/作業(yè)處于等待處理機(jī)狀態(tài)時(shí)間之和,等待時(shí)間越長(zhǎng),用戶滿意度越低。
對(duì)于進(jìn)程來(lái)說(shuō),等待時(shí)間就是指進(jìn)程建立后等待被服務(wù)的時(shí)間之和,在等待I/O完成的期間其實(shí)進(jìn)程也是在被服務(wù)的,所以不計(jì)入等待時(shí)間。對(duì)于作業(yè)來(lái)說(shuō),不僅要考慮建立進(jìn)程后的等待時(shí)間,還要加上作業(yè)在外存后備隊(duì)列中等待的時(shí)間。
一個(gè)作業(yè)作業(yè)總共需要被CPU服務(wù)多久,被I/O設(shè)備服務(wù)多久一般是確定不變的,因此調(diào)度算法其實(shí)只會(huì)影響作業(yè)/進(jìn)程的等待時(shí)間。當(dāng)然,與前面指標(biāo)類(lèi)似,也有“平均等待時(shí)間”來(lái)評(píng)價(jià)整體性能。
2.1.8.5 響應(yīng)時(shí)間
對(duì)于計(jì)算機(jī)用戶來(lái)說(shuō),會(huì)希望自己提交的請(qǐng)求(比如通過(guò)鍵盤(pán)輸入了一個(gè)調(diào)試指令)盡早地開(kāi)始被系統(tǒng)服務(wù)、回應(yīng)。由此引出了響應(yīng)時(shí)間的概念:
響應(yīng)時(shí)間,指從用戶提交請(qǐng)求到首次產(chǎn)生響應(yīng)所用的時(shí)間。
2.1.8.6 小結(jié)
總結(jié)
以上是生活随笔為你收集整理的王道操作系统考研笔记——2.1.8 调度算法的评价指标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【视频】CCNA——telnet和SSH
- 下一篇: 如何采集企业信息公示系统