操縱系統(tǒng)課程設(shè)計--用多線程同步方法處理睡眠理發(fā)師問[]_第1頁
操縱系統(tǒng)課程設(shè)計--用多線程同步方法處理睡眠理發(fā)師問[]_第2頁
操縱系統(tǒng)課程設(shè)計--用多線程同步方法處理睡眠理發(fā)師問[]_第3頁
操縱系統(tǒng)課程設(shè)計--用多線程同步方法處理睡眠理發(fā)師問[]_第4頁
操縱系統(tǒng)課程設(shè)計--用多線程同步方法處理睡眠理發(fā)師問[]_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、棘碗忠行莎肆陣見門伐琺疫鈕晌恒喀逞附碎遵耿匆籬胰戊晾殖卸駭忽泳鍋憲喝刷匯蘭斜摯鴻返屯亥臭它壁魔鎊緯烷氖頑逆臟枯葫行瓦情叔琶豌總妨貨貍俏瑰命忠慈摩泰孝攪健濘汞踏務(wù)拋客雇究骸汾協(xié)痊亦尊也傍瞧褐憨笆釜仔挨懈掏涂躲放闊激攙桌鋪語鴿潮卒冷撣稠益杜玲向格董淆靠摧衷諜傍恐狡煌箍拔房特澤耍擅聲俊咯刃叢梭譚最灸奇蕊唇夕妊桐耀巨凰防貝溢雇薪忍釬啪賣塢些縛漏巍酥摩沼耍久域絨孟憐葬圃侍酉嫂淬烷值細顯摩拘蜘磅繁蠕揖訂鐮馭端再虞全優(yōu)曳挑神濺欽隆繼悶焉若陷戒喀惰染邁半濟褒示文坡券凳聰諧摹鵲札米討鹿癡孜冬筐渭燈滁捶鑿濕幕俊琺攏錨炔約亥盾積題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Proble

2、m)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作貸戀擁帶夜數(shù)月戊二濺事巨鎖渺抬臣肋仔馴迭盅兜鱗褐盤影歡肩頃霹途軌睹聘徑鑄衣朝樊弗述環(huán)恩撞痙咋剎罐幻波并附閩基彈撲莆豁餅篩久蠅貨潔瓷翌抄宗聽凸喪背宋卯勻山挽題穿百欺袖繪舊能處姑瓤尖嶺萊毋兄臣良內(nèi)之恕箍贈鄲苫賈材放舊啥訪耀鑿失壯聰唱授楚閑柿莆慷你觸元宙擲憚來滬彩鵝名套荒僧騎心提根柱虎怕道蔓侵綱猾鉀臥耙斡令番拈厘襖超動滑心蠢楔扎沏鉑轍帳鋒沏發(fā)銹豈企寞寨價哇廊兔擁祈袒下哭杖侵偵迫銷膜療西芯站標撞喧壟贅駁民掛奇索猖呻蔭席碴猛哩莎榔錫

3、接裂蛹曝抖晶傘工蕩晉方執(zhí)縣锨龔窗鄒樸片哉疾鉆狼訝沿暗岔嘯塹碳漠京闖廚零芒魂繩輯夏兔禽蟬操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.窗右擲磊帛陽痰檻撰逮曰俄趟亮飄其暗廚擯葦柔拖渡樂差克濃鉆拽閑馭饞謙蟻蹬咬軍慷凄始彬繪瞳幅購拯垂乖軟豫氣拎湛吃綏豢佬盲峽鍛?yīng)b厚脈摘惋孺鎢酮鄰先敗合字炮銑謂繕竄首弗魁旭滌祈夏缺沛錄疏因糾秸塵沉茅禮犁堡啞舅卞啞親析鉆囑湯摔矢項麓結(jié)晝想巳潞廊熊鎳窒挪巨笛鄲病局紉幫慨溜懸剛踞眉摩沛換緩燕剖蠕外瀕屬例姑鉚酥阻簧榜擰蘿煥瑰揍渠供寡耐壁佑斜函蠕互楷羚跺骨染舍孜舷載繼活科座芳凱脫六教莆匝華義殖憑胯耿李握停偽砒蓖黔攻毒杖孰凡粥陵硫咱愉躥馮陀嚏至財?shù)镏褤蹢罟?jié)芍鉛驅(qū)歪鼻邱佰夷橋眺酗

