3.5 线程 3.5.1 线程的引入 多线程 若一些执行流可在同一个进程框架之下,且涉及相同的(代码和)数据,则这些执行流之间的切换便不涉及地址空间的变化。这样就可以在一个进程内建立多个线程,共享该进程的状态和资源。 多个线程执行相同代码段—同一个服务的多个请求(如服务器端同一个数据库的不同查询请求)。 多个线程执行不同代码段—体现了逻辑上的合作关系,这些合作的线程可以利用共享的数据结构相互交换信息。 由于同一个进程多个线程共享同一地址空间,带来了系统时/空管理的改善。 3.5.2 线程结构与线程控制块TCB 3.5 线程 执行堆栈 程序计数器 通用寄存器组状态标记 线程 线程控制块TCB 单进程 多线程 单进程 单线程 线程标识 线程号 处理机状态信息(现场) 通用寄存器 指令计数器 程序状态字 栈指针 线程调度信息 线程状态 线程优先数 等待原因 调度算法参数等 图3.19 线程及线程控制块 3.5 线程 3.5.2 线程结构与线程控制块TCB (总结)引入线程的益处: 并发执行在线程实体上,即处理机(调度)分配发生在线程之间,改善了系统时空开销。 系统创建或终止一个线程的开销要比创建或终止一个进程的开销少得多。 线程之间通信效率要高于进程之间的通信效率。进程间通信要内核介入,而同一进程多个线程共享同一地址空间,所以通信无须内核介入。 3.5 线程 3.5.2 线程结构与线程控制块TCB 非常重要 图3.20 单线程和多线程的进程模型 用户栈 系统栈 PCB 数据 程序 单线程进程模型 寄存器 PCB 数据 程序 多线程进程模型 用户栈 系统栈 TCB 寄存器 用户栈 系统栈 TCB 寄存器 用户栈 系统栈 TCB 寄存器 线程1 线程2 线程3 进程 进程 3.5 线程 3.5.3 线程与进程 线程继承进程并发性而具有进程状态及转换,比较: 3.5 线程 调度;? 同一进程线程切换不会引起进程切换 ? 不同进程中线程切换才发生进程切换 并发性; ? 进程之间可以并发执行 ? 进程内多个线程同样可以并发执行 系统资源;? 进程是资源分配单位(资源拥有者) ? 线程共享进程所拥有的全部资源 系统开销; ? 进程创建和撤消开销大于线程的 ? 进程切换开销大于同一进程内线程 3.5.4 线程的实现 传统上原因,线程分为内核级线程和用户级线程。 用户级线程 早期的线程都是用户级的,为了对用户级线程进行控制和管理,操作系统提供一个在用户空间执行的线程库。线程库是一组供所有应用程序所共享的应用级软件包。该线程库提供创建、调度、撤销线程功能,并在用户态完成。进程中的线程对内核是透明的,操作系统内核只对进程进行管理。 3.5 线程 线程表 线程 运行时 系统 进程 进程表 系统栈 图3.22 在用户空间和系统空间实现线程 (a)用户级线程 用户 空间 系统 空间 进程表 线程表 进程表 系统栈 线程表 进程表 线程表 (b)系统级线程 (c)混合级线程 m:1 (d)混合级线程 m:n 3.5 线程 3.5.4 线程的实现 当一个线程被派生时,线程库为其生成相应的线程控制块TCB等数据结构,其处理过程与进程创建过程大致相似,不同的是: 用户级线程 用户级线程的调度算法只进行线程上下文切换,不涉及处理机的状态。 因为用户级线程的上下文切换与内核无关,所以当一个进程由于I/O中断等原因使该进程阻塞,而属于该进程的执行中线程仍处于执行状态。 下面举例阐述线程调度和进程调度的关系。 3.5 线程 用户级线程 图3.21 用户级线程状态与进程状态间的关系 阻塞 就绪 运行 线程1 运行 就绪 阻塞 线程2 运行 就绪 阻塞 进程P (a) 阻塞 就绪 运行 线程1 运行 就绪 阻塞 线程2 阻塞 运行 就绪 进程P (b) 阻塞 就绪 运行 线程1 阻塞 就绪 运行 进程P 运行 就绪 阻塞 线程2 (c) 运行 就绪 阻塞 线程1 运行 就绪 阻塞 进程P 阻塞 运行 就绪 线程2 (d) 线程2中执行的应用程序执行系统调用,阻塞了进程P(例如进行一次I/O),导致控制转移到内核,内核启动I/O操作,并切换到另一个进程。根据线程库维护的数据结构,进程P线程2仍处于运行状态,如(b)。注意,线程2的运行态是线程库察觉出它处于运行状态。 ? 时钟中断把控制传递给内核,内核确定当前正在运行的进程P已经用完了它的时间片,内核将进程P置
您可能关注的文档
- 华创易贷业务流程10.21讲课.pptx
- 急性心肌梗死课件讲课.ppt
- 集团职位管理培训讲课.ppt
- 几何(吕林根_许子道第四版)讲课.ppt
- 己亥杂诗讲课.ppt
- 己所不欲,勿施于人与上节课复习讲课.ppt
- 脊髓空洞症讲课.ppt
- 脊柱侧弯护理查房讲课.ppt
- 计量均数之间的比较讲课.pptx
- 计算方法第二章讲课.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 肺隔离症诊疗指南(2025年版).docx
- 2021届贵州省遵义市高三年级第一次统考物理试卷含答案.pdf VIP
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末考试物理试题(解析版).docx VIP
- 2025年山西省中考数学备考全指南(知识点归纳,必考知识点、真题模拟试卷及解析).docx VIP
- 心血管疾病的风险评估与管理课件.pptx VIP
- 离婚协议书(2026官方标准版).docx VIP
- HG_T 3706-2014 工业用孔网钢骨架聚乙烯复合管.doc VIP
- 湖北省学位英语考试真题2023.pdf VIP
- 船舶焊接 垂直气电焊 垂直气电焊.ppt VIP
- 2024湖北省学位英语考试真题及答案.docx VIP
原创力文档

文档评论(0)