1、 生產者—消費者問題
producer :
repeat
…produce an item in nexp;
…wait(empty);
wait(mutex);
buffer(in):=nexp;
in:=(in+1) mod n;
signal(mutex);
signal(full);
until false;
consumer :
repeat
wait(full);
wait(mutex);
nextc:=buffer(out);
out:=(out+1) mod n;
signal(mutex);
signal(empty);
consume the item in nexc;
until false;
1)兩個生產者同時的情況
假設的時間片輪轉順序如下
produce;
produce;
wait(e);
wait(m);
buffer(in):=nexp;
wait(e);
wait(m);
buffer(in):=nexp;
in:=(in+1)mod n;
signal(m);
signal(f);
in:=(in+1)mod n;
signal(m);
signal(f);
2)生產者等待消費者情況
produce;
wait(e);
wait(m);
buffer(in):=nexp;
wait(f);
wait(m);
nextc:=buffer(out);
in:=(in+1)mod n;
signal(m);
signal(f);
out:=(out+1) mod n;
signal(m);
signal(e);
consume;
哲學家進餐問題
五個哲學家共用一張圓桌,分別坐在周圍的五張椅子上,在桌子上有五隻碗和五隻筷子,他們的生活方式是交替地進行思考和進餐。平時,乙個哲學家進行思考,飢餓時便試圖取用其左右最靠近他的筷子,只有在他拿到兩隻筷子時才能進餐。進餐畢,放下筷子繼續思考。
第i 位哲學家的活動可描述為:
repeat wait(chopstick[ i ]); wait(chopstick[ ( i +1) mod 5] ); … eat; … signal(chopstick[ i ]); signal(chopstick[ ( i +1) mod 5] ); … think; until false;
作業系統 理論知識
可能很多人都會說,我們平時裝的windows7 windows10都是作業系統,沒錯,他們都是作業系統。那除了這些還有沒有其他的?作業系統 operating system,os 是指控制和管理整個計算機系統的硬體和軟體資源,並合理地組織排程計算機的工作和資源的分配,以提供給使用者和其他軟體方便的介...
作業系統理論知識11
檔案管理 把所管理的程式和資料組織成一系列的檔案,並能進行合理的儲存 使用等操作。基本概念 資料項 描述物件某種屬性的字符集 是資料組織中可以命名的最小邏輯資料單位。記錄 一組相關資料項集合,描述物件某方面的屬性 關鍵字 乙個記錄中的乙個或幾個資料項的集合,用於唯一的標識乙個記錄。檔案 由建立者定義...
作業系統理論知識 檔案系統
檔案系統的三個基本要求 檔案是通過作業系統來管理的,包括檔案的結構 命名 訪問 使用 保護和實現方法等 構成了檔案系統 域是基本資料單元,乙個域包含乙個值,可以通過其長度和資料型別來描述。域的長度可以是固定的,也可以是可變的。通常情況下域包含了 要儲存的實際值 網域名稱,在某些情況下還包括域的長度。...