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