操作系统中的 MULTICS

2025年1月7日 | 阅读 12 分钟

什么是操作系统中的MULTICS?

MULTICS,即多路复用信息和计算服务(Multiplexed Information and Computing Service),是一个划时代的操作系统,于 20 世纪 60 年代通用电气、贝尔实验室(现为诺基亚贝尔实验室的一个部门)麻省理工学院 联合开发。MULTICS 的创建目标是作为一个分时系统,为多用户同时提供可靠且安全的计算环境。

  • MULTICS 在分层文件结构上的侧重点是其主要进步之一。它引入了一个包含目录、子目录和文件分层排列的文件系统;这一概念影响了后来的操作系统,如 UNIX。为了确保数据安全和完整性,MULTICS 还包含一个独特的基于环的保护系统,可以实现细粒度的访问控制。该系统包含多个特权环,数字越小的环,对系统资源的访问权限越高。
    MULTICS in Operating System
  • MULTICS 对 容错可靠性 的重视是另一个重要特性。为了提高系统稳定性,该操作系统包含了冗余的硬件和软件组件。该策略的目标是 减少中断 ,即使在硬件发生故障时也能保持服务的连续性。
  • 当 MULTICS 开发在 20 世纪 60 年代末和 70 年代初遇到障碍时,贝尔实验室的研究人员(包括 Ken ThompsonDennis Ritchie)开始开发一个更简单、更实用的替代方案,这最终导致了 UNIX 操作系统的开发。虽然 UNIX 的目标比 MULTICS 更具灵活性和轻量级,但它确实继承了 MULTICS 的一些概念。它后来成为构建现代操作系统的重要组成部分。

在本教程中,您将了解到 MULTICS 的历史、特性以及在处理方面的挑战。您还将了解我们为何摒弃 MULTICS,最重要的是它的优点和缺点。

MULTICS 的历史

  • MULTICS(多路复用信息和计算服务)于 20 世纪 60 年代中期创建,是 通用电气(后来的霍尼韦尔)、贝尔实验室(AT&T)麻省理工学院 的合资项目。该项目的目标是开发一个先进的分时操作系统,具有强大的容错能力、细粒度的访问限制和分层文件结构。
  • MULTICS 于 1965 年 开始开发,与批处理系统不同,它允许多用户同时与计算机进行交互。系统的架构高度重视 安全性、可靠性和可扩展性 ,并包含了使用 特权环 进行访问限制等概念。
  • 然而,MULTICS 面临着挑战,包括宏伟的目标、复杂的设计和延误。到 20 世纪 70 年代初,该项目遇到了技术和财务问题。贝尔实验室退出了该项目,霍尼韦尔继续开发。尽管存在这些挑战,MULTICS 仍对后来的操作系统产生了重大影响,尤其是在安全和文件系统组织领域。
  • 最终,MULTICS 并未取得巨大的商业成功,但其影响却得以延续。MULTICS 的一些原则影响了现代计算机环境的创建,而该项目获得的经验和教训有助于塑造后来的操作系统。

MULTICS 操作系统的特性

MULTICS 的关键组成部分如下:

MULTICS in Operating System

1. 分时框架

  • MULTICS 是最早的分时操作系统之一,允许多人同时使用计算机。
  • 分时允许用户共享系统的处理资源并同时执行程序,从而提高了资源利用率。

2. 分层文件系统

  • 引入了一个分层文件系统,将数据组织成文件、文件夹和子目录。
  • UNIX 及其后继系统等后续操作系统都受到了这种文件组织思想的影响。

3. 环状保护机制

  • 它包含一个特殊的基于环的保护机制来管理对系统资源的访问。
  • 系统中存在多个环或特权级别,数字越小的环授予的特权访问权限越高。
  • 更精确的访问控制提高了数据完整性和安全性。

4. 安全特性

  • 将安全性作为基本设计原则,以解决数据保障和未经授权访问的问题。
  • 环状保护、加密和访问控制的目的是创建一个安全的计算环境。

