操作系统【OS】线程的分类

  • 线程的实现分为两类 = 用户级线程(User-Level Thread, ULT) + 内核级线程(Kernel-Level Thread, KLT)

|----|-----------------------------------------------------------------------------------------------|----------------------------------------------------------|-----------|
| | ULT | KLT | 组合模式 |
| 定义 | 由用户级线程库函数来完成整个线程的管理和调度【库函数负责】 | 线程对应的TCB放在OS里,线程的管理和调度由OS负责【OS负责】 | 内核支持的用户线程 |
| 模型 | **++多对一++**模型(多个用户对应一个线程) | **++一对一++**模型(一个用户对应一个线程) | 多对多模型 |
| 优点 | * TCB由用户级线程库函数维护,可用于不支持线程技术的OS * 无需用户态和内核态的切换,速度特别快 | * 某个内核线程发起系统调用被阻塞,不会影响到其他内核线程的运行 * 内核能同时调度同一进程中的多个线程并行执行 | |
| 缺点 | * 一个线程发起了系统调用而阻塞,那进程所包含的用户线程都不能执行了 * 在多线程执行时,每个线程得到的时间片少,执行慢 * 📢线程与线程之间不用内核切换,但是跨进程的话就需要内核参与 | * 同一进程的线程切换,需要从用户态转到核心态,系统开销大 | |

相关推荐
纵有疾風起8 小时前
线性表的定义与基本操作 — 从逻辑结构到 ADT 接口
数据结构·算法·408·线性表·adt
charlie1145141918 小时前
Cinux · 第一次跳进 Ring 3:用户态与特权隔离
开发语言·c++·操作系统·开源项目
粉色大象11 小时前
考研线性代数 · 二次型核心知识点全梳理(附2009数二真题)
线性代数·考研·矩阵
程序猿乐锅14 小时前
【操作系统 | 第一章】从资源管理到虚拟机
操作系统
charliejohn1 天前
计算机考研 408 网络 电子邮件 概念及例题
网络·网络协议·计算机网络·考研
CAE二次开发工程师2 天前
【流体力学考研精讲】基础篇
考研·二次开发·仿真·cae·流体力学·结构仿真·#ansa
CoovallyAIHub2 天前
一个集装箱从船到火车的两个小时,AI 搭档 Coco在中间做了什么
操作系统·agent·资讯
雪碧聊技术2 天前
408复习攻略
408·复习方法
驱动探索者3 天前
RISC-V 指令集深度解析:从 ISA 到 Zephyr
网络·计算机·操作系统·os
码农小韩3 天前
Linux操作系统(六)——软件包管理
linux·操作系统·linux驱动·嵌入式软件开发·linux应用