- 1、本文档共199页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 综上所述,用户级线程与内核级线程各有优缺点,若想扬长避短,就需要将这两种方法结合起来。系统内核既支持多线程的建立、调度和管理,同时系统还提供线程库,允许用户程序建立、调度和管理用户级线程。在Solaris OS中,就采用了将二者结合起来的方法。 3. Solaris OS中的线程 Solaris OS 2。0是SUN Microsystem 公司於1992年推出的32位多任务多线程操作系统。在该系统中,使用了四个与线程有关的概念,即进程、用户级线程、内核级线程和轻型进程。 ⑴ 进程仍然是资源分配的基本单位,拥有用户地址空间、堆栈和PCB等。 ⑵ 用户级线程是由线程库来管理的,其数目可以很多,每个仅需一个栈和程序计数器。内核并不知道它的存在,故不受内核调度程序的调度,因此切换很快。 ⑶ 内核级线程完成内核的所有工作,是被调度并分派到一个处理机上执行的实体。 ⑷ 轻型进程(Light Weight Process-LWP)是用户级线程和内核级线程之间的接口,可以看成是被内核创建的用户级线程。 (1)内核线程 一个内核线程可以独立工作,不需要与一个用户进程联系起来。内核线程的创建与撤消是由系统的内部需求决定的,用来负责执行一个指定的任务,它共享系统的程序与全局数据,具有自己的堆栈。内核线程能够被单独调度并使用标准的系统同步机制。内核线程的创建和使用开销不是很大,它们使用的资源是内核堆栈和在它们不运行时用来保存寄存器上下文的一个内存区域,当然还需要一些数据结构来保存调度和同步信息。内核线程间的上下文切换是很快的,因为内存映射不用刷新。内核线程运行在系统空间,系统中有一张线程表,列出了所有的内核线程,系统可以选择内核线程运行。 (2)轻量级进程LWP 一个轻量级进程LWP是一个内核支持的用户线程,运行在用户空间。它是一个在内核线程基础上的高层抽象,因此内核在支持轻量级进程之前必须支持内核线程。每个进程可以有一个或多个轻量级进程LWP,用户进程通过轻量级进程LWP与内核通信,每一个轻量级进程LWP都由一个单独的内核线程支持,而有一些内核线程是专门处理系统任务而不支持轻量级线程LWP的。轻量级进程LWP可以被调度并且共享所属进程的地址空间和其它资源。它们可以对I/O设备或其它资源进行系统调用,同时也能在I/O操作或资源访问时被阻塞。除了内核堆栈和寄存器外,轻量级进程LWP也需要维护一些用户状态,主要包括用户寄存器上下文,当轻量级进程LWP被抢占CPU时这些内容必须保存下来,以便保证下次调度运行的正确进行。为了节省系统开销,多个用户进程可以多路复用一个轻量级进程LWP,但是只有连接到轻量级进程LWP的进程,才能与内核通信。 图2-30 进程、轻量级进程LWP及内核线程关系图 (3)用户线程 用户线程运行在用户空间,内核无需也无法感知它。每个用户线程仅需一个栈和程序计数器PC, 切换速度快。当一个用户线程被阻塞时, 它在停止之前选择并启动它的后继线程。 用户线程的实现是可能的,因为用户线程的上下文可以在没有内核干预的情况下被保存和恢复。每一个用户线程有自己的用户堆栈,一块用来保存用户级寄存器上下文以及如信号屏蔽等状态信息的内存区域。通过保存当前线程的堆栈和寄存器内容,以及装入新调度线程的那些堆栈和寄存器内容,可实现用户线程间的调度和上下文的切换。 内核仍然负责进程的切换,因为只有内核具有修改内存管理寄存器的权力。用户线程不是真正地可以调度的实体,内核没有保留它们的一点信息,内核只是简单地调度它们下面的进程,这些进程再使用库函数来调度它们的线程。当进程被抢占时,它们的线程也被抢占。 普通进程上的用户线程如图2-31所示。 图2-31 普通进程上的用户线程 第2章 作业 *1.为什么要引入进程概念?进程的基本特征是什么?它与程序有何区别? 2.为什么说进程控制块(PCB)是进程存的唯一标志? 3.什么是原语?原语与广义指令有何区别? 4.进程的基本状态有哪些?它们之间如何转变? 5.什么是线程?线程与进程有何区别? * * * * * * * * * * * * * * * * * * * * * * * 2.5.3 消息通信机制 1.信箱通信(间
您可能关注的文档
- 大吨位起重机卷扬机构的概述剖析.ppt
- 我以我血荐轩辕剖析.ppt
- 大工16春《电机与拖动实验》学习要求及实验报告剖析.doc
- 第二章 精细有机合成的理论基础讲解.ppt
- 室外给水设计规范06剖析.doc
- 室外观光电梯井道钢结构施工方案剖析.doc
- 室外配套污水、废水管线施工方案剖析.doc
- 我最好的老师_很实用的课件哦剖析.ppt
- 宋崇导演教你拍摄微电影期末考试答案2016剖析.doc
- 我最熟悉的一个人剖析.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
最近下载
- SY 4201.4-2016 石油天然气建设工程施工质量验收规范 设备安装工程 第4部分:炉类.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(13).电力市场改革与趋势分析.docx VIP
- 云和雪梨生产全程质量控制技术规范.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(12).可视化与报告生成.docx VIP
- 2024-2025学年四川省成都市新都一中实验学校七年级(上)分班数学模拟试卷(含答案).pdf VIP
- 跨座式与悬挂式单轨运输系统幻灯片.ppt VIP
- 市场营销论文:长春农商银行小微企业贷款业务市场营销策略研究.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(11).数据库管理与接口设计.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(10).二次开发工具与技巧.docx VIP
- 有机肥采购项目投标书(范本).docx
文档评论(0)