推 newpuma: user thread因為不需要透過kernel所以執行速度快,缺點是 12/11 00:47
→ newpuma: 發出block之後kernel會把整個process一起block(因為kerne 12/11 00:47
→ newpuma: l只看得到process),kernel thread相反。 同理若是OS要" 12/11 00:47
→ newpuma: 平均"分配資源也會因為視角不同而分配不同。那個model就 12/11 00:47
→ newpuma: 是在解釋user thread(1-1)跟kernel thread(1-多、多-多) 12/11 00:47
→ newpuma: 如果有打錯請其他人幫補充QQ 12/11 00:47
→ aa06697: 前面我都懂 但不懂就是那個model mapping是什麼意思XD 意 12/11 10:47
→ aa06697: 思是在多-1中 全部thread都是user thread? (那那個kernel 12/11 10:47
→ aa06697: thread是什麼@@) 一樣在多對多中 全部都是kernel thread 12/11 10:47
→ aa06697: ? (那畫的user thread是...?) 12/11 10:47
推 newpuma: 我發現我打錯了,趕快更正一下。user thread是多對一,然 12/11 13:24
→ newpuma: 後kernel thread是1-1或是多對多。 12/11 13:24
推 newpuma: 多對一你就想象成一個kernel thread管理整個process,1-1 12/11 13:28
→ newpuma: 就是一個kernel thread管理一個user thread,但是非常浪 12/11 13:28
→ newpuma: 費系統資源,才會衍生出多對多。如果你有上課的話你應該 12/11 13:28
→ newpuma: 記得老師那時舉得例子(政府給每個家庭配一個僕人or給每 12/11 13:28
→ newpuma: 個人配一個僕人的例子) 12/11 13:28
→ aa06697: 這樣大概懂惹 跟我腦補的差不多 那我不懂的就是 1 to 1 12/11 14:23
→ aa06697: 是怎麼在建立一個user thread時就mapping 一個kernel thr 12/11 14:23
→ aa06697: ead給他 不是說好OS不會知道user thread的存在嗎? 12/11 14:23
推 TWkobe: 就是因為os不知道 所以是由kernel thread管理 12/11 22:38
→ ken52011219: OS 不知道user thread 的存在 因此當user thread 被 12/11 22:53
→ ken52011219: 從 thread library 取出的同時( in kernel space) 12/11 22:53
→ ken52011219: 就會同時產生 1 kernel thread 去類似標註它在哪的感 12/11 22:54
→ ken52011219: 覺, 只不過因為1-1 太浪費, 且從User library 取出 12/11 22:55
→ ken52011219: thread 12/11 22:56
→ ken52011219: =.= thread library 12/11 22:56
→ ken52011219: 時通常會取出多個user thread ,這時kernel thread產 12/11 22:57
→ ken52011219: 生 就為 many to 1 12/11 22:57
→ aa06697: 喔喔 意思是 thread pool會放在kernel space 產生user sp 12/12 10:50
→ aa06697: ace其實也要去kernel space拿的意思? 然後一次拿多個use 12/12 10:50
→ aa06697: r thread看model來決定會同時創幾個kernel thread來管理 12/12 10:50
→ aa06697: 這樣嗎@@? 12/12 10:50
推 ken52011219: 我是這麼想的啦@@~ 12/12 14:23