排程:分配資源給程序/分配處理器給程序
目標:響應時間,吞吐率/處理器效率/公平性
長程排程: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不...
簡單程式除錯
程式的除錯 是程式設計師的必備技能,也是程式設計師的必殺技 做程式的目的就是為了明確程式的每乙個步驟都是執行正確的 即,保證程式能夠滿足現實需求 程式實際執行過程中從頭執行到尾部,程式設計師是看不到中間的執行過程的 需要在程式的中間的某個位置,設定斷點,程式執行到斷點,程式就會暫停,有程式設計師通過...