- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
I’m the monitor,coming! (管程, similar to“城管”:谁在掐架?) Come on! It can‘t go wrong every time... * 管程机制 1. 管程的定义 2. 管程的语法描述 3. 条件变量 解决方法:把对临界资源的同步操作集中起来,由一个进程统一管理 * 1. “管程” 长啥样的? 系统资源?? ? ? ? 抽象 ? ? ???数据结构 (软件硬件) (表示信息操作) ? 电传机:状态(忙、闲) 、请求/释放操作、等待队列 ? FIFO队列:队首、队尾、队长、队列操作 ? 缓冲池:大小、指针(空满)、放入/获取操作 * 1. “管程” 长啥样的? 一组表征资源的共享数据结构对共享数据结构操作的一组过程 管程 管程被请求和释放资源的进程所调用 共同数据 一组操作过程 初始化代码 …… 进入队列 * 2.7 线程 线程的基本概念 线程间的同步和通信 内核支持线程和用户级线程 线程控制 20世纪60年代提出进程后,OS中都是以进程作为拥有资源和独立运行的基本单位。 80年代中期,提出比进程更小的能独立运行的基本单位----线程(Threads);好处:减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。 * Comparied with 进程 协同完成一个任务 具体工作人员,多人共享相同空间(资源) 进程 线程 * 1. 线程的引入 现代操作系统中,进程只作为资源拥有者,而调度和运行的属性赋予新的实体——线程。 引入线程,为减少程序并发执行时所付出的时空开销,使OS具有更好的并发性。 进程的两个基本属性: ①进程是一个可拥有资源的独立单位; ②进程同时又是一个可独立调度和分派的基本单位 P75 * 如何能使多个程序更好地并发执行同时又尽量减少系统的开销? 是追求的重要目标。 解决方法:搬房子累,搬人! 好处: (1)对于作为调度和分派的基本单位,不拥有资源,可“轻装上阵”; (2)对拥有资源的基本单位,又不对其进行频繁的切换。 * 在这个想法下,诞生了“线程” 先把“房子+人”区分开: 将进程的两个属性分开,由操作系统分开处理。 * 进程 线程 调度 独立调度、分派的基本单位 线程为调度分派的基本单位 进程为拥有资源的基本单位 并发性 仅进程间可以并发执行 进程和线程都可以并发执行 拥有 资源 拥有资源的独立单位 不拥有系统资源,但可以访问其隶属进程的资源 系统 开销 创建或撤消进程时开销较大 切换代价高 线程创建或撤消时开销很小 切换代价低 支持多处理机 若进程只有一个线程,则只能运行在一个处理机上 若进程拥有多个线程,则可分散到多个处理机上运行 2.7.2. 线程和进程的比较 P76 * 1.轻型实体 基本上不拥有系统资源,只有一点必不可少的、能保证独立运行的资源 2.独立调度和分派的基本单位 线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。线程很“轻”,线程的切换非常迅速/开销小。 3.可并发执行 一个进程中的多个线程间可并发执行;不同进程中的线程也能并发执行。 4.共享进程资源 同一进程中的各个线程,可以共享该进程所拥有的资源(有相同的地址空间;访问进程所拥有文件、定时器、信号量机构等)。 线程的特点 * 用户栈 系统栈 PCB 数据 程序 单线程进程 寄存器 PCB 数据 程序 多线程进程 用户栈 系统栈 TCB 寄存器 用户栈 系统栈 TCB 寄存器 用户栈 系统栈 TCB 寄存器 线程1 线程2 线程3 进程 进程 * 多线程和进程模型 多线程是指操作系统支持在一个进程中执行多个线程的能力。每个进程中只有一个线程在执行,称作单线程方法(MS-DOS);WINDOWS 2000/XP、SOLARIS、 LINUX等支持多线程的多进程。在多线程的环境中,进程被定义成资源分配的实体和保护的实体。 * 状态参数 每个线程都可以用线程标识符和一组状态参数进行描述。 ① 寄存器状态 ② 堆栈 ③ 运行状态 ④ 优先级 ⑤ 专有存储器 ⑥ 信号屏蔽 线程运行状态 线程间也存在着共享资源和相互合作的制约关系,在运行时也具有间断性。 三种基本状态:执行状态、就绪状态、阻塞状态 线程的创建和终止 应用程序启动时,通常仅有一个线程在执行,该线程被 称为“初始化线程”。它可根据需要再去创建若干个线程。 2.7.3. 线程的状态和TCB * 1.线程标识符 每个线程有唯一标示符 2.一组寄存
您可能关注的文档
- 第2章计算机病毒理论模型课程.ppt
- 第2章监控对象与交通流监控课程.ppt
- 第2章检测仪表1、2课程.ppt
- 第2章-角动量守恒定律课程.ppt
- 第2章金属传输线理论课程.ppt
- 第2章金属的晶体结构与结晶课程.ppt
- 第2章金属学基础课程.ppt
- 第2章近代科学与辩证唯物主义自然观的形成_410009377课程.ppt
- 第2章近代科学与辩证唯物主义自然观的形成课程.ppt
- 第2章经典单方程计量经济学模型(一元)课程.ppt
- 2026版创新设计高考总复习地理中图版教师用-第58课时 交通运输与区域社会经济发展.docx
- 2026版创新设计高考总复习地理中图版教师用-第71课时 南水北调对区域发展的影响.docx
- 2026版创新设计高考总复习地理中图版教师用-第81课时 环境保护与国家安全.docx
- 2026版创新设计高考总复习地理中图版教师用-第77课时 海洋空间资源与国家安全.docx
- 2026版创新设计高考总复习地理中图版教师用-第72课时 黄河流域内部协作.docx
- 教育硕士考前冲刺练习含答案详解【达标题】.docx
- 教育硕士经典例题附答案详解【考试直接用】.docx
- 教育硕士综合提升测试卷附参考答案详解(完整版).docx
- 教育硕士题库附参考答案详解【黄金题型】.docx
- 教育硕士预测复习最新附答案详解.docx
文档评论(0)