忙等待:
當乙個程序處於臨界區的時候,其他程序想進入臨界區要迴圈等待
//吸菸者
semaphore mutex =
1, empty =
1, full =
0set s =
thing r[3]
=供給者()}
吸菸者(
) signal(mutex)}}
}
奇偶判斷
semaphore mutex =
1, empty =
1, full =
0enum
bw1()
signal
(mutex)}}
w2()signal
(mutex)}}
r()}
動物園
enum
cell
semaphore empty =
1, mutex =
1, zoo =
0, rest =
0framer()
}hunter()
}rest()
}zoo()
}
和尚打水喝水
semaphore t =
3//桶的鎖
semaphore mj =
1//水井的鎖
semaphore mg =
1//水缸的鎖
semaphore empty =
10, full =
0小和尚()
老和尚(
)
//附加題 - 獨木橋
//a, b為兩個方向
int counta,countb;
semaphore sa =1;
semaphore sb =1;
semaphore mutex =1;
a() counta ++
signal
(sa)
//通過獨木橋
wait
(sa)
counta--
if counta ==
0signal
(sa)}}
b() countb ++
signal
(sb)
//通過獨木橋
wait
(sb)
countb--
if countb ==
0signal
(sb)
}}
作業系統第三次實驗
include include include include include define m 10 緩衝區容量為10 void productor void ptr 消費者執行緒 void customer void ptr 生產者執行緒 void produce 生產過程 void consu...
作業系統(Linux)多執行緒 訊號量實現同步
程序通訊ipc inter process communication 實現程序通訊的方法有很多,管道,訊息佇列,共享記憶體,訊號量和socket。題目為 假定有乙個生產者和乙個消費者,生產者每次生產一件產品,並且把生產的產品存入共享緩衝區以供消費者取走使用。消費者每次從緩衝區內取出的一件產品去消費...
計算機作業系統第三次實驗 訊號通訊
供大家交流學習,最好自己動手做,這樣才有最深切的體會。1.實驗目的 了解並掌握利用訊號通訊機制在父子程序間進行通訊。2.實驗軟硬體環境 3.實驗內容 在linux下利用訊號通訊機制在父子程序間進行通訊。由子程序傳送事件訊號,父程序獲取事件訊號後進行相應的處理,將結果輸出到終端。使用函式 4.實驗程式...