1.1 共享内存多处理器系统(multiprocessors)的优点
- 表现
- 可靠性
多处理器的缺点
- 软件(应用程序、语言、操作系统)比单处理器计算机更复杂
- 增长时受限(物理尺寸 - 接近内存,64 个处理器 - 达到的最大值)。
1.2 分布式系统的优势
分布式系统——一组独立的计算机,由单台计算机呈现给用户。示例:工作站网络(选择用于执行程序的处理器、单个文件系统)、机器人工厂(机器人连接到不同的计算机,但充当单台计算机的外部设备、具有多个分支机构的银行、机票预订系统。
为什么要创建分布式系统?与集中式计算机相比,它们有什么优势?
第一个原因是经济上的。Grosh 定律(Herb Grosh,25 年前)——处理器速度与其成本的平方成正比。随着微处理器的出现,该法则不再适用——以双倍的价格,您可以获得具有稍高频率的相同处理器。
第二个原因 - 通过组合微处理器可以实现如此高性能,这在中央计算机中是无法实现的。
第三个原因——自然分布(银行、用户群协作支持)。
第四个原因是可靠性(几个节点的故障会稍微降低性能)。
第五个原因是性能可扩展性。未来,主要原因将是大量个人计算机的存在以及需要协同工作,而不会感到人员、数据和机器在地理和物理分布上的不便。
为什么需要联网 PC?
- 共享数据的需要。
- 分离昂贵的外设、独特的信息和软件资源的优势。
- 实现人与人之间的发达交流。在许多情况下,电子邮件比信件、电话和传真更方便。
- 灵活使用不同的计算机,负载分配。
- 通过更换计算机来简化增量升级。
分布式系统的缺点:
- 软件问题(应用程序、语言、操作系统)。
- 通信网络问题(信息丢失、过载、开发和更换)。
- 保密。
1.3 操作系统类型(网络操作系统、分布式操作系统、多处理器计算机操作系统)
网络操作系统——机器具有高度自治性,一般系统要求很少。您可以与另一台计算机通信,在其批处理队列中输入作业,并可以访问远程文件,尽管不同客户端的目录层次结构可能不同。一个例子是文件服务器(许多 WS 可能根本没有磁盘)。
分布式操作系统——单一的全局进程间通信机制,全局访问控制方案,文件系统的相同愿景。通常 - 一台计算机的错觉。
多处理器计算机的操作系统- 等待执行的单个进程队列,一个文件系统。
| 网络操作系统 | 分布式操作系统 | 多处理器操作系统 | |
|---|---|---|---|
| 计算机系统看起来像一个虚拟的单处理器计算机 | 不 | 是的 | 是的 |
| 相同的操作系统在所有处理器上运行 | 不 | 是的 | 是的 |
| 内存中有多少操作系统副本 | N | N | 1 |
| 如何进行通信 | 共享文件 | 留言 | 共享内存 |
| 是否需要协商的网络协议 | 是的 | 是的 | 不 |
| 是否有一个正在运行的进程队列 | 不 | 不 | 是的 |
| 文件共享有明确定义的语义 | 通常没有 | 是的 | 是的 |
1.4. 构建分布式操作系统的原则(透明性、灵活性、可靠性、效率、可扩展性)
(1) 透明度(对于用户和程序)。
| 位置透明度 | 用户不需要知道资源的位置 |
| 移民的透明度 | 资源可以在不更改名称的情况下移动 |
| 育种透明度 | 用户不需要知道存在多少副本 |
| 竞争的透明度 | 多用户自动共享资源 |
| 并发透明度 | 无需用户干预即可并行执行工作 |
(2) 灵活性(尚不清楚 - 需要更改决定)。
使用单片操作系统内核或微内核。
(3) 可靠性。
- 可访问性,容错性。
- 保密。
(4) 性能。
粒度。细粒度和粗粒度并行(fine-grained parallelism,粗粒度并行)。容错需要额外的开销。
(5) 可扩展性。
糟糕的解决:
- 集中式组件(一个邮件服务器);
- 集中式电子表格(一个电话簿);
- 集中式算法(基于完整信息的路由器)。
仅具有以下功能的分散式算法:
- 没有机器拥有关于系统状态的完整信息;
- 机器仅根据本地信息做出决策;
- 一台机器的故障不应导致算法的故障;
- 不应该有关于全球时钟存在的隐含假设。