哲學家進餐問題是荷蘭學者Dijkstra 提出的經典問題之一,它是一個信號量機制問題的應用,在操作系統文化史上具有非常重要的地位。對該問題的剖析有助于學生深刻地理解計算機系統中的資源共享、進程同步、死鎖等問題,并能熟練地應用信號量來解決生活中的控制流程,即將生活中的控制流程用形式化的方式表達出來。 假設有5個哲學家,他們花費一生中的時光思考和吃飯。這些哲學家共用一個圓桌,每個哲學家都有一把椅子。在桌子中央是一碗通心面,在桌子上放著5只筷子。(如圖所示)當一個哲學家思考時,他與其他同事不交互。時而,哲學家會感到饑餓,并試圖拿起與他相近的兩只筷子(他與鄰近左、右之間的筷子)。一個哲學家一次只能拿起一只筷子。顯然,他不能從其他哲學家手里拿走筷子。當一個饑餓的哲學家同時有兩只筷子時,他就不能不用釋放他的筷子而自己吃了。當吃完后,他會放下兩只筷子,并再次開始思考。 規定奇數號哲學家先拿他左邊的筷子,然后再去拿右邊的筷子;而偶數號哲學家則相反。按此規定,將是1、 2號哲學家競爭1號筷子;3、4號哲學家競爭3號筷子。即五位哲學家都先競爭奇數號筷子,獲得后,再去競爭偶數號筷子,最后總會有一位哲學家能獲得兩只筷子而進餐。
上傳時間: 2013-12-10
上傳用戶:zhangzhenyu
哲學家進餐問題是荷蘭學者Dijkstra 提出的經典問題之一,它是一個信號量機制問題的應用,在操作系統文化史上具有非常重要的地位。對該問題的剖析有助于學生深刻地理解計算機系統中的資源共享、進程同步、死鎖等問題,并能熟練地應用信號量來解決生活中的控制流程,即將生活中的控制流程用形式化的方式表達出來。 假設有5個哲學家,他們花費一生中的時光思考和吃飯。這些哲學家共用一個圓桌,每個哲學家都有一把椅子。在桌子中央是一碗通心面,在桌子上放著5只筷子。(如圖所示)當一個哲學家思考時,他與其他同事不交互。時而,哲學家會感到饑餓,并試圖拿起與他相近的兩只筷子(他與鄰近左、右之間的筷子)。一個哲學家一次只能拿起一只筷子。顯然,他不能從其他哲學家手里拿走筷子。當一個饑餓的哲學家同時有兩只筷子時,他就不能不用釋放他的筷子而自己吃了。當吃完后,他會放下兩只筷子,并再次開始思考。 規定奇數號哲學家先拿他左邊的筷子,然后再去拿右邊的筷子;而偶數號哲學家則相反。按此規定,將是1、 2號哲學家競爭1號筷子;3、4號哲學家競爭3號筷子。即五位哲學家都先競爭奇數號筷子,獲得后,再去競爭偶數號筷子,最后總會有一位哲學家能獲得兩只筷子而進餐。
上傳時間: 2014-01-23
上傳用戶:teddysha
旅行商問題 某售貨員要到若干城市去推銷商品,已知各城市之間的路程(或旅費)。他要選定一條從駐地出發,經過每個城市一遍,最后回到駐地的路線,使總的路程(或旅費)最小。 例如:給定4個城市{1,2,3,4}及其各城市之間的路程 最優路線是1,3,2,4,1, 其最短路程是25
上傳時間: 2013-11-27
上傳用戶:wsf950131
SMC1602A(16*2)模擬口線接線方式 連接線圖: --------------------------------------------------- |LCM-----51 | LCM-----51 | LCM------51 | --------------------------------------------------| |DB0-----P0.0 | DB4-----P0.4 | RW-------P2.5 | |DB1-----P0.1 | DB5-----P0.5 | RS-------P2.6 | |DB2-----P0.2 | DB6-----P0.6 | E--------P2.7 | |DB3-----P0.3 | DB7-----P0.7 | VLCD接1K電阻到GND| --------------------------------------------------- Keyboard接線 PS/2--------51 1 DATA------P3.4 3 GND 4 VCC 5 CLK-------P3.3 接在51的外部中斷,觸發方式為低電平 本程序源碼只供學習參考,不得應用于商業用途,如有需要請聯系作者。
上傳時間: 2014-01-05
上傳用戶:gaojiao1999
函數名稱:CRC-16 Process 函數原型:INT16U make_crc16(INT8U *msgaddr,INT8U datalen) 函數功能:進行CRC校驗和產生CRC代碼.這個函數只影響全局變量crc16. 校驗字放在字符串最后,低8位在前高8位在后. msgaddr : 進行CRC16校驗的據塊的首地址 datalen : 進行CRC16校驗的據塊的個數 CRC-ITU的計算算法如下: a.寄存器組初始化為全"1"(0xFFFF)。 b.寄存器組向右移動一個字節。 c.剛移出的那個字節與數據字節進行異或運算,得出一個指向值表的索引。 d.索引所指的表值與寄存器組做異或運算。 f.數據指針加1,如果數據沒有全部處理完,則重復步驟b。 g.寄存器組取反,得到CRC,附加在數據之后(這一步可省略)。
上傳時間: 2015-12-21
上傳用戶:llandlu
類似flashget下載工具代碼 本來想在完善了上傳的,但太忙了,有些功能可能沒有實現或存在一些 bug. 編譯運行說明 1)安裝BCG 9.4把BCGCBPRO940d.dll BCGPStyle2007Luna.dll BCGPStyle2007Obsidian.dll BCGPStyle2007Silver.dll copy 到bin目錄下 2)把程序里的SHELLAIP目錄下的SHELLAPI.H覆蓋vc安裝目錄下vc98/include/下 3)編譯,運行。公司里下載請設置HTTP代理。 軟件功能特點:多線程下載,斷點序傳,暫停下載,方便的目錄管理,支持HTTP代理(我們公司里下高設置HTTP代碼),方便的個性化設置,界面美觀,占用內存小,下載速度快等等。 不足的地方:里面有些功能只做了界面,沒有實現,:) 比如現在下載文件只能放在C:\MyDown\下 BT下載功能也沒有做。沒有仔細的測試過,可能存在一些bug. 有什么問題可以聯系我 QQ:1495501
上傳時間: 2015-12-26
上傳用戶:songyue1991
Analog Device ARM-7 系列之 ADuC_7020 Evaluation Board 內多個學習范例全都是基于 Keil 工程版的 范例,附 ADuC_7020 Evaluation Board 原理圖,而范例內容如下: 1.ADC 2.Comparator 3.DAC 4.FlashEE 5.FuncRam 6.INT 7.Mics 8.PLA 9.Pulse 10.S&C 11.TimerTrig 12.UART 13.Varplace
標簽: ADuC 7020 Evaluation Evaluati
上傳時間: 2014-07-04
上傳用戶:lps11188
Analog Device ARM-7 系列之 ADuC_7024 Evaluation Board 內多個學習范例全都是基于 Keil 工程版的 范例,附 ADuC_7024 Evaluation Board 原理圖,而范例內容如下: 1.ADC 2.Comp 3.DAC 4.FlashEE 5.FuncRam 6.INT 7.Mics 8.PLA 9.Pulse 10.PWM 11.S&C 12.TimerTrig 13.UART 14.Varplace
標簽: ADuC 7024 Evaluation Evaluati
上傳時間: 2016-01-01
上傳用戶:lo25643
tellaris Luminary Micro ARM 系列之 DK-LM3S828 多個學習范例全都是基于 Keil 工程版的范例, 并包含 LM3S Library Source Code ,而范例內容列舉如下: 1.BitBand 2.I2C_Atmel 3.GPIO_JTAG 4.GPIO_LED 5.Hello 6.Interrupts 7.QS_DK_LM3S828 8.SSI_Atmel 9.Timers 10.UART_Out 11.WatchDog 等
標簽: tellaris Luminary Library Source
上傳時間: 2016-01-01
上傳用戶:lmeeworm
Stellaris Luminary Micro ARM 系列之 DK-LM3S815 多個學習範例全都是基于 Keil 工程版的範例, 並包含 LM3S Library Source Code ,而範例內容列舉如下: 1.BitBand 2.Comparator 3.GPIO_JTAG 4.GPIO_LED 5.Hello 6.Interrupts 7.QS_DK_LM3S815 8.SSI_Atmel 9.Timers 10.UART_Out 11.WatchDog 12.PWMgen 13.I2C_Atmel 等...
標簽: Stellaris Luminary Library Source
上傳時間: 2013-12-26
上傳用戶:haohaoxuexi