分布式系统中的进程.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  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文档。上传文档
查看更多
分布式系统中的进程

Processes in Distributed Systems 进程间通信 (IPC) 是一切分布式系统的核心。 为了有效地组织客户-服务器系统,通常使用多线程技术更为方便。 线程在不同机器之间的迁移是一个重要的问题。进程的迁移有助于获得可扩展性,也可以帮助动态地配置客户和服务器。 软件代理 (agent) 作为一种新兴机制,在分布式系统中扮演着日趋重要的角色。 非分布式系统中的线程用法 传统操作系统中,每个进程有一个地址空间和单线程控制。然而,很多情况下希望多个线程共享一个地址空间并可并行运行。 多线程最显著的好处来自于:那就是在只拥有单线程的进程中,一旦执行了造成阻塞的系统调用,整个进程就被阻塞了。最方便的解决办法是使用多个控制线程,当一个线程阻塞时另一个线程可接着执行,而不会阻塞整个进程。 多线程的另一个优点是,在多处理器系统上执行多线程程序的时候,可以使用并行操作技术。在这种情况下,为每一个线程分配一个CPU,同时将共享的数据存储在共享主存中。 Thread Usage in Nondistributed Systems Context switching as the result of IPC (IPC需要内核干预才能进行,在内核中进行进程的上下文环境切换,因而开销庞大) 进程间通信需要开销庞大的上下文环境切换 Thread Implementation Combining kernel-level lightweight processes and user-level threads. 分布式系统中的线程 多线程客户 以Web浏览器为例。 ? Web浏览器一般首先获取HTML页面,随后再显示它。为了尽量隐藏通信时延,某些浏览器在接收数据的过程中就开始显示这些数据。用户不必等待浏览器取得整个页面的所有组件就能够查看页面。 ? 只要取得了主HTML文件,就可以激活多个独立的线程,它们分别负责取得页面的各个部分。每个线程都与服务器建立一个独立连接以获取数据。 ? 当Web服务器复制到多台机器上,每个服务器负责提供一组完全相同的Web文档。当对Web页的访问请求到来时,该请求依据一定的策略被转发到其中的一个服务器。 ? 在使用多线程客户的时候,可以与不同的服务器副本建立连接,这样就可以并行地进行数据传输了,并且确保整个Web文档完全显示出来所需的时间与使用非复制的服务器的情况相比要短得多。 Multithreaded Servers (1) A multithreaded server organized in a dispatcher/worker model. Multithreaded Servers (2) Three ways to construct a server. The X-Window System The basic organization of the X Window System Client-Side Software for Distribution Transparency A possible approach to transparent replication of a remote object using a client-side solution. Servers: General Design Issues Client-to-server binding using a daemon as in DCE Client-to-server binding using a superserver as in UNIX Object Adapter (1) Organization of an object server supporting different activation policies. Object Adapter (2) The header.h file used by the adapter and any program that calls an adapter. Object Adapter (3) The thread.h file used by the adapter for using threads. Object Adapter (4) The main part of an adapter that implements a thread-per-object policy. 代码迁移 有些情况下,我们需要迁移/传递程序,甚至可能需要传递正在执行中的程序,以简化分布式系统的设计。 将正在运行的进程移到另一台机器上去是一项复杂而且开销庞大的任务。 进行代码迁移的理由主要是性能上

文档评论(0)

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

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

1亿VIP精品文档

相关文档