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

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

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

相关推荐
塞尔维亚大汉7 分钟前
OpenHarmony轻量系统服务管理samgr-feature赏析及实现
操作系统·嵌入式·harmonyos
西电研梦14 小时前
复试难度,西电卓越工程师学院(杭研院)考研录取情况
人工智能·考研·研究生·西安电子科技大学·考研报名
塞尔维亚大汉20 小时前
OpenHarmony轻量系统服务管理samgr-service赏析
操作系统·嵌入式·harmonyos
charlie11451419121 小时前
从0开始的操作系统手搓教程33:挂载我们的文件系统
学习·系统架构·操作系统·教程·文件系统·手搓教程
charlie1145141911 天前
IMX6ULL驱动开发uboot篇02
驱动开发·学习·操作系统·内核·教程·uboot
Once_day1 天前
Linux之kernel(1)系统基础理论(6)
linux·操作系统
charlie1145141911 天前
从0开始的操作系统手搓教程43——实现一个简单的shell
学习·操作系统·教程·shell·手搓教程
于慨1 天前
考研408
考研
别说我什么都不会2 天前
当OpenHarmony遇上OpenEuler
操作系统·嵌入式·harmonyos
一念杂记2 天前
U盘DIY,三步打造你的"行走操作系统" 即插即用秒变专属电脑
操作系统