操作系統之抽菸者問題

抽菸者問題。假設一個系統中有三個抽菸者進程,每個抽菸者不斷地捲菸並抽菸。抽菸者捲起並抽掉一顆煙需要有三種材料:菸草、紙和膠水。一個抽菸者有菸草,一個有紙,另一個有膠水。系統中還有兩個供應者進程,它們無限地供應所有三種材料,但每次僅輪流提供三種材料中的兩種。得到缺失的兩種材料的抽菸者在捲起並抽掉一顆煙後會發信號通知供應者,讓它繼續提供另外的兩種材料。這一過程重複進行。 請用以上介紹的 IPC 同步機制編程,實現該問題要求的功能

,分析這明顯是一個生產者和消費者問題,問題的關鍵在於信號量的設計,和生產者操作的先後順序,思路一是設計三個信號量(3個empty和full)從不同的緩衝區讀取,關鍵是linux操作太不熟練了,具體見《山東大學操作系統上機實驗3》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章