執行緒模型 使用者級執行緒與核心級執行緒介紹與對比

2021-09-24 16:54:25 字數 840 閱讀 7765

使用者級執行緒

一、概述

使用者級執行緒的實現就是把整個執行緒實現部分放在使用者空間中,核心對執行緒一無所知,核心看到的就是乙個單執行緒程序。

對於執行緒的底層實現,現在很少有作業系統會使用單純的使用者級執行緒這中線程模型來實現。

注:對於實現的是使用者級執行緒的作業系統而言,cpu 排程的基本單位看起來像是程序(因為在核心看來,這些程序都是單執行緒的,所以對單執行緒的排程就像是在排程程序一樣)。

二、優點

三、缺點

核心級執行緒

一、概述

在核心中有乙個用來記錄系統中所有執行緒的執行緒表(tcb,程序表pcb),當某個執行緒希望建立乙個新執行緒或撤銷乙個已有執行緒時,它進行乙個系統呼叫,這個系統呼叫通過對執行緒表的更新完成執行緒的建立或撤銷工作。

現在主流的作業系統對於執行緒的實現,大多採用這種執行緒模型,比如 windows、linux 等。

二、優點

三、缺點

二者的對比

關於使用者級執行緒和核心級執行緒這兩種執行緒模型的對比,個人認為主要可以從排程、開銷、效能這三個角度來看待。

在早期的作業系統中有不支援執行緒的,都是使用使用者執行緒來實現的,現在都支援執行緒了,大多數都使用輕量級程序去對映核心執行緒的手段來實現多執行緒技術,包括常見的 windows 和 linux 就這種一對一的執行緒模型。

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

這兩天在寫這篇blog的時候,順帶複習作業系統的資料,遇到了乙個之前沒有弄明白的問題,就是關於核心級執行緒與使用者級執行緒。在查閱了一些資料之後,發表一下我個人簡介。執行緒已經在許多系統中實現,到那時各個作業系統實現方式不完全相同。kst 核心支援執行緒是在核心空間實現的 核心為每個執行緒在核心空間...

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

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

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

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