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