5. 动态链接和共享库

  • 引入了动态链接,允许程序在运行时调用和执行共享代码库。
  • 此功能提高了代码重用率,并提高了程序的执行性能。

6. 容错和可靠性

  • 通过包含冗余的硬件和软件组件来强调容错和可靠性。
  • 该系统旨在通过在硬件故障的情况下也提供服务来确保持续运行。

7. 命令语言解释器 (CLI)

  • 提供命令语言解释器,允许用户通过命令与系统进行交互。
  • CLI 提供了一个方便的界面来控制系统资源和发出命令。

8. 进程隔离

  • 严格的进程隔离确保避免不同用户之间的进程冲突。
  • 每个用户进程都在自己的内存空间中运行,这有助于提高系统的整体安全性和稳定性。

9. 动态内存分配

  • 提供了动态内存分配,允许程序在运行时申请和释放内存。
  • 动态内存分配使程序开发更加灵活。

10. 处理多级中断

  • 引入了多级优先级中断系统。
  • 这还使系统能够优先响应,使其能够对其他事件和干扰做出反应。

11. 模块化和可扩展性

  • 它也是可扩展的,允许它轻松地容纳更多功能,而不会干扰基本功能。
  • 系统的模块化特性使得升级和维修更加方便。

12. 系统配置和资源管理

  • 为系统管理员提供配置和管理系统资源的工具。
  • 系统管理员负责资源的分配、权限的管理和系统活动的监控。

尽管这是一条艰难且商业上不成功的道路,但 MULTICS 确立了一些关键概念,这些概念将被用于构建后来的操作系统。通过其影响,今天的计算机环境也发生了巨大变化,尤其是在资源管理、文件组织和安全性等方面。

MULTICS 的困难

MULTICS(多路复用信息和计算服务)在其开发阶段遇到了各种挑战,导致延误,并间接影响了后来的广泛接受。以下是 MULTICS 面临的主要困难:

1. 高标准

  • MULTICS 被设想为一个功能丰富、尖端的分时操作系统,拥有宏大的抱负。
  • 这个项目是一个雄心勃勃的项目,部分原因在于这些目标的复杂性,这妨碍了里程碑和截止日期的实现。

2. 复杂的架构

  • 动态链接、环状保护方法和分层文件系统等功能层集成了 MULTICS 的复杂结构。
  • 设计带来的复杂性导致了测试和执行的延误,因为它很慢。

3. 资源密集

  • 由于其复杂的功能以及对安全性和可靠性的关注,MULTICS 需要大量的硬件和软件资源。
  • 希望在当前硬件或成本较低的计算机系统上实现 MULTICS 的组织面临困难,因为资源需求。

4. 组织和财务问题

  • 在项目进行过程中,出现了组织问题和财务限制。
  • 由于财务困难,贝尔实验室退出了该项目,导致项目在 20 世纪 70 年代初开发中断。

5. 性能问题

  • 对安全性、可靠性的重视偶尔会导致性能的权衡。
  • 该系统的韧性和广泛的功能可能导致某些作业执行速度比其他作业慢,从而影响整体系统性能。

6. 竞争技术

  • 在 MULTICS 开发过程中,出现了其他操作系统,例如 CTSS(兼容分时系统)以及后来的 UNIX,它们提供了更简单、更实用的实现。
  • 其他技术的出现导致 MULTICS 失去焦点和资金。

7. 用户界面问题

  • 在后续版本中缺乏易于使用的用户界面,导致许多客户难以接受 MULTICS。
  • 尽管它需要进一步完善,但 CLI 改善了用户交互。

8. 开发周期延长

  • 由于其初衷设定的复杂性和宏伟的目标以及资金不足,MULTICS 的开发并不像预期的那样轻松快捷。
  • 开发延迟使得该系统更难跟上快速发展的计算机技术。

