抽菸者問題。假設乙個系統中有三個抽菸者程序,每個抽菸者不斷地捲菸並抽菸。抽菸者捲起並抽掉一顆煙需要有三種材料:菸草、紙和膠水。乙個抽菸者有菸草,乙個有紙,另乙個有膠水。系統中還有兩個**者程序,它們無限地**所有三種材料,但每次僅輪流提供三種材料中的兩種。得到缺失的兩種材料的抽菸者在捲起並抽掉一顆菸後會發訊號通知**者,讓它繼續提供另外的兩種材料。這一過程重複進行。 請用以上介紹的 ipc 同步機制程式設計,實現該問題要求的功能
,分析這明顯是乙個生產者和消費者問題,問題的關鍵在於訊號量的設計,和生產者操作的先後順序,思路一是設計三個訊號量(3個empty和full)從不同的緩衝區讀取,關鍵是linux操作太不熟練了,具體見《山東大學作業系統上機實驗3》
讀者寫者問題 作業系統
動機 共享資料的訪問 兩種型別使用者 讀者 不需要修改資料 寫者 讀取和修改資料 問題的約束 允許同一時間有多個讀者,但在任何時候只有乙個寫者 當沒有寫者是讀者才能訪問資料 當沒有讀者和寫者時,寫者才能訪問資料 在任何時候只有乙個執行緒能操作共享變數 多個併發程序的資料集共享 rcount 有多少個...
作業系統 讀者 寫者問題
讀者間可以同時訪問資源 任一寫者必須與其他寫者或者讀者互斥訪問共享資源 分析 寫者與任一程序互斥訪問共享資源 讀者互斥訪問readcount變數 1申請對檔案的使用權p mutex 2寫檔案 3釋放對檔案的使用權v mutex 設正在讀的讀者個數readcount初 0 1第乙個讀者來 申請對檔案的...
作業系統 讀者寫者問題
乙個資料檔案或記錄可以被多個程序共享。唯讀的程序為 reader程序 其他程序為 writer程序 允許多個物件同時讀乙個共享物件,但是不允許乙個writer程序和其他reader程序同時共享物件。使用記錄性訊號量解決讀者與寫者問題 互斥訊號量wmutex 實現reader與writer程序間在讀或...