2013-10-02 68 views
0

克隆(Linux)在PThreads創建用戶級線程時創建內核級線程。我覺得有些操作系統實際上並不支持用戶級別的線程。舉個例子: 在雙核處理器上,如果我有2個正在運行的進程,其中第一個有3個線程,第二個有4個線程,那麼CPU的時隙將不會被分成7個相等的時隙,一個線程但是一個核心將被分配給進程1並在其3個線程之間共享,而另一個核心將被分配給進程2並在其4個線程之間共享。內核級和用戶級線程

雖然如果我們使用克隆(在linux上)而不是PThreads。然後,雙核處理器的時間將在不同的內核線程之間平均分配(7)。

這是真的嗎?

回答

1

這裏是NPTL library最常用的今天的描述:

NPTL是一個所謂的1×1線程庫,在該線程以通過 用戶創建(通過在pthread_create()庫函數)在1-1 對應內核中的可調度實體(任務,在 Linux的情況下)。這是最簡單的線程實現。

如果它們是內核可調度的實體,那麼它們可以在任何處理器上單獨調度,並且您的語句不正確。

+0

感謝您的回覆。我說過:(我感覺有些操作系統實際上並不支持用戶級線程)。我的意思是一些操作系統不是全部。讓我以不同的方式重述我的問題: 是否有任何操作系統,我根據NPTL邏輯(這是爲Linux而設計)解釋爲NOT – Mustafa

+0

當然有,但我正在回答關於pthreads是用戶級別的部分線程(今天不是)。你可以說得更詳細點嗎?我無法給你列出每個架構上現有的每個操作系統。 –

+0

我不需要每一個操作系統!我只需要一個例子。我問是否有任何操作系統在我的邏輯中工作(不是全部)。我的主要目的是在一個方面顯示內核級線程比用戶級線程更好,無論何時執行程序,執行都將與所有(當前)操作系統將考慮內核級線程的方式相同。但對於用戶級線程,一些操作系統按照我所說的工作,而其他一些則用作NPTL邏輯。這是我的目標。所以,一個OS的例子就足夠了。 Regards – Mustafa

相關問題