操作系統(tǒng)-線程的實現(xiàn)方式

線程的實現(xiàn)方式

線程已在許多系統(tǒng)中實現(xiàn),但各系統(tǒng)的實現(xiàn)方式并不完全相同,有的系統(tǒng),特別是一些數(shù)據(jù)庫管理系統(tǒng),如infomix所實現(xiàn)的是用戶級線程,另一些系統(tǒng)實現(xiàn)的是內核支持線程或同時實現(xiàn)內核支持線程和用戶支持線程

內核支持線程KST(Kernel Supported Threads)
  • 描述
    在OS中的所有進程,無論是系統(tǒng)進程還是用戶進程,都是在操作系統(tǒng)內核的支持下運行的,是與內核緊密相關的。而內核支持線程同樣是在內核的支持下運行的,它們的創(chuàng)建、阻塞、撤銷、和切換等,也都是在內核空間實現(xiàn)的。為了對內核線程進行控制和管理,在內核空間也為每一個內核線程設置了一個線程控制塊,內核根據(jù)該控制塊而感知某線程的存在,并對其加以控制。目前大多數(shù)OS都支持線程。

  • 優(yōu)點

    1. 在多處理機系統(tǒng)中,內核能夠同時調度同一進程中的多個線程并行執(zhí)行
    2. 如果進程中的一個線程被阻塞了,內核可以調度該進程中的其他線程占有處理機運行,也可以運行其他進程中的線程
    3. 內核支持線程具有很小的數(shù)據(jù)結構和堆棧,線程的切換比較快,切換開銷小
    4. 內核本身也可以采用多線程技術,可以提高系統(tǒng)的執(zhí)行速度和效率
  • 缺點
    對于用戶的線程切換而言,其模式切換的開銷比較大,在同一個進程中,從一個線程切換到另一個線程時,需要從用戶態(tài)轉到核心態(tài)進行,這是因為用戶進程的線程在用戶態(tài)運行,而線程的調度和管理是在內核實現(xiàn)的,系統(tǒng)開銷較大

用戶級線程ULT(User Level Threads)
  • 描述
    用戶級線程是在用戶空間中實現(xiàn)的。線程的創(chuàng)建、撤銷、同步、通信等功能,無需內核支持,即用戶級線程與內核無關,這些線程的任務控制塊都是設置在用戶空間,而線程所執(zhí)行的操作無需內核的幫助,因而內核完全不知道用戶線程的存在

  • 優(yōu)點

    1. 線程的切換不需要轉到內核空間,節(jié)省了模式切換的開銷
    2. 調度算法可以由進程根據(jù)需要,對自己的線程選擇調度算法進行管理和調度,而與OS的低級調度算法無關
    3. 用戶級線程的實現(xiàn)與OS平臺無關,因為對于線程管理的代碼是屬于用戶程序的一部分,因此用戶級線程甚至可以在不支持線程機制的操作平臺上實現(xiàn)
  • 缺點

    1. 系統(tǒng)調用阻塞問題,再基于進程機制的OS中,大多數(shù)系統(tǒng)調用將使進程阻塞,因此當線程執(zhí)行一個系統(tǒng)調用時,不僅該線程被阻塞,而且進程內的所有線程會被阻塞。而內核支持線程中的其他線程依然能運行

    2. 不能利用多處理機進行多重處理的優(yōu)點,內核每次分配給一個進程的僅有一個CPU,因此,進程中僅有一個線程能執(zhí)行,在該線程放棄CPU前,其他線程只能等待

組合方式
  • 用戶級線程通過時分多路復用內核支持線程來實現(xiàn)。組合方式的線程中,同一個進程內多個線程可以同時在多處理機上并行執(zhí)行,并且阻塞一個線程,不需要把整個線程都阻塞

線程的實現(xiàn)

內核支持線程的實現(xiàn)
  • 系統(tǒng)在創(chuàng)建一個新進程的時候,便為其分配一個任務數(shù)據(jù)區(qū)PTDA(Per Task Data Area),其中包含若干個線程控制塊TCB空間,這些TCB及其所在的任務數(shù)據(jù)區(qū)被保存到內核中,每當進程創(chuàng)建一個線程時,便為線程分配PDTA中的一個TCB,將有關信息填入到該TCB中,并為其分配其運行時所需的必要資源
用戶級線程的實現(xiàn)
  • 用戶級線程是在用戶空間實現(xiàn)的,所有的用戶級線程都具有相同的結構,它們都運行在一個中間系統(tǒng)上,當前有兩種方式實現(xiàn)中間系統(tǒng),即運行時系統(tǒng)和內核控制線程
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容