2010-09-05 70 views
1

Linux內核據說是SMP。據說進程和內核線程應該分佈在各個處理器之間。多線程和SMP Linux

  1. 是否所有Linux發行版像fedora13,ubuntu 10.04默認都啓用了SMP Linux?

  2. 在SMP Linux上,這是更好的後續 一)多進程方式 與 二)多線程的方式

  3. 的默認操作並行線程創建一個內核級線程使任何應用程序可以利用LWP以及SMP嗎?

如果不是,如何使用Pthreads創建內核級線程。 任何參考將不勝感激。

回答

7
  1. SMP已經在內核多年了。大多數現代系統至少運行兩個內核,它幾乎總是在使用中。
  2. 要使用哪一個取決於您的問題空間而不是您擁有的核心數量。
  3. 是的,Pthreads創建內核級線程。 (如果你想要用戶空間的線程,你可以使用像GNU Pth)。
+0

嗨馬塞洛,謝謝你的回覆!所以當使用pthread時,一個線程可以運行在一個內核中,而另一個線程可以運行在另一個內核中? – Sashi 2010-09-05 11:30:52

+0

@Sashi:是的。事實上,單線程可以在多個內核的整個生命週期內進行調度(當然,不是同時進行的,但是可以根據可用性從核心切換到內核)。 – 2010-09-05 12:15:08

+0

謝謝Marcelo! – Sashi 2010-09-05 12:45:04