分布式操作系统多线程(共21张PPT).pptxVIP

分布式操作系统多线程(共21张PPT).pptx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式操作系统; 线程与多线程 在单用户多任务的计算机中 ,如同在 Windows NT 中那样,除进程外,引入了一个新 概 念 — 线 程(thread)。 对象、线程和进程三者构 成Windows NT 操作系统基本元成分。线种概念在 微型机多任务系统中十分重要。; 进程在运行中要提出访问管理程序(系统调用)的 要求,例如提出I/O要求,也可能由于时钟而打断了当 前进程的运行,而调度其他就绪进程运行,也就是经 常会有进程开关问题。另外还有两次模式开关(用户模式 → 内核模式 →用户模式)的开销。所有这些开销的总和, 在一定程度上降低了并发进程所带来的利益。; 传统的进程概念有两个严重的局限性。首先许多应用想并 发执行彼此间独立的任务,但又必须要共享一个公共的地址空 间和其他资源。但传统的进程概念对它们以上的要求难以支持, 往往把这些应用中的独立的任务串行化,效率很低。其次传统 的进程不能很好地利用多处理器系统。因为一个进程在某个时 刻只能使用一个处理器。 一个应用固然可以创建多个进程,并 把它们分到多个处理器上执行,但如何做到使用相同的地址空 间和资源?这些促使人们引起线程机制。; 线程是进程内一个相对独立的、可调度的执行单元。; 根据线程定义可知线程有以下性质: (1)线程是进程内的一个相对独立的可执行单元。; (4)需要时,线程可以创建其他线程。 (5)进程是被分给并拥有资源的基本单元,同一进程 内的多个线程共享该进程的资源。但线程并不拥有资源, 只是使用它们。; (7)线程有生命期,有诞生和死亡。在生命期 中有状态的变化。; 采用线程机制有些什么好处呢?对于多线程机制 而言, 一个进程可以有多个线程,这些线程共享该进 程资源。这些线程驻留在相同的地址空间,共享数据 和文件。如果一个线程修改了一个数据项,其他线程 可以了解和使用此结果数据。 一个线程打开并读一个 文件时,同一进程中的其他线程也可以同时读此文件。 总而言之,这些线程运行在同一进程的相同的地址空 间内。; 所以我们可以看出线程的重要优点: 1、在一个已有进程中创建一个新线程???创建一个全 新进程所需的时间少。 2、 终止一个线程比终止一个进程花费的时间 3、 线程间切换比进程间切换花费的时间少。; 4、 线程提高了不同的执行程序间通信的效率。在 大多数操作系统中,独立进程间的通信需要内核的干涉, 以提供保护和通信所需要的机制。但是,由于在同一个 进程中的线程共享存储空间和文件,它们无需调用内核 就可以互相通信。; 有两种方法可以实现一个线程包:在用户空间中 和在内核中。对于这两种方法还存在一些争议,可能会 出现一种混合的方法,分别加以讨论; 用户级线程: 用户线程在内核之上被支持,在用户层由一个线程库 实现。 该线程库为线程的创建、调度及管理提供支持,而 无需内核的支持。例如, UNIX 并不支持线程,但已经有 了为它而写的各种各样的用户空间的线程包。 由于内核对用户层线程没有感知,所有线程的创建和 调度在用户空间完成,不需要内核的干预。; 缺点:如果内核是单线程的,那么任何用户级线程执 行一个阻塞系统调用将引起整个进程阻塞,即便其它线程在 该应用程序中是可运行的。; 内核级线程: 由操作系统直接支持:内核负责在内核空间执行线程 创建、调度和管理。 线程之间的阻塞相互独立(既一个线程执行阻塞 系统调用时,内核可以调度进程里的其它线程执行)。 更好的支持多CPU 体系结构。; 其它方案: 许多研究者都在尝试结合用户线程和内核线程的长 处,把两种线程结合起来,形成了三种多线程模型:; 基于线程的观点,可以把O.S.分为以下四类: (1)单进程和单线程系统 在这种操作系统中只有一个进程,而且每个进程中只 有一个线程。这种系统的代表是MS-DOS。 也可把单纯基于 进程的操作系统看成是具有线程支,只不过每个进程中只有 一个线程(进程也就是线程了)。; 基于线程和基于进程的操作系统; (2)多进程和单线程系统 在这种操作系统中有多个进程操作系统。但 每个进程中只有一个线程。该系统的代表就是传统 意义上的UNIX 操作系统。; (3)单进程和多线程系统 在这种操作系统中只有一个进程。但每个 进程有多个线程。 Jave Run-time System可以认 为是这种系统。; (4)多进程和多线程系统 在这种操作系统中有多个进程。而且每个进程 有多个线程,是当前最为广泛的多线程操作系统。 现代操作系统如Windows NT等几乎都是属于这 种类型的。

文档评论(0)

wanglingling2020 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档