分布式计算机系统是由多台计算机组成并满足以下条件的系统:
-
系统中任意两台计算机通过通信方式交换信息;
-
系统中每一台计算机都具有同等的地位,即没有主机也没有从机;
-
每台计算机上的资源为所有用户共享;
-
系统中的任意若干台计算机都可以构成一个子系统,并且还能重构;
-
任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。
用于管理分布式计算机的操作系统称为分布式计算机系统。
一、系统信息
分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。(内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。)
分布式系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。
二、分布式系统和算机网络系统的共同点与区别
分布式系统和算机网络系统的共同点是:多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。
他们的区别在于:分布式操作系统的设计思想和网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。在这个过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。本质区别在于分布式操作系统中若干台计算机相互协调,完成同一任务。
三、分布式软件系统的组成
分布式软件系统是支持分布式处理的软件系统,是由在通信网络互联的多处理及体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
-
操作系统
负责管理分布式处理系统资源和控制分布式程序运行。
它与集中式操作系统的区别在于资源管理、进程通信和系统结构也等方面。
-
程序设计语言
用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。
它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。
-
文件系统
具有执行远程文件存取的能力,并以透明方式对分布在网路上的文件进行管理和存取。
-
数据库系统
由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
-
邮件系统
分布式邮件系统的部署设计,即同一域名下,跨地域部署的邮件系统。分布式邮件系统由多个数据中心组成,大量分支机构或较小的分散站点与数据中心的连接。分支机构需要建立自己的邮件服务器,来加快处理当地分支机构的邮件。承载相应的数据处理量。以提高邮件处理能力,邮件收发速度,邮件功能模块化。
四、分布式计算机系统的特点
-
分布性
分布式系统中的多台计算机之间在空间位置上可以随意分布,系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。
-
并行性
并行性是指系统具有可以同时进行运算或操作的特性,在同一时刻完成两种或两种以上的工作。
注:并行性与并发性区别
并发性:是指两个或者两个以上事件在同一时间间隔内发生。