常用排程演算法:先來先服務演算法(fcfs),短程序優先演算法(spf),短剩餘時間優先演算法(srt),最高響應比優先演算法(hrrn),時間片輪轉演算法(rr)和多級反饋演算法(mfq)
先來先服務演算法(fcfs):基本思想是按照程序進入就緒佇列的先後次序來分配處理機.採用不可剝奪方式》fcfs演算法很少作為主要排程演算法,而是作為一種輔助排程演算法
短程序優先演算法(spf):選擇就緒佇列中估計執行時間最短的程序投入執行.一般採用不可剝奪方式.
最短剩餘時間優先演算法(srt):採用可剝奪方式,選擇估計剩餘時間最短的程序投入執行
最高響應比優先演算法(hrrn):優先權排程演算法為每乙個程序確定乙個優先權,按照優先權的高低進行排程,可以照顧到緊急任務.該演算法適用於作業排程和程序排程,可以使用可剝奪方式,也可以使用不可剝奪方法》hrrn演算法是一種動態優先權排程演算法.響應比的定義中既考慮程序的長短,又考慮了程序的等待時間,比spn演算法更加合理
時間片輪轉排程演算法(rr)round-robin:rr演算法主要用於程序排程,將cpu時間分成多個很小的時間片,按照fcfs原則輪流分配給多個程序使用,該演算法追求絕對的公平,但是對io頻繁的程序不利.實際使用中會採用改進的演算法
多級反饋演算法(mfq):是一種改進的時間片輪轉演算法,是一種較好的動態優先權排程演算法,即照顧到了io量大的程序,也照顧到了cpu繁忙的程序
在非剝奪方式下,短程序優先演算法得到的程序平均周轉時間最短
時間片輪轉排程演算法可以將cpu時間分成若干個時間片,輪流分給多個程序,適合分時系統的互動使用者
隨著程序執行時間的增加,程序的優先順序應該降低,否則其他程序處於飢餓狀態
最高響應比優先排程演算法中程序的優先權隨著等待時間的增加而提高,隨著執行時間的增加而降低
程序通過排程得到cpu,得不到則狀態仍為就緒態,優先順序是可以根據策略改變的;若系統發生死鎖則可能所有程序均在等待
響應時間=使用者數目*時間片大小
多級反饋佇列乙個程序的時間片到了就要剝奪其cpu
只要就緒佇列不為空,程序排程程式一定能夠選中乙個程序投入執行
死鎖產生的條件:互斥條件(mutual exclusion),占有和等待條件(hold and wait),不剝奪條件(no preemption), 迴圈等待條件(circular wait)
只要在程序執行之前破壞死鎖產生必要條件中的任意一條即可預防死鎖的產生,屬於執行前預防,主要有一次性分配資源,資源有序分配和剝奪資源等方法
避免死鎖的方法是在執行時進行安全性檢測,屬於執行中避免
死鎖的定義:一組程序處於死鎖狀態是指,如果乙個程序集合中的每乙個程序都在等待只能由該集合中的其他乙個程序才能引發的事件,則稱一組程序或系統此時發生了死鎖
產生死鎖的原因:競爭資源,程序間推進的順序非法
若系統中有8臺繪圖儀,有多個程序均需使用2臺,規定每乙個程序一次僅允許申請一台,則至多允許( 7 )個程序參與競爭,而不會發生死鎖
【單選題】設系統有12個同類資源可供4個程序共享,p1、p2、p3、p4所需最大資源數依次為5、5、7、4,已分配的資源數依次為2、3、4、1,系統目前剩餘資源數為2。當程序p1、p2、p3、p4又相繼提出申請要求,為使系統不致死鎖,應先滿足( p2 )程序的要求:
產生系統死鎖的原因可能是(多個程序競爭資源出現了迴圈等待 )
以下 ( 剝奪資源 )方法可以解除死鎖
採用有序分配資源的策略可以破壞死鎖的( 環路 )條件
預防死鎖不能去掉互斥條件
多級反饋排程演算法(mfq)挺有意思
作業系統第四章
2 分割槽分配演算法 動態分割槽方式,分割槽多 大小差異各不相同,此時把乙個新作業裝入記憶體,更需選擇乙個合適的分配演算法,從空閒分割槽表 鏈中選出一合適分割槽 首次適應演算法ff 迴圈首次適應演算法 最佳適應演算法 最差適應演算法 快速適應演算法 4 動態重定位分割槽分配 有緊湊功能的動態分割槽分...
作業系統第四章作業
什麼是臨界資源?什麼是臨界區?對臨界資源的訪問有哪些原則?臨界資源 一次僅允許乙個程序使用的共享資源。臨界區 每個程序中訪問臨界資源的那段程式。訪問原則 空閒讓進,如果有若干程序要求進入空閒的臨界區,一次僅允許乙個程序進入。忙則等待,任何時候,處於臨界區內的程序不可多於乙個。如已有程序進入自己的臨界...
作業系統第四章總結
第四章 檔案系統 檔案是以計算機硬碟為載體儲存在計算機上的資訊集合。檔案管理系統 作業系統中負責管理和儲存檔案資訊的軟體機構。檔案系統由三部分組成 與檔案管理有關的軟體,被管理檔案,實施檔案管理檔案所需要資料結構。對於使用者而言,檔案系統最主要的功能 實現檔案的基本操作,按名儲存和查詢,組織成合適的...