資源簡介
數據結構:
每個進程有一個進程控制塊( PCB)表示。進程控制塊可以包含如下信息:進程類型標號、進程系統號、進程狀態(本程序未用)、進程產品(字符)、進程鏈指針等等。
系統開辟了一個緩沖區,大小由buffersize指定。
程序中有三個鏈隊列,一個鏈表。一個就緒隊列(ready),兩個等待隊列:生產者等待隊列(producer);消費者隊列(consumer)。一個鏈表(over),用于收集已經運行結束的進程
本程序通過函數模擬信號量的原子操作。
算法的文字描述:
① 由用戶指定要產生的進程及其類別,存入進入就緒隊列。
② 調度程序從就緒隊列中提取一個就緒進程運行。如果申請的資源不存在則進入響應的等待隊列,調度程序調度就緒隊列中的下一個進程。進程運行結束時,會檢查對應的等待隊列,激活隊列中的進程進入就緒隊列。運行結束的進程進入over鏈表。重復這一過程直至就緒隊列為空。
③ 程序詢問是否要繼續?如果要轉直①開始執行,否則退出程序。
代碼片段和文件信息
- 上一篇:最小生成樹 數據結構
- 下一篇:魔方還原算法C語言
評論
共有 條評論