作業系統 細節知識(1)

2021-07-16 21:29:04 字數 1904 閱讀 1847

一、空閒分割槽分配演算法

1. 首先適應演算法:當接到記憶體申請時,查詢分割槽說明表,找到第乙個滿足申請長度的空閒區,將其分割並分配。此演算法簡單,可以快速做出分配決定。

2. 最佳適應演算法:當接到記憶體申請時,查詢分割槽說明表,找到第乙個能滿足申請長度的最小空閒區,將其進行分割並分配。此演算法最節約空間,因為它盡量不分割到大的空閒區,其缺點是可能會形成很多很小的空閒分割槽,稱為「碎片」。

3. 最壞適應演算法:當接到記憶體申請時,查詢分割槽說明表,找到能滿足申請要求的最大的空閒區。該演算法的優點是避免形成碎片,而缺點是分割了大的空閒區後,在遇到較大的程式申請記憶體時,無法滿足的可能性較大。

二、磁碟排程演算法

1.先來先服務(fcfs):是按請求訪問者的先後次序啟動磁碟驅動器,而不考慮它們要訪問的物理位置

2.最短尋道時間優先(sstf):讓離當前磁軌最近的請求訪問者啟動磁碟驅動器,即是讓查詢時間最短的那個作業先執行,而不考慮請求訪問者到來的先後次序,這樣就克服了先來先服務排程演算法中磁臂移動過大的問題

3.掃瞄演算法(scan)或電梯排程演算法:總是從磁臂當前位置開始,沿磁臂的移動方向去選擇離當前磁臂最近的那個柱面的訪問者。如果沿磁臂的方向無請求訪問時,就改變磁臂的移動方向。在這種排程方法下磁臂的移動類似於電梯的排程,所以它也稱為電梯排程演算法。

4.迴圈掃瞄演算法(cscan):迴圈掃瞄排程演算法是在掃瞄演算法的基礎上改進的。磁臂改為單項移動,由外向裡。當前位置開始沿磁臂的移動方向去選擇離當前磁臂最近的哪個柱面的訪問者。如果沿磁臂的方向無請求訪問時,再回到最外,訪問柱面號最小的作業請求。

三、虛擬頁式儲存管理中的頁面置換演算法

1.理想頁面置換演算法(opt):這是一種理想的演算法,在實際中不可能實現。該演算法的思想是:發生缺頁時,選擇以後永不使用或在最長時間內不再被訪問的記憶體頁面予以淘汰。

2.先進先出頁面置換演算法(fifo):選擇最先進入記憶體的頁面予以淘汰。

3. 最近最久未使用演算法(lru):選擇在最近一段時間內最久沒有使用過的頁,把它淘汰。

4.最少使用演算法(lfu):選擇到當前時間為止被訪問次數最少的頁轉換。

四、程序排程演算法

1.先進先出演算法(fifo):按照程序進入就緒佇列的先後次序來選擇。即每當進入程序排程,總是把就緒佇列的隊首程序投入執行。

2. 時間片輪轉演算法(rr):分時系統的一種排程演算法。輪轉的基本思想是,將cpu的處理時間劃分成乙個個的時間片,就緒佇列中的程序輪流執行乙個時間片。當時間片結束時,就強迫程序讓出cpu,該程序進入就緒佇列,等待下一次排程,同時,程序排程又去選擇就緒佇列中的乙個程序,分配給它乙個時間片,以投入執行。

3.最高優先順序演算法(hpf):程序排程每次將處理機分配給具有最高優先順序的就緒程序。最高優先順序演算法可與不同的cpu方式結合形成可搶占式最高優先順序演算法和不可搶占式最高優先順序演算法。

4. 多級佇列反饋法:幾種排程演算法的結合形式多級佇列方式。

五、批處理作業排程演算法 1.

先來先服務排程演算法(fcfs)

:就是按照各個作業進入系統的自然次序來排程作業。這種排程演算法的優點是實現簡單,公平。其缺點是沒有考慮到系統中各種資源的綜合使用情況,往往使短作業的使用者不滿意,因為短作業等待處理的時間可能比實際執行時間長得多。 2.

短作業優先排程演算法

(spf): 就是優先排程並處理短作業,所謂短是指作業的執行時間短。而在作業未投入執行時,並不能知道它實際的執行時間的長短,因此需要使用者在提交作業時同時提交作業執行時間的估計值。

4. 基於優先數排程演算法(hpf):每乙個作業規定乙個表示該作業優先順序別的整數,當需要將新的作業由輸入井調入記憶體處理時,優先選擇優先數最高的作業。

5.均衡排程演算法,即

多級佇列排程演算法

基本概念:

作業周轉時間(ti)=完成時間(tei)-提交時間(tsi)

作業平均周轉時間(t)=周轉時間/作業個數

作業帶權周轉時間(wi)=周轉時間/執行時間

響應比=(等待時間+執行時間)/執行時間

作業系統理論細節 1

分時作業系統具有以下特徵 實時作業系統基本特徵 1.多路性 1.及時性 2.互動性 2.可靠性 3.獨占性 4.及時性 執行系統呼叫的過程是這樣的 正在執行的程序先傳遞系統呼叫引數,然後由陷入 trap 指令負責將使用者態轉化為核心態,並將返回位址壓入堆疊以備後用,接下來cpu執行相應的核心態服務程...

作業系統相關知識1

gcc編譯器將乙個.c的程式檔案翻譯成乙個可執行的.o檔案分為4部分組成 1 預處理階段 預處理器將根據字元 開頭的命令,修改原始的c程式。比如 include 命令就是告訴預編譯器讀取 include 的內容,並將其插入到程式文字中。得到了另乙個以.i為結尾的副檔名 2 編譯階段 編譯器將.i檔案...

作業系統知識梳理1

一.作業系統概述 1.作業系統的基本概念 作業系統 operating system,os 是指控制和管理整個計算機系統的硬體和軟體資源,並合理地組織排程計算機的工作和資源的分配,以提供給使用者和其他軟體方便的介面和環境的程式集合。計算機作業系統是隨著計算機研究和應用的發展逐步形成並發展起來的,它是...