当前位置: 代码迷 >> 综合 >> 分布式系统:数据库、操作系统、集群、协调、接口、多处理器、共享、I/O
  详细解决方案

分布式系统:数据库、操作系统、集群、协调、接口、多处理器、共享、I/O

热度:46   发布时间:2024-02-27 08:37:08.0

Table of Contents

分布式系统简介

分布式系统的类型

客户端/服务器系统

点对点系统

分布式系统的优势

分布式系统的缺点

单处理器系统

单处理器和多处理器系统之间的差异

分布式数据库

分布式操作系统

好处

其他操作系统类型

分布式协调功能(DCF)

技术

光纤分布式数据接口(FDDI)

特征

影格格式

实现分布式共享内存的算法

中央服务器算法

迁移算法

读取复制算法

完全复制算法

I / O系统和子系统

I / O硬件

I / O应用接口

I / O软件

网络操作系统和分布式操作系统之间的区别


 

 

分布式系统简介


分布式系统包含物理上分离但使用网络链接在一起的多个节点。该系统中的所有节点都相互通信并共同处理进程。这些节点中的每一个都包含分布式操作系统软件的一小部分。

更好地解释分布式系统的图是-

分布式系统的类型

分布式系统中的节点可以以客户端/服务器系统或对等系统的形式排列。有关这些的详细信息如下-

客户端/服务器系统

在客户端服务器系统中,客户端请求资源,然后服务器提供该资源。当一个客户端仅与一个服务器联系时,一台服务器可以同时为多个客户端提供服务。客户端和服务器通常都通过计算机网络进行通信,因此它们都是分布式系统的一部分。

点对点系统

对等系统包含相等参与数据共享的节点。所有任务在所有节点之间平均分配。节点根据需要彼此交互以共享资源。这是在网络的帮助下完成的。

分布式系统的优势

分布式系统的一些优点如下-

  • 分布式系统中的所有节点都相互连接。因此,节点可以轻松地与其他节点共享数据。
  • 可以轻松地将更多节点添加到分布式系统,即可以根据需要对其进行扩展。
  • 一个节点的故障不会导致整个分布式系统的故障。其他节点仍可以相互通信。
  • 像打印机这样的资源可以与多个节点共享,而不仅限于一个。

分布式系统的缺点

分布式系统的一些缺点如下:

  • 在分布式系统中很难提供足够的安全性,因为节点和连接都需要得到保护。
  • 从一个节点移动到另一个节点时,某些消息和数据可能会在网络中丢失。
  • 与单个用户系统相比,连接到分布式系统的数据库非常复杂且难以处理。
  • 如果分布式系统的所有节点尝试一次发送数据,则网络中可能会发生过载。

 

 

单处理器系统

https://www.tutorialspoint.com/Single-Processor-Systems


单处理器系统仅包含一个处理器。因此,一次只能执行一个进程,然后从就绪队列中选择该进程。大多数通用计算机包含通常使用的单处理器系统。

可以使用下图进一步描述单个处理器系统-

 

如上图所示,有多个应用程序需要执行。但是,该系统包含单个处理器,一次只能执行一个进程。

单处理器和多处理器系统之间的差异

单处理器和多处理器系统之间存在许多差异,其中一些如下所示-

  • 单处理器系统仅包含一个处理器,而多处理器系统可能包含两个或更多处理器。
  • 单处理器系统使用不同的控制器来完成特殊任务,例如DMA(直接内存访问)控制器。另一方面,多处理器系统具有许多可以执行不同任务的处理器。这可以在对称或非对称多处理中完成。
  • 单处理器系统可能比多处理器系统更昂贵。如果有n个处理器多处理器系统可用,则由于共享内存,外围设备等,它比n个不同的单处理器系统便宜。
  • 与多处理器系统相比,设计单处理器系统要容易得多。这是因为多处理器系统中的所有处理器都需要同步,这可能非常复杂。
  • 多处理器系统的吞吐量不仅仅是单处理器系统。但是,如果n个单处理器系统的吞吐量为T,则n个处理器多处理器系统的吞吐量将小于T。
  • 单处理器系统不如多处理器系统可靠,因为如果处理器由于某种原因出现故障,则系统将无法工作。在多处理器系统中,即使一个处理器出现故障,其余的处理器也可以弥补故障。最多系统的吞吐量会降低一点。
  • 大多数现代个人计算机都是单处理器系统,而多处理器仅用于利基系统。

 

分布式数据库

https://www.tutorialspoint.com/Distributed-database


与集中式数据库概念相反,分布式数据库具有来自公用数据库的贡献以及本地计算机也捕获的信息。数据不在一个地方,而是分布在组织的各个位置。这些站点在通信链接的帮助下相互连接,这有助于它们轻松访问分布式数据。

您可以将分布式数据库想象成一个数据库,其中数据库的各个部分存储在多个不同的位置(物理位置),以及在网络中各个点之间复制和分布的应用程序。

