实例研究1amoeba - search .docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实例研究1amoeba - search

第七章 实例研究1:Amoeba 本章将讨论分布式操作系统的第一个实例:Amoeba。下一章,将研究第二个实例:Mach。Amoeba是一个分布式操作系统,它使得多个CPU和输入/输出设备“集中”在一起,象一台计算机一样工作。同时,它还在需要的地方为并行编程提供便利条件。本章将讲述Amoeba系统的目标、设计以及系统的实现。要了解Amoeba系统的更详细信息,请参阅论文:Mullender et., 1990; 和Tanenbaum et al., 1990 。 7.1 Amoeba介绍 本节将对Amoeba系统进行初步介绍。首先简要介绍它的历史和当前研究目标,然后将看一个典型的Amoeba系统的结构。最后,将开始学习Amoeba系统的软件,包括系统内核和服务程序。 7.1.1 Amoeba的发展史 Amoeba系统起源于1981年荷兰阿姆斯特丹Vrije大学的一项关于分布式计算和并行计算的研究课题。虽然有很多人参与了这个系统的设计和实现工作,但它主要是由 Andrew S. Tanenbaum 和他的三位博士生Frans Kaashoek,Sape J. Mullender和Robbert van Renesse设计的。到1983年,Amoeba的最初原型Amoeba 1.0投入使用。 从1984年开始,Amoeba研究组解体,在阿姆斯特丹的数学和计算机科学中心成立了第二个小组,由Mullender领导。在随后的几年里,在一个由欧共体资助的广域分布式系统的课题里,合作研究工作扩展到英国和挪威的一些节点(site)。这些研究使用的是Amoeba 3.0系统,该版本不同于早期的版本,它是基于远程进程调用(RPC)的。通过使用Amoeba 3.0,使位于Tromso的客户能透明地访问设在阿姆斯特丹的服务器;反之亦然(反向也一样)。 经过多年的发展,Amoeba系统已具有部分UNIX模拟、组通信和一个新的初级协议(low-level-protocol)等特征。本章讨论的版本为Amoeba 5.2系统。 7.1.2 研究目标 通常在分布式操作系统方面的研究项目一般从一个已存在的系统着手(如UNIX系统),然后增加诸如网络和共享文件系统等特征,从而使系统具有分布式系统的某些特性。Amoeba采用了一个不同的研究方法,它是开发一个全新的系统,从而不必考虑对现存系统的兼容性。后来为了避免重写大量代码的烦琐工作,加入了UNIX仿真软件包。 该研究项目的最初目标是建立一个透明的分布式操作系统。对一般用户看来,使用Amoeba系统好象在使用一个象UNIX那样的分时操作系统。用户可以完成登录、编辑和编译程序、拷贝文件等操作。不同之处在于这些操作都是通过网络利用多台计算机来实现的。这些计算机包括进程服务器、文件服务器、目录服务器,计算服务器以及其它的服务器,但用户并不会意识到这些细节。在终端用户看来,它就好像是一个分时操作系统。 Amoeba与其它分布式操作系统的一个重要区别在于它没有“宿主机 ”的概念。当一个用户登录后,他就进入了整个分布式系统,而不是进入某台特定的计算机。系统中的机器没有所有者。登录时启动的初始外壳是运行在任意一台机器上,但是当启动命令时,一般来说它们不和外壳运行在同一台机器上,系统将自动查找负载最轻的一台机器来运行每一条新的命令。当然,在一个比较长的终端对话期间,根据负载情况,使得任何一个用户其运行的进程将在系统内的所有机器上统一地被分布。在这方面,Amoeba是高度位置透明的。 换句话说,系统把所有资源看做一个整体并管理它们。除了在某个很短的时间段是为特定的进程使用之外,它们并不属于特定用户的。这种模式试图提供一种所有分布式系统设计人员都希望实现的最高的透明度。 以amake命令为例,该命令与UNIX系统make命令相对应。当用户键入amake命令后,由系统(不是用户)决定所有的编译操作是顺序执行还是并行执行,以及在哪台或哪些计算机上执行。但这些操作对用户来说是都是透明的。 Amoeba系统的第二个目标是提供一个分布式并行程序设计的测试环境。虽然某些Amoeba用户象使用分时操作系统一样使用它,但大多数用户利用它进行分布式并行计算、语言、工具及应用的实验。Amoeba系统为用户提供了基本的并行环境。实际上,Amoeba用户主要是以各种形式进行分布式并行计算的研究。Orca就是为此而在Amoeba上设计并实现的一种语言,有关Orca及其应用可参考:Bal,1991;Bal et al.,1990;Tanenbaum et al.,1992。Amoeba系统是用C语言编写的。 7.1.3 Amoeba的系统结构 在讨论Amoeba结构之前,先描述一下Amoeba系统的硬件配置情况,因为它和目前多数系统的组织多少有些

文档评论(0)

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

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

1亿VIP精品文档

相关文档