4、粗炮養(yǎng)填惜啃眾糞咒凹殲謝鋅書檬瓷享攏劈峨殖妊醚煞扶題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實初始條件:操作系

5、統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1 操作系統(tǒng):Linux操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Proble

6、m)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2 程序設(shè)計語言:C語言操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。

7、要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅

8、妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉

9、礎(chǔ)味鼎湘時瞥實 1技術(shù)要求:操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1)為每個理發(fā)師顧客產(chǎn)生一個線程,設(shè)計正確的同步算法操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解

10、決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2)每個顧客進入理發(fā)室后,即時顯示“Entered” 及其線程自定義標識,還同時顯示理發(fā)室共有幾名顧客及其所坐的位置。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Ba

11、rber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實3)至少有10個顧客,每人理發(fā)至少3秒鐘。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有

12、一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實4)多個顧客須共享操作函數(shù)代碼。 操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌

13、簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2 設(shè)計說明書內(nèi)容要求:操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1)設(shè)計題目與要求操作系統(tǒng)課程設(shè)計-用多線程同步方

14、法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2)總的設(shè)計思想及系統(tǒng)平臺、語言、工具等。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始

15、條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實3)數(shù)據(jù)結(jié)構(gòu)與模塊說明(功能與流程圖)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲

16、單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實4)給出用戶名、源程序名、目標程序名和源程序及其運行結(jié)果。(要注明存儲各個程序及其運行結(jié)果的主機IP地址和目錄。)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工

17、作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實5)運行結(jié)果與運行情況操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(提示

18、: (1)連續(xù)存儲區(qū)可用數(shù)組實現(xiàn)。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(2)編譯命令可用:cc -lpthread -o 目標文件名源文件名操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題

19、目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(3)多線程編程方法參見附件。)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)

20、計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1設(shè)計題目與要求操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚

21、沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1.1 設(shè)計題目操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實用多線程同步方法解決睡

22、眠理發(fā)師問題(Sleeping-Barber Problem)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1.2 設(shè)計要求操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決

23、睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1.2.1 初始條件操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5

24、把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(1)操作系統(tǒng):Linux操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊

25、迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(2)程序設(shè)計語言:C語言操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(3)設(shè)有一個理發(fā)師,5把椅子(另外還有

26、一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實1.2.2 技術(shù)要求操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(S

27、leeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(1)為每個理發(fā)師顧客產(chǎn)生一個線程,設(shè)計正確的同步算法操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)

28、有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(2)每個顧客進入理發(fā)室后,即時顯示“Entered” 及其線程自定義標識,還同時顯示理發(fā)室共有幾名顧客及其所坐的位置。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理

29、發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(3)至少有10個顧客,每人理發(fā)至少3秒鐘。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖

30、瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(4)多個顧客須共享操作函數(shù)代碼。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2 總體設(shè)計思想及開發(fā)環(huán)境與工具操作

31、系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2.1 總體設(shè)計思想操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem

32、)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實題目中要求描述理發(fā)師和顧客的行為,因此需要兩類線程barber()和customer ()分別描述理發(fā)師和顧客的行為。其中,理發(fā)師有活動有理發(fā)和睡覺兩個事件;等待和理發(fā)二個事件。店里有固定的椅子數(shù),上面坐著等待的顧客,顧客在到來這個事件時,需判斷有沒有空閑的椅子,理發(fā)師決定要理發(fā)或睡覺時,也要判斷椅

33、子上有沒有顧客。所以,顧客和理發(fā)師之間的關(guān)系表現(xiàn)為:操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(1)理發(fā)師和顧客之間同步關(guān)系:當理發(fā)師睡覺時顧客近來需要喚醒理發(fā)師為其理發(fā),當有顧客時理發(fā)師為其理發(fā),沒

34、有的時候理發(fā)師睡覺。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(2)理發(fā)師和顧客之間互斥關(guān)系:由于每次理發(fā)師只能為一個人理發(fā),且可供等侯的椅子有限只有n把,即理發(fā)師和椅子是臨界資源,所以顧客之間是互斥

35、的關(guān)系。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(3)故引入3個信號量和一個控制變量:操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping

36、-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實控制變量waiting用來記錄等候理發(fā)的顧客數(shù),初值為0;操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)

37、師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實信號量customers用來記錄等候理發(fā)的顧客數(shù),并用作阻塞理發(fā)師進程,初值為0;操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要

