引入 进程 的目的:
- 使多个程序能并发执行,提高资源利用率和系统吞吐量。
引入 线程 的目的:
- 减少程序在并发执行时所付出的时空开销,使操作系统具有更好的并发性。
线程:进程中一个相对独立的执行流。
进程与线程:
- 进程是资源分配单位
- 线程是CPU调度单位
- 线程只拥有必不可少的资源,如:线程状态、寄存器上下文和栈同样具有就绪、阻塞和执行三种基本状态
- 进程:其它资源分配单位(存储器、文件、IO等)。
多线程优点:
- 切换速度快(地址空间不变)
- 系统开销小
- 通讯容易(共享数据空间)
- 有效改善多处理机(SMP)系统的性能,充分发挥系统的并行能力
线程的属性:
- 并发性
- 共享性
- 动态性
TCB(Thread control block)
- 标志线程存在的数据结构, 其中包含对线程管理需要的全部信息
内容
- 线程标识、线程状态
- 调度参数、现场(通用寄存器,PC,SP)
存放位置
- 用户级线程:目态空间
- 核心级线程:管态空间
线程的优点:
- 快速切换;
- 易于通信;
- 并行度高;
- 节省内存;
- 减少管理开销;