作業系統筆記(七)程序同步

2022-07-30 17:06:14 字數 698 閱讀 1445

概念:不同程序併發操作同一資源,操作結果受程序執行順序影響。

解決方案:保證某一時刻只有乙個程序讀寫,即保證操作序列。

critical section: 訪問共享資料的**

判斷是否解決的標準:

兩個程序的peterson 演算法:

1

int turn = 0;2

bool flag[2] = ;34

do while(1);

多個程序的bakry 演算法:

1

bool choosing[n] = ;

2int number[n] = ;3do

1213

critical section

1415 number[i] = 0

;16 }while(1);

硬體同步:

本質:整型變數,只有p,v兩個原子操作

實現:value 表示可用的資源數(>0)等待的程序數(<0)

1 typedef struct

semaphore;56

void p(semaphor*s)

7 15}

1617

void v(semaphor*s)

1825 }

訊號量解決同步問題

二元訊號量

作業系統 程序同步

臨界資源 critical resouce 臨界區 critical section 硬體同步機制 訊號量機制 訊號量的應用 管程3使用多道批處理系統不僅能有效的改善資源的利用率,還可以顯著地提高系統的吞吐量,但同時會使系統變得更加複雜,會使程式的執行結果存在不確定性。所以必須引入程序同步機制從而保...

作業系統 程序同步

引入程序 提高了資源的利用率和系統的吞吐量 程序的非同步性 會給系統造成混亂 程序同步基本概念 1,兩種形式的制約關係 a 間接相互制約 ab兩程序爭用一台印表機 b 直接相互制約 a程序放資料 緩衝區 b程序從緩衝區取資料 2,臨界資源 硬體臨界資源 軟體臨界資源 印表機,磁帶機,緩衝區。3,臨界...

作業系統 程序同步

ipc.件 include include include include include include include define bufsz 256 建立或獲取 ipc 的一組函式的原型說明 int get ipc id char proc file,key t key char set s...