問一 說說程序排程演算法有哪些?

2021-09-19 18:45:30 字數 1132 閱讀 1508

1、先來先服務(fcfs)

處於就緒態的程序按先後順序鏈入到就緒佇列中,而fcfs排程演算法按就緒程序進入就緒佇列的先後次序選擇當前最先進入就緒佇列的程序來執行,直到此程序阻塞或結束,才進行下一次的程序選擇排程。

fcfs排程演算法採用的是不可搶占的排程方式,一旦乙個程序占有處理機,就一直執行下去,直到該程序完成其工作,或因等待某一事件而不能繼續執行時,才釋放處理機。作業系統如果採用這種程序排程方式,則乙個執行時間長且正在執行的程序會使很多晚到的且執行時間短的程序的等待時間過長。

2、短作業優先(sjf)

其實目前作業的提法越來越少,我們姑且把「作業」用「程序」來替換,改稱為短程序優先排程演算法,此演算法選擇就緒佇列中確切(或估計)執行時間最短的程序進入執行。它既可採用可搶占排程方式,也可採用不可搶占排程方式。可搶占的短程序優先排程演算法通常也叫做最短剩餘時間優先(shortest remaining time first,srtf)排程演算法。短程序優先排程演算法能有效地縮短程序的平均周轉時間,提高系統的吞吐量,但不利於長程序的執行。而且如果程序的執行時間是「估計」出來的話,會導致由於估計的執行時間不一定準確,而不能實際做到短作業優先。

3、時間片輪轉(rr)

rr 排程演算法與fcfs 排程演算法在選擇程序上類似,但在排程的時機選擇上不同。rr排程演算法定義了乙個的時間單元,稱為時間片(或時間量)。乙個時間片通常在1~100 ms之間。當正在執行的程序用完了時間片後,即使此程序還要執行,作業系統也不讓它繼續執行,而是從就緒佇列依次選擇下乙個處於就緒態的程序執行,而被剝奪cpu使用的程序返回到就緒佇列的末尾,等待再次被排程。時間片的大小可調整,如果時間片大到讓乙個程序足以完成其全部工作,這種演算法就退化為fcfs排程演算法;若時間片設定得很小,那麼處理機在程序之間的程序上下文切換工作過於頻繁,使得真正用於執行使用者程式的時間減少。時間片可以靜態設定好,也可根據系統當前負載狀況和運**況動態調整,時間片大小的動態調整需要考慮就緒態程序個數、程序上下文切換開銷、系統吞吐量、系統響應時間等多方面因素。

4、高響應比優先(highest response ratio first,hrrf)

hrrf排程演算法是介於先來先服務演算法與最短程序優先演算法之間的一種折中演算法

程序排程演算法有幾種???

為了確定 先執 哪個程序以及最後執 哪個程序以實現最 cpu 利 率 先來先服務 短程序優先 優先權排程演算法 時間片輪轉排程演算法 多級反饋佇列排程演算法 1 先來先服務 fcfs,first come first served 按照程序進入就緒佇列的先後次序來選擇程序。2 短程序優先 spf,s...

50 說一說Set 的特點,有哪些實現?

小景哥哥部落格 set不允許元素重複且無序,常用實現有 hashset linkedhashset 和 treeset。hashset通過 hashmap 實現,hashmap 的 key 即 hashset 儲存的元素,所有 key 都使用相同的 value 乙個名為 present 的 obje...

問三 頁面置換演算法有哪些?

概述 在程式執行過程中,如果要訪問的頁面不在記憶體中,就發生缺頁中斷從而將該頁調入記憶體中。此時如果記憶體已無空閒空間,系統必須從記憶體中調出乙個頁面到磁碟對換區中來騰出空間。頁面置換演算法和快取淘汰策略類似,可以將記憶體看成磁碟的快取。在快取系統中,快取的大小有限,當有新的快取到達時,需要淘汰一部...