分布式操作系统的特点
要构建一个值得付出努力的分布式系统,必须满足各种重要目标。分布式系统应该容易地将用户连接到资源,它应该隐藏资源分布在网络上的事实,必须是开放的,并且必须是可扩展的。
- 连接用户和资源:
分布式系统的主要目标是使用户可以轻松访问远程资源,并以受控方式与其他用户共享这些资源。资源几乎可以是任何东西,典型的资源示例是打印机、存储设施、数据、文件、网页和网络。共享资源的原因有很多。原因之一是经济。 - 透明度 :
分布式系统的一个重要目标是隐藏其进程和资源在物理上分布在多台计算机上的事实。能够将自身呈现给用户和应用程序以使其只是单个计算机系统的分布式系统称为透明的。透明度的概念可以应用于分布式系统的许多方面,如表所示。
不同形式的透明度——
S.No. | Transparency | Description |
---|---|---|
(1) | Access | Hide data representation. |
(2) | Location | Hide location |
(3) | Migration | Move place information. |
(4) | Relocation | Hide moved place relocation. |
(5) | Replication | Hide that a resource is replication. |
(6) | Concurrency | Shared data bases access |
(7) | Failure | Hide fact about resource failure. |
(8) | Persistence | Hide fact about memory location. |
- 开放性:
分布式系统的另一个重要目标是开放性。一个开放的分布式系统是一个提供标准服务的系统,这些标准描述了这些服务实例的语法和语义,计算机网络中的标准规则控制着发送和接收的消息的格式、内容和含义。此类规则在协议中正式化。在分布式系统中,服务通常通过接口指定,通常称为接口定义语言 (IDL)。用 IDL 编写的接口定义几乎总是只捕获服务的语法。它们准确地指定了可用于参数类型、返回值、可能引发的异常等的函数名称。 - 可扩展性:
分布式系统的不确定趋势是朝着更大的系统发展。这种观察对分布式文件系统设计有影响。适用于具有 100 台机器的系统的算法可以适用于具有 1000 台机器的系统,而对于具有 10,000 台机器的系统则完全不适用。对于初学者来说,集中式算法不能很好地扩展。如果打开文件需要联系单个集中式服务器来记录文件打开的事实,那么随着系统的增长,服务器最终将成为瓶颈。 - 可靠性:
构建分布式系统的主要目标是使它们比单处理器系统更可靠。这个想法是,如果某台机器出现故障,另一台机器就会习惯它。换句话说,理论上整个系统的可靠性可以是组件可靠性的布尔或。例如,有四个文件服务器,每个有 0.95 的机会在任何时刻启动,所有四个同时关闭的概率是 0.000006,因此至少一个可用的概率是 (1-0.000006)= 0.999994,远比任何单独的服务器都好。 - 表现 :
构建一个透明、灵活、可靠的分布式系统如果像糖蜜一样慢的话是没有用的。在分布式系统上的特定应用程序中,它不应该比在单个处理器上运行某些应用程序更好。可以使用各种性能指标。响应时间是一,但吞吐量、系统利用率和消耗的网络容量也是如此。此外,任何基准测试的结果通常高度依赖于基准测试的性质。基准测试涉及大量独立的高度受 CPU 限制的计算,这些计算与包括扫描单个大文件以查找相同模式的基准测试相比,其结果完全不同。