作者lucy35 ()
看板Grad-ProbAsk
標題[理工] 作業系統 同步
時間Tue Nov 26 23:48:59 2019
http://i.imgur.com/0BQqJp2.jpg
請問這個該寫什麼?
我覺得是用mutex lock改寫程式
可是有些書寫說binary semaphore 又稱mutex lock
所以不知道該如何解答
-----
Sent from JPTT on my OPPO CPH1701.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.51.78 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Grad-ProbAsk/M.1574783343.A.5D9.html
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/26/2019 23:49:30
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/26/2019 23:50:01
推 mistel: 想問empty跟full算binary semaphore嗎?不然不太懂題目的 11/26 23:53
1F:→ mistel: 意思11/26 23:53
2F:→ nctudada: semaphore有分兩種 一種是binary另一種是counting11/27 10:05
3F:推 nctudada: 我猜題目想要你用counting semaphore的方法來實作11/27 10:08
4F:→ DLHZ: 我記得還是有差 一個是wait一個是busy waiting11/27 11:24
5F:→ DLHZ: wait 是block自己後加進一個list 等到signal被執行再叫起來11/27 11:25
6F:推 mistel: 恐龍給mutex lock的定義是類似binary semaphore,所以我11/27 12:38
http://i.imgur.com/QatK1dO.jpg
這是課本中的一部分,也沒有明確寫為什麼
7F:→ mistel: 覺得不是n大說的11/27 12:38
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/27/2019 14:15:59
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/27/2019 14:17:21
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/27/2019 14:18:08
8F:→ DLHZ: 修正一下 我前面講的是一種改良的做法 好像文不對題 他們很 11/27 15:17
9F:→ DLHZ: 像不過mutex比較像保護某塊特定的部分 binary semaphore則 11/27 15:17
10F:→ DLHZ: 是不一定要鎖某一塊可能是等什麼事發生 就我理解他們都能做 11/27 15:17
11F:→ DLHZ: 到同樣的事情(幾乎一模一樣?) 但是目的不太一樣 所以應該也 11/27 15:17
12F:→ DLHZ: 不能說完全相同 11/27 15:17
13F:→ DLHZ: 所謂的相同應該是指實作起來的那種感覺 不同指目的上的差異 11/27 15:18
那你覺得題目要的mutex lock 是使用acquire()跟release()嗎?還是要使用thread? 只是我不確定用thread是否跟題目所需的一樣
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/27/2019 17:18:26
14F:→ DLHZ: 題目那樣講我覺得就是acquire跟release 你說的thread是? 11/28 00:49
http://i.imgur.com/QXNXA11.jpg
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/28/2019 10:43:28
16F:→ DLHZ: 你貼的thread看起來是題目想做的部分 11/28 12:39
所以相較acquire 跟release 的方法,這個thread 比較符合嗎?
※ 編輯: lucy35 (223.138.51.78 臺灣), 11/28/2019 16:46:30
17F:→ DLHZ: 我覺得是一樣的東西欸 11/28 17:15