5 操作系统第二章 进程管理 线程介绍
生活随笔
收集整理的這篇文章主要介紹了
5 操作系统第二章 进程管理 线程介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1 什么是線程
- 1.1 為什么要引入線程:
- 1.2 線程定義
- 1.3 線程與進程的比較
- 1.4 線程的屬性
- 1.5 線程實現(xiàn)方式
- 1.5.1 用戶級線程(ULT)
- 1.5.2 內(nèi)核級線程(KLT,又稱“內(nèi)核支持的線程”)
- 1.5.2 用戶級線程、內(nèi)核級線程二者組合
- 1.6 多線程模型
- 1.6.1 多對一模型
- 1.6.2 一對一模型
- 1.6.3 多對多模型
- 1.7 線程小結(jié)
1 什么是線程
1.1 為什么要引入線程:
- 引入進程的目的:為了更好的使多道程序并發(fā)執(zhí)行,提高系統(tǒng)資源利用率和系統(tǒng)吞吐量;
- 引入線程的目的:為了減少程序在并發(fā)執(zhí)行時所付出的時空開銷,提高OS的并發(fā)性能。
1.2 線程定義
線程是“輕量級進程”,是一個基本的CPU執(zhí)行單元,是程序執(zhí)行的最小單元。線程是進程中的一個實體,是系統(tǒng)獨立調(diào)度和分派的基本單位。
1.3 線程與進程的比較
1. 進程是資源分配單位,線程是CPU調(diào)度單位 2. 進程擁有一個完整的資源平臺,而線程只獨享必不可少的資源,如寄存器和棧 3. 線程同樣具有就緒、阻塞和執(zhí)行三種基本狀態(tài),同樣具有狀態(tài)之間的轉(zhuǎn)換關(guān)系 4. 線程能減少并發(fā)執(zhí)行的時間和空間開銷(1)線程創(chuàng)建時間比進程短(2)線程終止時間比進程短(3)同一進程內(nèi)線程切換時間比進程短(4)由于同一進程的各線程之間共享內(nèi)存和文件資源,可直接進行不通過內(nèi)核的通信一張圖說明引入線程,帶來的變化:
1.4 線程的屬性
1.5 線程實現(xiàn)方式
1.5.1 用戶級線程(ULT)
1.5.2 內(nèi)核級線程(KLT,又稱“內(nèi)核支持的線程”)
1.5.2 用戶級線程、內(nèi)核級線程二者組合
在同時支持用戶級線程和內(nèi)核級線程的系統(tǒng)中,可采用二者組合的方式:將n個用戶級線程映射到m 個內(nèi)核級線程上(n>=m)
- 操作系統(tǒng)只“看得見”內(nèi)核級線程,因此只有內(nèi)核級線程才是處理機分配的單位。
- 舉個例子:在組合模型中,該進程由兩個內(nèi)核級線程,三個用戶級線程,在用戶看來,這個進程中 有三個線程。但即使該進程在一 個4核處理機的計算機上運行,也 最多只能被分配到兩個核,最多只能有兩個用戶線程并行執(zhí)行。
1.6 多線程模型
1.6.1 多對一模型
1.6.2 一對一模型
1.6.3 多對多模型
1.7 線程小結(jié)
總結(jié)
以上是生活随笔為你收集整理的5 操作系统第二章 进程管理 线程介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自然语言处理的未来之路(周明老师,CCF
- 下一篇: 10 操作系统第二章 进程管理 死锁、