而講minix的書籍《作業系統_設計與實現》也是當年linus torvalds創造linux的思想源泉。剛看了此書一章多,覺得此書寫得非常經典。
看完本書講了ipc經典問題:哲學家進餐問題,讀者-寫者問題,理髮師理髮問題。
這些經典問題主要解決了程序間競爭資源問題,提出了程序同步的設計模型。
以下是理髮師理髮問題偽**: 12
#define
n 53
typedef
intsemaphore;
4semaphore mutex=1
;//用於互斥
5semaphore customers=0
;//等候客人數訊號量
6semaphore barbers=0
;//等待顧客的理髮師訊號量
7int
wating =0
;//沒有理髮客人資料量89
//理髮師理髮
10void
barber()
1121}22
//來理髮客人了
23void
customer()
2433
else
3437}
經典的IPC問題
inter process communication的縮寫,含義是程序間通訊,是指兩個程序間交換資料的過程。哲學家的生活包括兩個不同的階段 吃飯和思考 當乙個哲學家覺得餓時,他就試圖去取他左邊和右邊的叉子,每次拿一把,但是部分次序,如果成功地獲得了兩把叉子,他就吃一會兒,然後放下叉子繼續思考。關鍵...
IPC 讀者 寫者問題
courtois et al於1971年提出。可以多讀取,但是寫入時不允許讀取 寫入。1 typedef int semaphore 2 semaphore mutex 1 3 semaphore db 1 4 int rc 0 5 void reader void 6 19 20void writ...
IPC 哲學家進餐問題
1965年,dijkstra提出並解決了乙個他稱之為哲學家進餐的同步問題。五個哲學家圍坐在一張圓桌周圍,每個哲學家的前面都有乙份通心麵,由於麵條很滑,必須使用2把叉子才能夾住。相鄰2份通心麵之間有1把叉子。哲學家的生活包括 吃飯 思考。當哲學家感覺餓了,他就試圖分2次取他左右的叉子,每次拿1把,但不...