內(nèi)核級線程和用戶級線程有什么區(qū)別 用戶級線程和內(nèi)核支持線程有何區(qū)別?
用戶級線程和內(nèi)核支持線程有何區(qū)別?用戶級線程和內(nèi)核級線程的區(qū)別如下:(1)內(nèi)核支持線程是OS內(nèi)核感知線程,而用戶級線程是OS內(nèi)核不可感知線程。T(2)用戶級線程的創(chuàng)建、撤銷和調(diào)度不需要OS內(nèi)核的支持,
用戶級線程和內(nèi)核支持線程有何區(qū)別?
用戶級線程和內(nèi)核級線程的區(qū)別如下:(1)內(nèi)核支持線程是OS內(nèi)核感知線程,而用戶級線程是OS內(nèi)核不可感知線程。T(2)用戶級線程的創(chuàng)建、撤銷和調(diào)度不需要OS內(nèi)核的支持,而是在語言級(如Java)進行處理;而內(nèi)核支持線程的創(chuàng)建、撤銷和調(diào)度,都需要OS內(nèi)核的支持,與創(chuàng)建基本相同,進程的撤銷和調(diào)度。T(3)當用戶級線程執(zhí)行系統(tǒng)調(diào)用指令時,其進程會被中斷,而當內(nèi)核支持線程執(zhí)行系統(tǒng)調(diào)用指令時,只有線程會被中斷。T(4)在只有用戶級線程的系統(tǒng)中,CPU調(diào)度仍然基于進程,用戶程序控制運行進程中線程的輪換;在內(nèi)核支持線程的系統(tǒng)中,CPU調(diào)度基于線程,OS線程調(diào)度器負責線程調(diào)度。T(5)用戶級線程的程序?qū)嶓w是以用戶模式運行的程序,而內(nèi)核支持線程的程序?qū)嶓w是以任何狀態(tài)運行的程序。
用戶級線程和內(nèi)核支持線程有何區(qū)別?
內(nèi)核級線程是用來實現(xiàn)、管理和調(diào)度操作系統(tǒng)內(nèi)核的線程。由于操作系統(tǒng)的管理,操作系統(tǒng)知道線程的存在,為線程安排時間片,并管理與線程相關(guān)的內(nèi)核對象。由于內(nèi)核級線程由內(nèi)核管理,因此每次創(chuàng)建或切換線程時,都必須執(zhí)行模式切換例程。因此,內(nèi)核級線程的效率相對較低,內(nèi)核級線程的調(diào)度由操作系統(tǒng)的設(shè)計者決定,缺乏靈活性。但是內(nèi)核級線程有一點,即當進程的一個線程由于系統(tǒng)調(diào)用或缺頁中斷而被阻塞時,它不會導致進程的所有線程都被阻塞。內(nèi)核級線程的優(yōu)點:較好的并行能力,進程中的線程阻塞不會影響進程中的其他線程。內(nèi)核級線程的缺點是:線程管理開銷太大,缺乏靈活性。用戶級線程由以用戶模式運行的運行庫管理。它的優(yōu)點是線程的一切(包括調(diào)度和創(chuàng)建)都可以完全由用戶決定,因此具有很高的靈活性。而且由于采用用戶模式管理,節(jié)省了內(nèi)核管理的成本,因此具有較高的效率。但是用戶級線程有一個致命的缺點:進程中的線程阻塞會導致整個進程中的所有線程阻塞。而且,由于用戶級線程沒有時間片的概念,每個線程必須運行一段時間,讓CPU被其他線程占用,否則線程會獨占CPU。用戶級線程的優(yōu)點:靈活性高,效率高。用戶級線程的缺點是:并發(fā)性差。由于這兩種線程通常不能滿足用戶的需求,一些研究者開始研究新的線程系統(tǒng)。較好的線程系統(tǒng)是1993年國外幾位學者提出的調(diào)度器激活機制的線程實現(xiàn)方法。該方法是介于內(nèi)核級線程和用戶級線程之間的一種線程,兼有兩種線程的優(yōu)點。要了解更多關(guān)于調(diào)度激活機制的信息,可以向我問好
!