《作業系統--精髓與設計原理》第九章複習題
第九章 單處理器排程
一、簡要描述三種類型的處理器排程。
長程排程:新作業提交時,決定是否將其送入記憶體中的待執行程序池,成為一個程序。也稱作業排程。
中程排程:決定讓哪些程序在記憶體和磁碟間交換。
短程排程:決定將CPU分配給哪個就緒程序。
二、在互動式作業系統中,通常最重要的效能要求是什麼?
響應時間,對一個互動式程序來說,這指從提交一個請求到開時接收響應之間的時間間隔。通常情況下,程序在處理該請求的同時,會開始給使用者產生一些輸出。因此從使用者的角度來看,相對於週轉時間,這是一種更好的測度。該排程原則會試圖實現較低的響應時間,並在可接受的響應時間範圍內,使可互動的使用者數量最大。
三、週轉時間和響應時間有何區別?
週轉時間是指一個程序從提交到完成之間的時間間隔,包括實際執行時間和等待資源(包括處理器資源)的時間。對批處理作業而言,這是一種合理的測度。
而響應時間是指對互動程序來說從提交一個請求到開時接收響應之間的時間間隔。通常情況下,程序在處理該請求的同時,會開始給使用者產生一些輸出。
四、對於程序排程,較小的優先順序值是表示較低的優先順序還是表示較高的優先順序?
在UNIX和許多其他系統中,大的優先順序表示低優先順序程序。許多系統,比如WINDOWS,剛好相反,大數值的優先順序表示高優先順序。
五、搶佔式排程和非搶佔式排程有何區別?
非搶佔式:當前程序一直執行,直至其終止或阻塞時,才再次分配CPU。
搶佔式:當其時間片結束或有更高階程序就緒時,將當前執行程序轉為就緒,再次分配CPU。
六、簡單定義FCFS排程。
先來先服務(FCFS):每個程序就緒後,會加入就緒佇列。當前正在執行的程序停止執行時,排程最先進入後備佇列/就緒佇列的作業/程序,直至執行完或阻塞時,再重新排程。
FCFS通常與優先順序策略結合,如每個優先順序一條佇列,每條佇列中的排程基於FCFS原則。
FCFS利於長程序或CPU密集型的程序,不利於短程序或I/O密集型的程序。
七、簡單定義輪轉排程。
輪轉(RR):輪轉演算法是一種基於時鐘的搶佔策略。這種演算法週期性地產生時鐘中斷,出現中斷時,當前正執行的程序會放置到就緒佇列中,然後基於FCFS策略選擇下一個就緒作業執行。這種技術也稱為時間片(time slicing),因為每個程序在被搶佔前都會給定一片時間。
八、簡單定義最短程序優先排程。
最短程序優先排程(Shortest Process Next,SPN):排程CPU執行時間預期最短的程序,直至執行完或阻塞時,再重新排程。
利於短程序,不利於長程序及緊迫任務。
九、簡單定義最短剩餘時間排程。
最短剩餘時間(Shortest Remaining Time,SRT):是在SPN中增加了搶佔機制的策略。排程程式縱使選擇預期剩餘時間最短的程序。一個新程序加入就緒佇列時,與當前正執行的程序相比,它可能具有更短的剩餘時間。因此,只要新程序就緒,排程程式就可搶佔當前正在執行的程序。
十、簡單定義最高響應比優先排程。
最高響應比優先(Highest Response Ratio Next,HRRN):在當前程序完成或被阻塞時,選擇R值最大的就緒程序。R=(w+s)/s,w為程序目前為止在系統中等待處理器的時間,s為程序所需的總服務時間。
十一、簡單定義反饋排程。
反饋排程:排程基於搶佔原則(按時間片)並使用動態優先順序機制。一個程序首次進入系統中時,會放在RQ0中。當它首次被搶佔並返回就緒態時,會放在RQ1中。在隨後的時間裡,每當它被搶佔時,都降級到下一個低優先順序佇列中。短程序很快就會執行完畢,不會出現在就緒佇列中多次降級的現象,長程序則會多次降級。因此,新到的程序和短程序會優於老程序和長程序。在每個佇列中,除優先順序最低的佇列外,都使用簡單的FCFS機制。程序處於優先順序最低的佇列後,就不會降低,但會重複返回該佇列,直至執行結束。因此這個佇列可按輪轉方式排程。