有两种分布式数据库,即。同质和异质的。例如,具有相同底层硬件并在相同操作系统和应用程序上运行的数据库称为同类DDB。DDB中的所有物理位置。而在DDB的各个站点(称为异构DDB)上,操作系统,底层硬件以及应用程序可能会有所不同。

 

分布式操作系统

https://www.tutorialspoint.com/distributed-operating-system


操作系统(OS)本质上是管理计算机硬件资源并为计算机程序提供通用服务的软件的集合。操作系统是计算机系统中系统软件的重要组成部分。 

分布式操作系统是重要的操作系统类型之一。

分布式系统使用多个中央处理器为多个实时应用程序和多个用户提供服务。因此,数据处理作业分布在处理器之间。

处理器通过各种通信线路(例如高速总线或电话线)相互通信。这些被称为松耦合系统或分布式系统。该系统中的处理器的大小和功能可能有所不同。它们被称为站点,节点,计算机等。

好处

  • 使用资源共享工具,一个站点的用户可能能够使用另一站点的可用资源。
  • 通过电子邮件加快彼此之间的数据交换。
  • 分布式系统中一个站点的故障不会影响其他站点,其余站点可以继续运行。
  • 为客户提供更好的服务。
  • 减少主机上的负载。
  • 减少数据处理中的延迟。

其他操作系统类型

 

  • 分布式数据库管理系统
  • 操作系统结构
  • 操作系统操作
  • 分层操作系统
  • 混合操作系统
  • 操作系统世代
  • 操作系统调试
  • 操作系统定义
  • 批处理操作系统
  • 操作系统设计目标
  • 操作系统中的信号量
  • 分时操作系统
  • 网络操作系统(RTOS)
  • 操作系统错误处理
  • 操作系统资源管理

 

 

分布式协调功能(DCF)

https://www.tutorialspoint.com/distributed-coordination-function-dcf


分布式协调功能(DCF)是一项强制性技术,用于防止基于IEEE 802.11的WLAN标准(Wi-Fi)中发生冲突。它是一种介质访问控制(MAC)子层技术,用于使用带冲突避免的载波侦听多路访问(CSMA / CA)的区域。

技术

DCF的基本技术如下-

  • 当站有要发送的帧时,它将等待随机退避时间。随机退避时间由具有随机数量的时隙的竞争窗口定义。退避时间由以下公式给出-
  • 时间退避= random()×时隙
  • 在此,该函数生成一个随机数,是一个时隙的时间段。
  • 如果该站在争用期内感觉到该信道正忙,则它将暂停其计时器,直到该信道清除为止。
  • 在退避周期结束时,如果信道畅通,则站点将等待等于DIFS(分布式帧间间隔)的时间,然后再次检测信道。
  • 如果信道仍然畅通,则站将发送RTS(发送请求)帧。
  • 如果目标站可用,则使用CTS(清除发送)帧进行响应。
  • 然后,发送站发送数据帧。
  • 在发送帧之后,发送站等待等于SIFS(短帧间间隔)的时间进行确认。
  • 在此传输过程结束时,该站再次等待退避时间,然后再进行下一次传输。

该技术如下图所示-

 

 

光纤分布式数据接口(FDDI)

https://www.tutorialspoint.com/fiber-distributed-data-interface-fddi


光纤分布式数据接口(FDDI)是一组ANSI和ISO标准,用于通过光纤电缆在局域网(LAN)中传输数据。它适用于直径最大可达200??公里的大型LAN。

特征

  • FDDI使用光纤作为其物理介质。
  • 它在开放系统互连(OSI)网络模型的物理和介质访问控制(MAC层)中运行。
  • 它提供100 Mbps的高数据速率,可以支持数千个用户。
  • 它用于长达200公里的LAN中以进行长距离语音和多媒体通信。
  • 它使用基于环的令牌传递机制,并且是从IEEE 802.4令牌总线标准派生的。
  • 它包含两个令牌环,一个用于数据和令牌传输的主环,以及一个在主环发生故障时提供备份的辅助环。
  • FDDI技术还可以用作广域网(WAN)的骨干网。

下图显示了FDDI-

 

影格格式

FDDI的帧格式类似于令牌总线,如下图所示:

FDDI帧的字段是-

  • 前导: 1个字节用于同步。
  • 起始定界符: 1个字节,指示帧的开始。
  • 帧控制: 1个字节,指定这是数据帧还是控制帧。
  • 目标地址: 2-6个字节,指定目标站的地址。
  • 源地址: 2-6个字节,指定源站的地址。
  • 有效负载:可变长度字段,用于承载来自网络层的数据。
  • 校验和: 4字节帧检查序列,用于错误检测。
  • 结束定界符: 1个字节,指示帧的结束。

 

实现分布式共享内存的算法

https://www.tutorialspoint.com/algorithm-for-implementing-distributed-shared-memory


共享内存是可以由多个程序访问的内存块。共享内存概念用于提供一种通信方式,并提供较少的冗余内存管理。

