导图社区 线程思维导图
计算机操作系统第二章线程的思维导图,主要包含定义、线程的基本属性、线程的状态和线程控制块、线程的实现等。
计算机操作系统第二章进程的思维导图,进程是程序的执行过程,是系统进行资源分配和调度的一个独立单位。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
线程
定义
引入进程目的
1.使多个程序并发执行
2提高资源利用率及系统吞吐量
引入线程目的
1.为了减少程序在并发执行时所付出的时空开销,具有更好的并发性
线程的基本属性
成为调度和分派的基本单位
并发性
进程和线程都可以并发执行
拥有资源
进程是拥有资源的基本单位,可以拥有资源
线程本身不拥有资源,仅有一点保证独立运行的资源
但允许多个线程共享其隶属进程所拥有的资源
独立性
同一个进程中的不同线程之间的独立性要比不同进程之间的独立性低得多
系统开销
在创建或撤销进程时,OS付出的代价将显著大于线程的开销
进程切换的代价远高于线程的
同意进程中的多个线程之间的同步和通信比进程的简单
支持多处理机系统
线程的状态和线程控制块
状态
1.执行状态 2.就绪状态 3.阻塞状态(状态转换同进程一样)
线程控制块(TCB)
包含:线程标识符,一组寄存器,线程运行状态,优先级
线程专有存储区,信号屏蔽,堆栈指针
线程的实现
实现方式
内核支持线程(KST)
利用系统调用
创建,阻塞,撤销,切换都是在内核空间实现的
优点
在多处理机系统中,内核可调度同一进程的多个线程
一个线程阻塞了,内核可调度其他线程(同一或其他进程)
线程的切换比较小,开销小
内核本身可采用多线程技术,提高执行速度和效率
缺点:对用户线程切换,开销较大
用户级线程(ULT)
借助中间系统,在用户空间实现
线程切换不需要到内核空间
调度算法可以是进程专用的
线程的实现与OS平台无关
缺点
系统调用的阻塞问题
多线程应用不能利用多处理机进行多重处理
KST和ULT组合方式
多对一模型
多个用户级线程映射到一个内核线程
多个线程不能并行在处理器上
优点:线程管理的开销小,效率高
缺点:一个线程在访问内核时发生阻塞,则整个进程都会被阻塞
一对一模型
每个用户级线程映射到一个内核线程(一对一)
优点:当一个线程阻塞时,可以调度另一个线程运行(比多对一模型有更好的并行性能)
允许多个线程并行运行在多个处理器上(例Linux)
缺点:每创建一个ult就要创建一个klt,开销较大
多对多模型
多个用户级线程映射为相同或小于数目的内核线程
允许操作系统创建足够多的KLT
线程的具体实现
KST的实现
UST的实现