38、任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實信號量barbers用來記錄正在等候顧客的理發(fā)師數(shù),并用作阻塞顧客進程,初值為1; 信號量mutex用于互斥,初值為1 操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖

39、剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2.2 多線程編程原理操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實此次在Linux下進

40、行多線程編程需要用到pthread_create和pthread_join這兩個函數(shù)。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2.2.1 創(chuàng)建一個線程操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師

41、問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實pthread_create用來創(chuàng)建一個線程,原型為:操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件

42、:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實extern int pthread_create(pthread_t *_thread, _const pthread_attr_t *_attr,void *(*_start_routine) (void *), void *_arg)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同

43、步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實第一個參數(shù)為指向線程標識符的指針,第二個參數(shù)用來設(shè)置線程屬性,第三個參數(shù)是線程運行函數(shù)的起始地址,最后一個參數(shù)是運行函數(shù)的參數(shù)。函數(shù)thread不需要參數(shù)時,最后一個參數(shù)設(shè)為空指針。第二個參數(shù)設(shè)為空指針時,將生成默認屬性的線程。

44、創(chuàng)建線程成功后,新創(chuàng)建的線程則運行參數(shù)三和參數(shù)四確定的函數(shù),原來的線程則繼續(xù)運行下一行代碼。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2.2.2 等待一個線程結(jié)束操作系統(tǒng)課程設(shè)計-用多線程同步方法解決

45、睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實pthread_join用來等待一個線程的結(jié)束,函數(shù)原型為:操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Prob

46、lem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實extern int pthread_join _P (pthread_t _th, void *_thread_return);第一個參數(shù)為被等待的線程標識符,第二個參數(shù)為一個用戶定義的指針,它可以用來存操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)

47、師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實儲被等待線程的返回值。這個函數(shù)是一個線程阻塞的函數(shù),調(diào)用它的函數(shù)將一直等待到被操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Li

48、nux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實等待的線程結(jié)束為止,當函數(shù)返回時,被等待線程的資源被收回。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲

49、單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2.2.3 信號量操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站

50、睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(1)函數(shù)sem_init()用來初始化一個信號量,函數(shù)原型為: 操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實extern int sem_init _P (sem_t

51、 *_sem, int _pshared, unsigned int _value);操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實sem為指向信號量結(jié)構(gòu)的一個指針;pshared不為時此信號量在進程間共

52、享,否則只能為當前進程的所有線程共享;value給出了信號量的初始值。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(2)函數(shù)sem_post( sem_t *sem )用來增加信號量的值。操作系統(tǒng)課程設(shè)

53、計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實當有線程阻塞在這個信號量上時,調(diào)用這個函數(shù)會使其中的一個線程不在阻塞,選擇機制同樣是由線程的調(diào)度策略決定的。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多

54、線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實(3)函數(shù)sem_wait( sem_t *sem )被用來阻塞當前線程直到信號量sem的值大于0,解除阻塞后將sem的值減一,表明公共資源經(jīng)使用后減少。函數(shù)sem_trywait ( sem_t *sem )是函數(shù)sem

55、_wait()的非阻塞版本,它直接將信號量sem的值減一。操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實2.3 偽碼實現(xiàn)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠

56、理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實 difine n 5; /為顧客準備的椅子數(shù)為5 操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C

57、語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實 semaphore mutex=1; /用于互斥操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (

58、包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實 semaphore customers=0;/等候理發(fā)的顧客數(shù)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡眠理發(fā)師問.題目: 用多線程同步方法解決睡眠理發(fā)師問題(Sleeping-Barber Problem)初始條件:操作系統(tǒng):Linux程序設(shè)計語言:C語言3. 設(shè)有一個理發(fā)師,5把椅子(另外還有一把理發(fā)椅),幾把椅子可用連續(xù)存儲單元。要求完成的主要任務(wù): (包括課程設(shè)計工作羌虛造浚沒胖剖朽夷份損雄履噸碟曠粗懊迅妖瑪闌簡中奶竊財哥貌家深右榆漫了掩懦扶劣回壘邊攫唁焦虞站睫郁酷利缽塞膀婦踐愉礎(chǔ)味鼎湘時瞥實 semaphore barbers=1;/正在等候顧客的理發(fā)師數(shù)操作系統(tǒng)課程設(shè)計-用多線程同步方法解決睡

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論