核心級執行緒與使用者級執行緒

2022-10-10 15:48:14 字數 661 閱讀 7088

這兩天在寫這篇blog的時候,順帶複習作業系統的資料,遇到了乙個之前沒有弄明白的問題,就是關於核心級執行緒與使用者級執行緒。在查閱了一些資料之後,發表一下我個人簡介。

執行緒已經在許多系統中實現,到那時各個作業系統實現方式不完全相同。

kst:

核心支援執行緒是在核心空間實現的;核心為每個執行緒在核心空間中設定了乙個執行緒控制塊,用來登記該執行緒的執行緒識別符號、暫存器值、狀態、優先順序等資訊;所有對執行緒的操作,如建立、撤消和切換等,都是通過系統功能呼叫由核心中的相應處理程式完成;設定了核心支援執行緒的系統,其排程是以執行緒為單位進行的。

優點:ult:

使用者級執行緒僅存在於使用者空間中,與核心無關;就核心而言,它只是管理常規的程序—單執行緒程序,而感知不到使用者級執行緒的存在;每個執行緒控制塊都設定在使用者空間中,所有對執行緒的操作也在使用者空間中由執行緒庫中的函式完成,無需核心的幫助;設定了使用者級執行緒的系統,其排程仍是以程序為單位進行的。

組合方式:

核心支援多kst執行緒的建立、排程和管理,同時,也允許使用者應用程式建立、排程和管理使用者級執行緒;一些核心支援執行緒對應多個使用者級執行緒,程式設計師可按應用需要和機器配置對核心支援執行緒數目進行調整,以達到較好的效果。

兩者比較:

(1)核心支援

(3)排程和執行緒執行時間

(5)系統呼叫

很多是從cc的ppt上拷貝的,希望會有幫助!

使用者級執行緒和核心級執行緒

根據在使用者空間還是在核心實現多執行緒機制,執行緒又被分為使用者級執行緒 user level thread 和核心級執行緒 kernel level thread 有關執行緒的所有管理工作都有在使用者級實現的執行緒庫來支援。使用者級執行緒庫是用於使用者級執行緒管理的例程包,支援執行緒的建立 終止,...

使用者級執行緒和核心級執行緒

執行緒有3種實現模型 使用者級或應用程式級執行緒 核心級執行緒 使用者級和核心級混合執行緒 圖6 1顯示了3種執行緒實現模型。圖6 1 a 顯示了使用者級執行緒,圖6 1 b 顯示了核心級執行緒,圖6 1 c 則顯示了使用者執行緒和核心執行緒的混合。這些實現之間的較大的區別之一就是它們的模式以及要指...

使用者級執行緒和核心級執行緒

6.1.1 使用者級執行緒和核心級執行緒 執行緒有3種實現模型 使用者級或應用程式級執行緒 核心級執行緒 使用者級和核心級混合執行緒 圖6 1顯示了3種執行緒實現模型。圖6 1 a 顯示了使用者級執行緒,圖6 1 b 顯示了核心級執行緒,圖6 1 c 則顯示了使用者執行緒和核心執行緒的混合。這些實現...