0515 單程式排程

2021-10-07 16:07:15 字數 1635 閱讀 6185

排程:分配資源給程序/分配處理器給程序

目標:響應時間,吞吐率/處理器效率/公平性

長程排程:new–ready,new-ready/suspend,決定了哪個程式進入系統中處理,控制系統的併發度。

中程排程:ready/suspend---->ready block/suspend---->block,考慮換出程序的儲存需求。

短程排程:ready–running

i/o排程:系統

短程排程程式也被稱為分派器dispatcher:,精確地決定下次執行哪個程序,執行得最頻繁。

引起短程排程的因素:時鐘中斷,i/o中斷,系統呼叫中斷,訊號

短程排程準則

面向系統:重點是處理器的效果和效率。

例如:吞吐量,即程序完成的速率。

另乙個劃分維度:

與效能無關【定性】:可**性。

優先順序

優先順序佇列,同一優先順序的是乙個佇列,選擇優先順序高的程序,優先順序低的可能會忍受飢餓。

非搶占模式:程序完成之後才會退出cpu,或者i/o中斷

搶占模式:程序未完成也可以退出cpu

1.fcfs先進先服務

非搶占模式,缺點:短程序可能會排很久

2.round-robin輪轉

搶占模式。時間片方法,超時了就有中斷發生,當前執行程序會放置在ready queue裡,下乙個ready佇列的程序被載入。時間片大小的選擇很重要,過長會退化成fifo,太短則程序切換所用的系統消耗太多。程序數量多,時間片短一些;數量少,時間片可以長一點,還要考慮所能承受的系統消耗。

3.vrr 虛擬輪轉法

搶占模式。被阻塞的程序加到輔助佇列,優先順序高於ready queue

4.shortest process next( spn)

非搶占模式。缺點:長程序排程會忍受飢餓,很難**執行時間

5.shortest remaining time(srt 最短剩餘時間)

搶占模式。時間片到了優先選擇srt最小的程序執行。這裡的程序包括還未執行過的程序。

6.highest response ratio next(hrrn最高響應比優先)

非搶占模式,r=(waiting time+service time)/service time

周轉時間turnaround time tr=waiting time+service time

7.freeback 反饋

搶占模式。時間片方法,程序一次未執行完就被下放到優先順序低的佇列裡,如果沒有佇列和本佇列競爭就直接放在本佇列中。適用於不知道程序執行需要的時間。

例題:1.注意程序到達時間;

2.注意佇列順序

3.等待時間計算記得減去到達時間

4.先進佇列,再來按照策略選擇

5.反饋,佇列可以分成0,1,2…時間片選擇2^i

前面的都是以程序為單位,也可以以使用者為單位分配cpu資源

使用者的應用程式作為程序(執行緒)的集合執行;使用者關心的是應用程式的效能;需要根據流程集做出排程決策

優先順序反轉

QT Socket TCP簡單程式

用qt的socket寫的簡單程式,有客戶端和伺服器端,後期還新增了乙個選擇ip位址的combox選擇框 在客戶端裡面輸入文字,按send按鈕或者按回車鍵,在伺服器端就可以接收到 如果你只有一台電腦的話,選ip時,請選擇127,0,0,1 檔案清單 主要 mywidget.cpp int main i...

C簡單程式

1.100 以內的素數 include void main int i int k for i 2 i 100 i 確定範圍 2 100 for k 2 kif i k 0 break 如果找到乙個不是1或者它本身的因子,則停止該迴圈,此時kif k i printf d n i 當k i時表明i不...

簡單程式除錯

程式的除錯 是程式設計師的必備技能,也是程式設計師的必殺技 做程式的目的就是為了明確程式的每乙個步驟都是執行正確的 即,保證程式能夠滿足現實需求 程式實際執行過程中從頭執行到尾部,程式設計師是看不到中間的執行過程的 需要在程式的中間的某個位置,設定斷點,程式執行到斷點,程式就會暫停,有程式設計師通過...