程序排程重點筆記

2021-10-14 14:28:54 字數 1430 閱讀 5536

1.程序排程追求的目標是什麼?

達到極小化平均響應時間、極大化系統吞吐率、儲存系統各個功能部件處於繁忙狀態和提供某種貌似公平的機制。但是,對於不同的作業系統來說達到的目的也會不同。對於批處理系統,不注重使用者等待時間。互動式系統要對於響應時間要適當;

2.程式使用cpu的模式有哪幾種?它們的特點;

在cpu上執行較長時間;

這種稱為cpu導向或計算密集型程式,通常用於科學計算方面的程式;

cpu執行時間短,大部分用於i/o操作;

稱為i/o導向或者輸入輸出密集型程式;人機互動式到屬於這類程式,如遊戲程式以及ppt程式;

介於二者之間,有較長的cpu執行時間,較長時間的i/o操作;

稱為平衡型程式;如網路瀏覽器,網路視屏;

3.保障排程和時間片輪轉的異同點,根本區別是什麼?

時間片輪**目的是改善短程式的響應時間,週期性的進行程序切換;其實就是對fcfs演算法的改進,乙個程式執行乙個時間段就切換給別的程序,讓個程式都有機會執行;但是頻繁的程序切換需要消耗系統時間(切換時間需要把控);

保障排程:就是保障每個程序都能拿到1/n的cpu時間;但是可以不需要輪轉就能實現;

根本區別就是保障排程可以不需要輪轉,每次給的時間片不一定要一樣;

4.什麼是優先順序倒掛?他有什麼危害?

乙個低優先順序任務持有乙個被高優先順序認為所需要的共享資源;這樣高優先順序任務資源缺乏而受阻,一直到低優先順序任務釋放資源為止;

某些時候並不會造成危害,等到低優先順序任務結束後,資源自然會給到高優先順序任務;

如果阻礙任務較為重要,就可能會導致系統報錯;

5.怎麼解決優先順序倒掛?

優先順序倒掛的倆種形式:

第二種形式的解決辦法:優先順序上限(priority ceiling)

中斷禁止可以防止第一種優先順序倒掛,但是無法避免第二種。想要避免就不能讓低優先順序程序持有高優先順序程序所需要的資源。思路就是讓共享的臨界區有自己的優先順序,並讓訪問臨界區的程序獲得臨界區的優先順序,只要臨界區的優先順序設定的夠高,就可以避免;但是試圖訪問mutex的程式具有高於mutex的優先順序還是可能發生倒掛;

要完全杜絕倒掛,就需要在任何時候都確保等待資源的程序具有的優先順序必須低於持有資源的程序的優先順序。如何實現呢?就是優先順序繼承(priority inheritance):

當乙個高優先順序程序等待乙個低優先程序所持有的資源時,這個低優先順序程序搶占低優先順序程序而延長資源占用時間,同時也防止了因高優先程序自身進行繁忙等待可能導致的死鎖。在釋放共享資源後,低優先順序程序回到其原來的優先級別;

6.如果最後乙個程序在cpu任務結束後由很長一段時間的i/o操作,在計算cpu響應時間時是否應該計入該i/o操作耗時?

不算;具體原因…

程序排程演算法(程序排程策略)

程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...

程序排程三 程序排程介紹

一 程序排程介紹 1 程序排程的產生 程序從使用資源方面可以分為如下兩類,不管是i o還是cpu受限類的程序,cpu都希望再盡可能短的時間 完成更多的工作,但另一方面,又希望盡可能的減少資源 i o或cpu 的消耗,這兩則之間存在矛盾,所以程序 的排程管理就是來協調兩者之間的衝突。型別別稱 描述示例...

程序排程 模擬程序排程的過程

通過這次實驗,理解程序排程的過程,進一步掌握程序狀態的轉變 程序排程的策略,進一步體會多道程式併發執行的特點,並分析具體的排程演算法的特點,掌握對系統效能的評價方法。編寫程式模擬實現程序的輪轉法排程過程,模擬程式只對pcb進行相應的排程模擬操作,不需要實際程式。假設初始狀態為 有n個程序處於就緒狀態...