尽管存在所有这些障碍,MULTICS 仍然在操作系统领域留下了深刻的印记,影响了后来的设计,并为更实用、更成功的操作系统(如 UNIX)奠定了坚实的基础。许多现代计算机环境都是通过从 MULTICS 中吸取的经验教训而发展的。

是什么导致 MULTICS 被取消?

MULTICS(多路复用信息和计算服务)的许多问题最终导致其被取消。许多因素影响了终止该项目的决定。

  • 财务压力

作为项目的主要赞助商之一,贝尔实验室遭遇了财务困境。贝尔实验室因财务限制而选择在 20 世纪 70 年代初退出 MULTICS 项目,这影响了项目的融资和资源。

  • 开发周期延长

MULTICS 的复杂架构和宏伟目标导致了开发延迟。项目资源因开发时间框架的延长而捉襟见肘,引发了对其可行性和按时交付工作系统的能力的质疑。

  • 日益激烈的竞争

随着 MULTICS 遭遇困难和挫折,其他技术,如更简单、更实用的操作系统 UNIX,开始崭露头角。替代选项的出现导致 MULTICS 失去焦点和资金。

  • 性能问题

偶尔,对安全性和可靠性的重视会导致性能下降。由于其资源密集型架构,MULTICS 在实现性能目标方面遇到了困难,这降低了其对潜在用户的吸引力。

  • 计算范式的转变

在计算机行业中,分布式和去中心化的计算模型已成为常态。MULTICS 的集中式、单体架构开始与不断变化的计算格局脱节。

综合考虑这些挑战,最终决定停止 MULTICS 项目。尽管 MULTICS 未取得巨大的商业成功,但其背后的思想和原则继续影响着后来的操作系统,为更成功的计算环境奠定了基础。MULTICS 的取消也为 UNIX 不仅得以生存,而且蓬勃发展并成为最广泛使用的系统之一创造了有利环境。

描述 MULTICS 的主要目标

以下是 MULTICS 的主要目标:

  • MULTICS 致力于建立一个全面的安全框架。它引入了一个基于环的安全架构,该架构可以防止对系统资源的未经授权访问,并促进了细粒度授权的概念。
  • MULTICS 引入了一个分层文件系统,将数据组织成文件、目录和子目录。这种创新的文件系统架构影响了许多后来的操作系统,为用户提供了结构化且高效的数据组织方式。
  • 通过支持动态内存分配,操作系统允许程序在运行时动态地请求和释放内存。这种灵活性增强了程序适应不断变化的资源需求的能力。
  • MULTICS 旨在可扩展,允许安装新功能而不干扰已有的功能。该架构的模块化设计使升级和维护更加容易。

尽管存在困难且缺乏广泛的商业成功,但 MULTICS 的目标和思想为后续操作系统的创建提供了模型。对可靠性、安全性和有效资源共享的关注对现代计算机系统的发展产生了持久的影响。

MULTICS 在操作系统中的优点

MULTICS in Operating System

1. 安全特性

  • MULTICS 建立的先进的基于环的保护机制实现了细粒度的访问控制。通过特权环提供对系统资源的访问,从而提高了整体系统安全性。
  • MULTICS 是最早优先考虑安全性的系统之一,集成了加密和访问控制,以确保数据完整性并防止未经授权的访问。

2. 分层文件系统

  • MULTICS 的创新功能之一是其分层文件系统,它将数据组织成文件、目录和子目录。
  • 像 UNIX 这样的后来的操作系统都受到了这种有条理的组织方法的启发,该方法为用户提供了管理和检索数据的有效方式。

3. 时间共享

  • MULTICS 是最早的分时操作系统之一,它允许多个人同时使用一台计算机。
  • 这使得并行程序能够同时运行,有助于提高用户生产力和资源利用率。

4. 可靠性和容错性

  • 因此,MULTICS 通过包含冗余的硬件和软件组件来关注可靠性。
  • 该方法旨在通过确保即使在硬件故障期间整个系统也能可用来提高整体系统可靠性。

