为什么分布计算系统的异构性不可避免?
- 随着分布计算系统资源的增多,其他用户也希望加入系统,共享其资源。这些新的系统往往同原有系统中现有的硬件和软件不同。
- 由于硬件性能的提高和其价格的下降,当扩充一个分布计算系统时,人们往往会选择新型的计算机系统,而不是选择已有的设备类型。
- 把不同的硬件和软件系统结合在一起,整个系统可以得到较高的性能价格比。在这样的系统中,如果配置一些专门为某种目的设计的具有特殊系统结构的处理器,则普通的计算机也可以共享这些功能。
分布计算系统的优点
- 可扩充性
- 高性价比
- 资源可共享
- 可靠性
- 支持已有分布式应用
分布计算系统的问题
- 资源的多重性带来的问题。由于处理资源的多重性,分布计算系统可能产生的差错类型和次数都比集中式单机系统多。资源多重性还给系统资源管理带来新的困难。
- 资源的分散性带来的问题。分布式的状态信息和不可预知的报文延迟使得系统的控制和同步问题变得很复杂,要想及时地、完整地搜集到系统各方面的信息是很困难的,从而使处理机进行最佳调度相当困难。
- 系统的异构性带来的问题。在异构性分布计算系统中,由于各种不同资源(特别是计算机和网络)的数据表示和编码、控制方式等均不相同,这样一来就产生了翻译、命名、保护和共享等新问题。
透明性的表现
透明在这里就是黑盒的意思,就是用户用起来感觉跟单机系统一样的意思
- 名字透明。名字透明指的是对象的命名在全局是唯一的,不管在什么地方访问该对象使用的名字都是一样的。这样一来,在系统中移动一个程序不影响它的正确性。
- 位置透明。位置透明指的是资源的名字中不包含该资源的位置信息。这样一来,当该资源在系统中移动时,在资源名字保持不变的情况下,原有的程序都可正常运行。
- 访问透明。用户不用区分本地资源还是远程资源,访问本地资源和访问远程资源的方法是一样的。
- 迁移透明。迁移透明指的是用户不知道一个资源或者他的作业是否迁移到另外一个位置。迁移透明需要名字透明的支持。
- 复制透明。复制透明允许文件或其他对象的多个副本同时在系统中存在,但是这种情况对用户是透明的,对对象的修改应同时作用在对象的所有副本上。
- 并发和并行透明。多个进程可能并发或并行访问同一个资源,或一个进程同时使用多个资源,在此情况下不会产生相互干扰和破坏。
- 失效透明。系统中的某一部分失效时,整个系统不会失效,仍可正常运行。
透明性优点
- 使软件的研制变得容易,因为访问资源的方法只有一种,软件的功能与其位置无关。
- 系统的某些资源变动时不影响或较少影响应用软件。
- 系统的资源冗余(硬件冗余和软件冗余)使操作更可靠,可用性更好。透明性使得在实现这种冗余的时候,各种冗余资源的互相替换变得容易。
- 在资源操作方面,当把一个操作从一个地方移到若干其他地方时没有什么影响。
影响透明性的因素
- 局部自治性
- 资源控制方面。由分布计算系统连接的各机器是由不同的用户所操作,或由一个机关的不同部门控制,希望在资源的使用上有较大的控制权。因此,必须有一种手段解决这个问题,在透明性和局部自治性之间进行折衷。
- 命名方面。即使同型号的机器,不同的用户也可能以不同的方式形成他们的目录,造成不透明。
- 网络互连
- 很多网络连接了不同厂商提供的不同系列的计算机,要实现透明性必须修改这些机器的软件,这是很不实际的。
- 现在的网络一般是直接从早期网络结构发展来的,其最重要的功能是通信,并未考虑到分布计算。
- 远程网络一般是很昂贵的资源,其特征是低带宽或高延迟,或者二者兼有,因此,很多人认为应当使这种资源的应用成为可见的(不透明的)。
网络操作系统
- 每个计算机都运行自己的操作系统,而不是运行共同的、全系统范围的操作系统或其一部分。
- 每个用户通常在自己的计算机上以“远程登录”的方式或其他明确指出的方式使用不同的机器,而不是由系统给用户进程分配计算机,因而不能并行执行某个程序。
- 用户知道他们的文件存放在哪里,在机器之间移动文件时必须明确地使用“文件传送”命令。
- 系统没有容错能力,或者仅具有很少的容错能力。
- 文件系统上,网络操作系统需要知道另一个机器的信息才能访问该机器的文件,分布计算系统的所有子系统的文件系统组成整体的文件系统
- 访问控制上,网络操作系统对不同系统的uid进行变换,分布操作系统每个用户一个uid,不经过变换可访问任何机器
- 网络操作系统需指定远程计算机执行某程序,分布计算系统的用户只需简单的给出要执行的程序的程序名和相关的参数,并不指出在何处执行这个程序,何处执行由操作系统决定。