操作系统

定义

  • 分布式系统:多个自治计算机通过网络连接,协同完成同一任务
  • 对用户表现为一个统一的整体(单一系统映像)

关键特征

分布性

  • 资源(CPU、内存、存储)分布在多台物理机器上
  • 节点间通过网络通信

并行性

  • 多个节点可同时执行不同子任务
  • 提高系统吞吐量和处理能力

透明性

  • 位置透明:用户无需知道资源所在的物理位置
  • 访问透明:远程访问与本地访问接口一致
  • 故障透明:部分节点故障不影响整体可用性
  • 迁移透明:资源可在节点间移动而不被感知

容错性

  • 系统容忍部分节点或网络故障
  • 通过冗余、备份、心跳检测等机制实现

与操作系统的关系

  • OS 提供 IPC(进程间通信)机制,分布式系统的通信建立在 IPC 之上
  • 网络操作系统是分布式系统的基础:管理网络资源、提供跨节点通信
  • OS 的系统调用接口(如 socket)是构建分布式应用的底层支撑

RPC — 分布式系统的通信基石

  • 分布式系统的核心问题是:不同节点上的进程如何相互调用?
  • RPC(远程过程调用)使远程函数调用的语法与本地调用完全一致
  • RPC 隐藏了网络传输、数据编解码、寻址、错误处理等全部底层细节

详见 RPC远程过程调用

分布式系统与多机协作

  • 分布式计算的本质:将大任务拆解为多个子任务,分布在多台机器上并行处理
  • 任务拆分 → 子任务分配 → 节点间通信 → 结果汇总
  • 典型应用:云计算平台、大数据处理(Hadoop/Spark)、大模型分布式训练