作業系統學習筆記

2021-10-07 18:35:45 字數 1825 閱讀 1259

作業系統:

特徵:作業系統和外部打交道的方式:中斷、異常和系統呼叫

三者的區別:

作業系統記憶體管理的目標:

共享:訪問相同的記憶體單元

作業系統記憶體的管理方式:

連續記憶體分配和記憶體碎片:

連續記憶體分配:

碎片整理:當所需的記憶體不夠時,將剩餘的空間進行拼接以得到更大的記憶體空間,以便滿足程序的空間需求

非連續記憶體分配的實現方式:

快表:

頁表如果特別大後,會占用很大的儲存空間,解決方法:

計算機系統通常會出現記憶體空間不夠用的情況。解決方法:

覆蓋技術:在較小的記憶體中執行較大的程式

交換技術:增加正在執行或需要執行的程式的記憶體

原理:

實現方式

基本特徵:

大使用者空間:提供給使用者的虛擬記憶體可大於實際的物理記憶體

頁面鎖定:是指在頁面置換過程中不能被換出的頁面,也就是必須常駐記憶體的邏輯頁面,通常包括作業系統的關鍵部分以及要求響應速度的**和資料,通過也表中鎖定的標誌位來標識

置換演算法評價的標準:頁面置換次數越少,演算法越好

置換演算法分類:

最優置換演算法(opt):置換在未來最長時間不訪問的頁面

先進先出演算法(fifo):選擇駐留時間最長的作為替換,無需動態的調整順序

最近最久未使用演算法(lru):選擇最長時間未使用的頁面作為置換

時鐘頁面置換演算法(clock):僅對頁面的訪問情況進行大致統計

最不常用演算法(lfu):置換訪問次數最小的頁面

blady現象:採用fifo演算法,可能出現分配的物理頁面增加,缺頁次數反而公升高;lru沒有belady現象

全域性置換演算法:區域性置換演算法沒有考慮程序訪存的差異

抖動:程序物理頁面少,不能包含工作集,造成大量缺頁,頻繁置換

負載控制:控制併發程序數

程序是執行中的程式,程序= 程式 + 資料 + 程序控制塊,程序是動態的,程式是靜態的。

程序控制塊:控制管理程序執行所需的資訊的集合

程序生命週期的劃分:

執行緒:是程序的一小部分,是程序中指令執行的最小單元,是cpu排程的基本單位

執行緒的三種實現方式:

同步的三種方法(屬於底層的硬體方法):禁用中斷、原子操作指令、軟體方法

訊號量管程是作業系統中提供的兩種同步的方法(相當於對底層硬體方法的高層抽象,統一稱為「鎖」)

訊號量:訊號量是作業系統提供的一種協調共享資源訪問的方法,作業系統是管理者,地位高於程序,訊號量表示系統資源的數量。

訊號量是一種抽象的資料型別,由乙個整型變數和兩個原子操作組成

p操作:申請資源,整型變數減一;如果小於0進入等待狀態

v操作:釋放資源,整型變數加一;如果小於等於0,喚醒乙個等待程序

訊號量的使用:

管程:一種用於多執行緒互斥訪問共享資源的程式結構

管程由乙個鎖(控制管程**的互斥訪問),0個或者多個條件變數(管理共享資料的併發訪問)組成,如果是0個條件變數等同於臨界區。

條件變數是管程內部的等待機制:

程序的通訊機制:訊號、管道、訊息佇列、共享記憶體。

作業系統學習筆記

這裡專門摘錄作業系統相關筆試題和面試題!也當作自己的乙個複習!乙個很全的作業系統常考知識集合 1.分段式儲存和分頁式儲存,以及段頁式儲存的區別 分頁是一維儲存,分段是二維的 因為分頁給出虛擬位址後,作業系統會自動劃分頁號和偏移量 而分段給出位址後,需要知道段號和偏移量,段的長度是可變的!故是二維的 ...

作業系統學習 筆記

單道批處理評價 資源利用率差 互動性差 等 多道批處理 w為了提高系統的利用率 出現多道批處理 多道 是指 某時刻 多個應用程式再主存中,按照某些原則去處理,逐個執行程式。批處理 使用者提交一批作業,首先存放再外存,排成乙個佇列,然後排程程式按一定的演算法去排程從該佇列 中選取佇列中的乙個或若干個作...

作業系統學習筆記

為什麼需要多執行緒?乙個程序有不同的任務,譬如說乙個程式有不同的方法,有些任務需要等待其他資源的排程 io排程 此時的cpu會空閒等待,加入多執行緒之後,程序分為不同的執行緒去執行不同的任務,使得cpu的利用率大大提高。多執行緒和多程序的區別 多程序是執行不同的程式,多程序切換需要中斷 記錄斷點等資...