作業系統 程序管理2 程序排程

2022-08-28 19:15:12 字數 1023 閱讀 8487

1.評價排程演算法的主要指標

2.常見的排程演算法

fifo:先來先服務演算法--基本思想按照作業進入就緒佇列的順序,選擇先到的作業被cpu排程。假如作業的長度比較平均,效果不錯,但是

如果長作業比較多先到就緒佇列就會導致響應時間、周轉時間比較長。屬於非搶占策略

優點:實現簡單;缺點:效果不怎樣好。

sjf:短作業優先演算法;在就緒佇列中按照作業長短排序,選出最短的作業執行,存在非搶占和搶占的兩種,對於非搶占的

在長作業執**況下,後到的短作業不能搶占,周轉時間依舊很長。對於搶占的,新來的短作業可以和現在的作業的剩餘時間比較

如果執行時間短,就可以得到cpu的執行權。周轉時間就會減小。

rr:輪轉法--出現的原因是隨著計算機的發展,人機互動越來越重要,對於響應時間的要求越高,所以出現了輪轉法排程。

該算的思想:設定乙個時間片,按照就緒佇列中順序,每個作業有乙個時間片,輪流執行佇列中的作業。時間片到達是由

時鐘中斷控制,時間到了切換到核心態由,os排程下乙個作業執行。周轉時間會比sjf長。

優點:保證響應時間比較短。注意:時間片大小的選擇很關鍵;時間片過小,容易造成作業的頻繁切換,時間浪費周轉時間也長

時間片過長:該演算法就退化成fifo--先來先服務。

多優先順序反饋佇列:通常前面介紹的演算法效果對於周轉時間和響應時間是相互矛盾的,現在想設計乙個策略兼顧輪轉法和sjf搶占型

能夠在響應時間和周轉時間之間達到乙個平衡。演算法實現比較複雜。

具體實現:os維護多個優先順序不同的佇列;每佇列佇列內部採用輪轉法排程。

程序建立完成後,通用放在高優先順序的佇列中,根據一次執行的結果

調整程序的優先順序;

假如:分配的時間片都被一直是cpu操作,則可以判斷出該程序是cpu繫結的程序,對響應時間不敏感;可以降低其優先順序;

放入優先順序低的佇列,假如分給的時間片沒用完就放棄cpu,則說明程序是io繫結的,對響應時間敏感,所以優先順序不變。

注意:這個過程一種是動態的,因為程序某段時間可能就在io操作,後面可能一直是cpu操作,只要是用完cpu時間片,就要降級處理。

作業系統 程序排程

程序排程程序排程室作業系統必不可少的一種排程。因此在三種型別的os dos windows linux 都無一例外地配置了程序排程。此外它也是對系統效能影響最大的一種處理機排程。程序排程的任務 儲存處理機的現場資訊。在進行排程時首先需要儲存當前程序的處理機的現場資訊,如程式計數器 多個通用暫存器中的...

作業系統程序排程

華中農業大學 學生實驗報告 課程名稱 計算機作業系統 實驗名稱 程序排程 實驗型別 驗證 設計 綜合 創新 實驗目的 實驗目的 1 通過編寫程式實現程序或作業先來先服務 高優先權 按時間片輪轉排程演算法,使 學生進一步掌握程序排程的概念和演算法,加深對處理機分配的理解。2 了解程序 執行緒 的排程機...

作業系統 程序排程

對於單處理器系統,同一時間只有乙個程式可以執行 其他程序都應等待,直到cpu空閒並可排程為止。多道程式的目標是,始終允許某個程序執行以最大化cpu利用率。cpu的程序屬性 週期進行cpu執行和i o等待。程序在這兩個狀態之間不斷交替。程序執行從cpu執行開始,之後i o執行 接著另乙個cpu執行,接...