分布式共享内存,简称DSM,是分布式系统中共享内存概念的实现。DSM系统在松耦合的系统中实现共享内存模型,这些系统被剥夺了系统中的本地物理共享内存。在这种类型的系统中,分布式共享内存提供了一个虚拟内存空间,可供分布式层次结构的所有系统(也称为节点)访问。

在实施DSM时要牢记的一些常见挑战-

  • 跟踪远程存储在共享内存中的数据的内存地址(位置)。
  • 为了减少与远程数据引用相关的通信延迟和高开销。
  • 控制DSM中共享数据的并发访问。

基于这些挑战,设计了一些算法来实现分布式共享内存。有四种算法-

  • 中央服务器算法
  • 迁移算法
  • 读取复制算法
  • 完全复制算法

中央服务器算法

所有共享数据都由中央服务器维护。分布式系统的其他节点请求将数据读取和写入服务器,该服务器为请求提供服务,并与确认消息一起更新或提供对数据的访问。

这些确认消息用于提供服务器请求数据请求的状态。当数据发送到调用函数时,它会确认一个数字,该数字表示数据的访问顺序以保持并发性。如果发生故障,则返回超时。

对于较大的分布式系统,可以有多个服务器。在这种情况下,将使用服务器的地址或映射功能来定位服务器。

 

迁移算法

顾名思义,迁移算法负责数据元素的迁移。代替使用为每个请求提供服务的中央服务器,将包含系统请求的数据块迁移到该以进行进一步的访问和处理。它根据要求迁移数据。

但是,如果系统多次访问同一数据块并且具有集成虚拟内存概念的能力时,该算法是好的,则需要解决一些缺陷。

一次只能一个节点访问共享数据元素,并且整个块都将迁移到该节点。同样,由于节点请求数据项的迁移,该算法更容易发生抖动

读取复制算法

在读复制算法,数据块将被访问的复制,仅读允许在所有副本。如果要执行写操作,则所有读取访问都将暂停,直到所有副本都被更新为止。

由于允许并发访问,因此提高了整体系统性能。但是由于需要更新共享的所有块以保持并发性,因此写操作的成本很高。跟踪数据元素的所有副本以保持一致性。

完全复制算法

读取复制算法的扩展,允许节点同时对共享块执行读取和写入操作。但是节点的这种访问受到控制以保持其一致性。

为了在所有节点的并发访问上保持数据的一致性,必须保持序列,并且在对数据进行每次修改之后,将对具有修改的多播反映所有数据副本。

 

I / O系统和子系统

https://www.tutorialspoint.com/I-O-Systems-and-Subsystems


 

I / O设备在计算机系统中非常重要,它们为用户提供了与系统进行交互的方式。因此,有一个单独的I / O系统专门用于处理I / O设备。

I / O系统的不同组件是-

I / O硬件

操作系统处理许多I / O设备,例如鼠标,键盘,磁盘驱动器等。可以将不同的设备驱动程序连接到操作系统以处理特定设备。设备控制器是设备和设备驱动程序之间的接口。

代表这个的图是-

I / O应用接口

用户应用程序可以使用设备驱动程序访问所有I / O设备,这些驱动程序是设备特定的代码。应用层看到所有设备的通用接口。

使用下面的图片对此进行了说明-

大多数设备是块I / O和字符I / O设备。块设备一次访问一个块,而字符设备一次访问一个字符。

I / O软件

I / O软件包含用户级库和内核模块。这些库为用户程序提供接口以执行输入和输出。内核模块提供与设备控制器交互的设备驱动程序。

I / O软件应该独立于设备,以便程序可以用于任何I / O设备而无需事先指定。例如-读取文件的程序应该能够读取硬盘,软盘,CD-ROM等上的文件,而不必每次都更改程序。

 

网络操作系统和分布式操作系统之间的区别

https://www.tutorialspoint.com/difference-between-network-os-and-distributed-os


网络操作系统,操作系统和分布式操作系统都可以在多个系统/节点上运行。两种操作系统之间的主要区别在于,在网络操作系统的情况下,每个系统都可以有自己的操作系统,而在分布式操作系统的情况下,每台计算机都可以使用一个操作系统作为公用操作系统。

以下是网络操作系统与分布式操作系统之间的一些重要区别。

序号 网络操作系统 分布式操作系统
1 目的 网络操作系统为远程客户端提供本地服务。 分布式操作系统管理硬件资源。
2 通讯 通信基于文件,基于共享文件夹。 通信基于消息或基于共享内存。
3 可扩展性 网络操作系统具有高度可扩展性。可以很容易地添加新机器。 分布式操作系统的可伸缩性较差。添加新硬件的过程很复杂。
4 容错能力 与分布式OS相比,容错能力更低。 分布式操作系统具有很高的容错能力。
5 自治 每台机器可以自行运行,因此自治性很高。 分布式操作系统的自治率很低。
6 实作 基于网络操作系统的系统易于构建和维护。 分布式OS实施很困难。
7 操作系统 基于网络操作系统的系统具有自己的操作系统副本。 基于分布式OS的节点具有相同的操作系统副本。

 

 

  相关解决方案