資料庫之作業系統 筆記

2021-09-01 20:21:53 字數 1327 閱讀 9870

活躍就緒:是指程序在主存並且可被排程的狀態。

靜止就緒(掛起就緒):是指程序被對換到輔存時的就緒狀態,是不能被直接排程的狀態,只有當主存中沒有活躍就緒態程序,或者是掛起就緒態程序具有更高的優先順序,系統將把掛起就緒態程序調回主存並轉換為活躍就緒。

活躍阻塞:是指程序已在主存,一旦等待的事件產生便進入活躍就緒狀態。

靜止阻塞:是指程序對換到輔存時的阻塞狀態,一旦等待的事件產生便進入靜止就緒狀態。

掛起,記憶體到外存;啟用,外存到記憶體。

如果乙個程序再等待乙個不可能發生的事,則程序就死鎖了。如果乙個或多個程序產生死鎖,就會造成系統死鎖。如果乙個或多個程序產生死鎖,就會造成系統死鎖。

假設程序a、b、c。這三個程序都需要5個系統資源,則系統最少絕對不會發生死鎖的系統資源數為(5-1)+(5-1)+(5-1)+1=13

互斥條件,即每個資源一次只能被乙個程序使用。

保持和等待條件,當程序已擁有某些資源,但申請其他資源時被阻塞

不剝奪條件

環路等待條件

死鎖的避免,即程序在每次申請資源時判斷此操作是否安全。如**「銀行家演算法」**。缺點:這種演算法會增加系統開銷。

死鎖的檢測*,判斷系統是否處於死鎖狀態,如果是則執行死鎖解除策略。

死鎖的解除*,將資源強行分配給別的程序,與檢測配合使用。

我們假設有程序p1,p2,…pn

則安全序列要求滿足:pi(1<=i<=n)需要資源<=剩餘資源 + 分配給pj(1 <= j < i)資源

每設計加入乙個程序都要用上面式子檢測一下,是否有安全序列。

前驅圖為有向無迴圈圖,用於描述程序之間執行的前後關係。圖中每個結點用於描述乙個程式段或程序,乃至一條語句。結點間的有向邊則用於表示兩個結點之間存在的偏序或前驅關係。

p i→

pj

p_\rightarrow p_

pi​→pj

​pi是pj的直接前驅,pj是pi的直接後驅,只有前驅沒有後驅的是終止結點,只有後驅沒有前驅的是初始結點。

參考位址

是為了解決互斥同步問題。

p操作:

for(i=s;i>=0;i–)

掛起本程序或等待本程序

v操作:

for(i=s;i<=0;i++)

不喚醒s佇列中的等待程序

臨界資源,是指程序間互斥共享資源,如印表機。

臨界區,每個程序中訪問臨界資源的那段**稱為臨界區。

訊號量,用於標識共享資源是否在被使用,在被使用用0標識,未被使用用1標識。

例子:生產者->市場->消費者

生產者初值為s1=1,市場有乙個空位

消費者初值為s2=0,市場無資源

作業系統過小,無法啟動資料庫

環境 linux5.3 redhat 記憶體1g oracle 12c 12.1.0.1.0 啟動資料庫時 sql startup ora 00845 memory target not supported on this system reason 從oracle11g開始,記憶體管理引數中新增m...

作業系統之作業系統引論

掌握作業系統的概念 特徵 功能和提供的服務,作業系統的發展與分類 作業系統是計算機硬體與使用者的橋梁,是計算機硬體上的的第一層軟體,是對硬體系統的首次擴充.作業系統是一組控制和管理計算機硬體和軟體資源.合理地對各類作業 job 進行排程,以及方便使用者的程式的集合.無作業系統 單批道作業系統 多批道...

作業系統 庫

庫的定義 庫就是目標檔案的集合,我們把不需要公升級更新維護的 打包合併在一起方便使用,也可以對源 進行保密。靜態庫 靜態庫在使用時在使用時是把被呼叫的 複製到呼叫模組中,然後在執行程式時,靜態庫就不需要了。靜態庫的特性 靜態的擴充套件名為.a 靜態庫的執行速度快,但占用記憶體大,當庫中的內容發生變化...