5. 共享库和动态链接

  • 动态链接允许程序在 MULTICS 的运行时调用和执行共享代码库。此功能促进了代码重用,从而减少了冗余并提高了内存使用效率。

6. 模块化和可扩展性

  • 关于 MULTICS 的可扩展性,可以在不更改旧功能的情况下添加新功能。
  • 该系统的模块化架构为维护和升级提供了一种更灵活、更适应的方法。

7. 命令语言解释器 (CLI)

  • 引入命令语言解释器使用户能够拥有一个易于使用的交互式界面,通过该界面他们现在可以与系统进行通信。
  • CLI 通过简化命令执行脚本和系统资源管理来改善用户体验。

MULTICS 在操作系统中的缺点

MULTICS in Operating System

1. 宏伟的目标和复杂性

  • MULTICS 的设计非常先进且功能丰富,目标是成为一个功能超强的分时操作系统。由于设计不易实现,这些目标极具挑战性。
  • 项目的挑战性导致了在实现里程碑和交付功能性系统方面的困难;因此,进度缓慢。

2. 资源密集型

  • MULTICS 对软件和硬件都有很高的要求。对于资源有限或寻求更便宜选择的人来说,由于涉及大量的计算能力,它的可行性较低。
  • 高资源需求可能会限制 MULTICS 被不同用户群和组织使用。

3. 组织和财务问题

  • 20 世纪 70 年代初,MULTICS 的主要赞助商之一贝尔实验室濒临破产。因此,贝尔实验室放弃了该项目,这对财务资源产生了影响。
  • 贝尔实验室的退出导致了许多组织和财务问题,阻碍了 MULTICS 的进一步发展和实施。

4. 性能问题

  • 对安全性、可靠性和丰富功能的追求偶尔会导致性能的权衡。MULTICS 的重资源依赖型架构使其难以满足某些作业所需的性能。
  • 用户在特定任务中可能会遇到超时,这可能导致系统性能不佳。

5. 计算框架的变化

  • 然而,计算机行业正从集中式计算转向分布式和去中心化模型。集中式、单体的 MULTICS 架构开始落后于这些新的计算进展。
  • 当组织开始关注分布式计算环境时,出现了范式转变,对集中式操作系统(如 MULTICS)的兴趣显著下降。

6. 用户界面问题

  • 通过引入命令语言解释器 (CLI),MULTICS 改进了用户交互,但早期版本在呈现直观的用户界面方面遇到了困难。
  • 与竞争系统相比,其用户界面不够直观,MULTICS 可能未能像其潜力那样被广泛采用。

7. 开发周期延长

  • 该项目设定的高目标和 MULTICS 架构的复杂性导致了漫长的开发时间表。开发延迟引发了对项目可持续性及其跟上快速发展的计算机技术的能力的担忧。
  • 延长的开发周期也影响了 MULTICS 在快速发展的技术环境中的竞争力。

8. 竞争技术

  • 随着 MULTICS 遇到麻烦和问题,像 UNIX 这样更智能、更高效的替代方案开始出现。特别是 UNIX,因其通用性和功能性而开始获得越来越多的关注,从而吸引了资源和注意力从 MULTICS 转移。
  • 新的竞争技术削弱了 MULTICS 在蓬勃发展的操作系统领域的普及。

9. 接受度有限

  • 由于其资源需求高、架构设计复杂以及上述问题,MULTICS 在商业环境中的应用受到限制。许多组织发现其他操作系统更适合其计算机需求。
  • 然而,有限的采用阻碍了 MULTICS 在更广泛的计算机社区中获得广泛声誉和影响力的可能性。

结论

总之,MULTICS 在许多方面都具有开创性,但仍然面临导致其终结的重大挑战。其局限性受到计算范式转变、资源限制、预算考虑和模糊目标的影响。尽管存在这些缺点,MULTICS 为其他操作系统和现代计算机环境带来了宝贵的见解,从而留下了不可磨灭的印记。从 MULTICS 带来的挑战中吸取了重要的教训,这些教训促进了操作系统的发展。