總結一下作業系統裡面的幾個演算法

2021-08-20 18:36:17 字數 1175 閱讀 3202

1.作業排程演算法

2.程序排程演算法

3.銀行家演算法

4.頁面置換演算法

5.磁碟排程演算法

1.作業排程演算法

(1)先來先服務(fcfs)

(2)短作業優先(sjf)

(3)優先順序排程演算法(psa)

(4)高響應比優先排程演算法(hrrn)

在批處理系統中,fcfs演算法所考慮的只是作業等待時間,而忽視了作業執行時間,而sjf正好相反,只考慮作業執行時間,不考慮作業等待時間,高響應比優先演算法即考慮了作業的等待時間,又不至於長作業等待太久,從而改善了處理機排程效能。

實現:為每個作業引入乙個動態優先順序,即優先順序是可以改變的,他隨等待時間延長而增加,這使長作業的優先順序在等待中慢慢增加,足夠時間後,必然有機會獲得處理機,該優先順序的變化規律可描述為

由上面可以看出

a).如果作業的等待時間相同,則要求服務時間越短,其優先權越高,因而類似於短作ye優先演算法(sjf),有利於短作業。

b).當要求服務時間相同時,作業的優先權又決定其等待時間,因而類似於fcfs演算法。

c).對於長作業的優先順序,可以隨等待時間的增加而提高優先順序,,,該演算法實現了較好的折中,每次要進行排程之前,都需要先做響應比計算,會增加系統開銷。

2.程序排程演算法 

程序排程的任務:

1)儲存處理機的現場資訊

2)按某種演算法選取程序

3)把處理器分配給程序

程序排程方式:

1)非搶占方式(早期),在採用這種排程方式時,一旦把處理機分配給某程序後,就一直讓他執行下去,絕不會因為時鐘中斷或任何其他原因去搶占當前正在執行的程序的處理機,直到該程序完成,或發生某事件而被阻塞時,才把處理機分配給其他程序.

2)搶占方式,這種排程方式允許排程程式根據某種原則,去暫停某個正在執行的程序,將已分配程序的處理機分配給其他程序,對於批處理系統,可以防止乙個長程序長時間地占用處理機,,以確保處理機能為所有程序提供更為公平的服務,。在分時系統中,只有採用搶占方式才能才有可能實現人機互動,在實時系統中,搶占方式能夠滿足任務的需求。但搶占方式比較複雜,所需付出的系統開銷也比較大。

詳細講解一下Fastadmin裡面的require

首先講一下,為什麼要用require。一般做網頁,會引用多個js,例如 這樣載入的時候,瀏覽器會停止網頁的渲染,js之間還有依賴關係,所以前後順序必須保持一致,當依賴關係複雜了,很難維護。require就是解決這個問題的,require.config 就寫在主模組 main.js 的頭部。引數就是乙...

最近研究了一下C 裡面的const

int testnumber 0 不允許修改指標,可以修改解引後的資料 可以理解為 靜態的int指標 強調的是指標的靜態 int const testnumberconst1 testnumber 允許修改指標,但不可以修改解引後的資料 可以理解為 靜態的int 強調的是變數的靜態 int cons...

作業系統了解一下 未完成

教程 兩個總結手冊 計算機系統自下而上可粗分為四個部分 硬體 作業系統 應用程式和使用者 作業系統管理各種計算機硬體,為應用程式提供基礎,並充當計算機硬體與使用者之間的中介。圖中作業系統外殼理解為圍繞著核心提供給使用者的應用程式,核心理解為操控硬體的程式。事實上,全新作業系統的設計和改良的關鍵工作就...