看板 CSSE 關於我們 聯絡資訊
※ 引述《snoopy0907 (超強氣)》之銘言: : 不好意思 : 請問各位前輩們 : 能否能解釋一下 : process 和 thread的差別 : 小弟我看書後還是對這兩個觀念很模糊 : 好像process有時等於thread : 有時又不一樣 : 請前輩們能指點一下嗎? : 謝謝~ thread 是 light weight process 一個process包含很多資訊, 像是程式、資料、堆疊等等. thread是一群thread共享同樣的程式與資料, 但是有自己的暫存器狀態與堆疊. 在執行緒之間切換時, 所需要的成本比較小. 不像process的context switch要存的東西比較多, 所以時間也要花比較多. 要比較特性的話, 書上就有了. 觀念上無法理解的話, 就先把thread想像成process裡面的process好了.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.177.198
Arim:最近剛上到OS 也有碰到這問題@@ 03/25 23:38
Arim:所以意思是說 一個process 是一個正在跑程式,而thread則是裡 03/25 23:39
Arim:面正在執行的程式碼區塊? 03/25 23:39
Arim:只是不是很懂 為什麼有些書上說process可以有一個以上thread 03/25 23:40
Arim:也就是可以只有一個thread,不知道這樣是什麼情形? 03/25 23:40
sunneo:差別在於clone context之後,會不會給予不同的pagetable/ 03/26 02:34
sunneo:file(包括socket) 03/26 02:35
sunneo:如果給了新的pagetable並且protect為read, signal handler 03/26 02:36
sunneo:為clone page with new attr,那就達成copy on write 03/26 02:36
sunneo: ^ 應該說分享pagetable 03/26 02:37
hilorrk:copy on write和thread是不同的概念吧@@? 03/28 00:08
sunneo:對啊 只是thread底層是用clone達成 03/30 02:21