本文若未注明均摘抄自《操作系统精髓与设计原理》:William Stallings著,陈向群、陈渝译,机械工业出版社出版第六版
4 线程、对称多处理(SMP)和微内核
关键字 | ||
---|---|---|
内核级线程 | 多线程 | 任务 |
轻量级线程 | 端口 | 线程 |
消息 | 进程 | 用户级线程 |
微内核 | 多对称处理器 | 单体结构的操作系统 |
4.1 进程和线程
进程映像是数据、程序、栈和进程控制块中定义的属性的集合。到目前为止金成德概念包含两个特点:资源所有权和调度/执行。为了区分这两个特点,分派的单位通常称做线程或轻量级进程(Light Weight Process, LWP),而拥有资源所有权的单位通常仍称做进程或任务
4.1.1 多线程
多线程是指操作系统在点歌进程内支持多个并发执行路径的能力。在一个多线程环境中运行的进程,可能有一个或多个线程,每个线程拥有独立的:
- 线程执行状态(运行、就绪等)
- 在未运行时保存的线程上下文,某种意义上可以看作时进程内的一个独立的程序计数器。
- 一个执行栈
- 用于每个线程局部变量的静态存储空间
- 与进程内其他线程共享的对进程资源的访问
线程的重要优点有:
- 创建和终止线程都比进程快
- 同一进程内线程切换比切换进程快
- 线程提高了不同执行程序间的通信效率,独立进程间的通信需要内核的接入,但同一线程中的不同线程则不需要
Mach开发者的研究表明,线程创建要比在UNIX中的进程创建快10倍
在支持线程的操作系统中,调度和分派是在线程基础上完成的