作業系統學習筆記(4) 程序聯絡和臨界區管理

2022-09-10 02:21:11 字數 1664 閱讀 3212

1、順序環境和順序程式

順序特徵

2、併發環境和併發程序

併發特徵

3、相交程序和無關程序

相交和無關程序

4、程序同步和程序互斥

程序互斥(間接制約)

程序同步和互斥的關係

eg.5、訪問臨界資源

6、臨界區及其使用原則

使用原則

7、臨界區管理軟體方法

1

var inside: array[1..2

] of boolean;

2 inside[1] = false

;3 inside[2] = false;4

turn: interger;

5 turn := 1 or 2;

1

process p1

2begin

3 inside[1] = true;4

while inside[2] do

if turn = 2

then

5begin

6 inside[1]:= false;7

while turn = 2

dobegin end;

8 inside[1]:= true;9

end10

臨界區;

11 turn := 2

;12 inside[1]:= false

;13 end;

1

process p2

2begin

3 inside[2] = true;4

while inside[1] do

if turn = 1

then

5begin

6 inside[2]:= false;7

while turn = 1

dobegin end;

8 inside[2]:= true;9

end;

10臨界區;

11 turn:= 1

;12 inside[2]:= false

;13 end;

8、臨界區管理的硬體方法

1

/*s代表臨界資源狀態,由ts指令控制 */2

s : boolean;

3 s := true;

4 process pi /*

i = 1,2,...,n */5

pi : boolean; 6

begin

7 repeat pi :=ts(s) until pi; 8

臨界區;

9 s := true

;10 end;

1

/*交換函式 */2

void swap(int* a, int*b)

89 key = true;10

do 11

while

(key);

12臨界區;

13lock := flase;

9、軟硬體方法的優缺點

作業系統學習筆記 程序通訊

程序通訊是指程序之間的資訊交換。交換的資訊量包括乙個狀態或數值 訊號量,低階通訊 或上千個位元組 高階通訊 低階通訊 程序的互斥和同步 交換的資訊量 即訊號量 較少 高階通訊 指使用者可直接利用os提供的一組通訊命令 不需要自己編寫命令 高效地傳送大量資料的一種通訊方式。對使用者透明。使用者不需要考...

作業系統學習筆記(三) 程序

一 程序環境 c程式儲存空間布局 正文段 唯讀 存放cpu執行的機器指令,可共享 資料段 也叫初始化資料段。包含程式中需要明確賦值的變數,如 int max 99 bss段 也叫未初始化的資料段,在程式開始執行前,核心將此段中資料初始化為0或空指標,如long sum 100 棧 存放自動變數 即區...

作業系統學習筆記 程序控制

三 程序控制 1.兩種執行模式 l 系統模式 系統態,控制模式,核心模式 n 具有較高的特權。n 執行系統特定的指令,包括讀 寫控制暫存器的指令,基本i o指令以及與儲存器管理有關的指令,及一些特定的記憶體區。n 核心模式下的處理機及其指令 暫存器和記憶體收受到完全控制和保護 l 使用者模式 或使用...