迷你操作系统2025年4月28日 | 阅读 6 分钟 MINIX 是一个类似于 Unix 的操作系统,基于微内核架构构建。自 2.0 版本起,它兼容 POSIX。Andrew S. Tanenbaum 最初开发 MINIX 是出于教育目的。MINIX 3 的主要开发目标从教学转向生产一个极其可靠、具备自我修复能力的微内核操作系统。MINIX 3 的开发使用了来自互联网的免费软件。 ![]() 1987 年版的 Mini OS 的全部 软件 源代码已提供给学术机构,用于教学和课程开发。自 2000 年 4 月首次以 BSD 3 条款许可重新发布以来,该程序一直完全免费且公开可用。 执行1. MINIX 1.0为了说明他在《操作系统:创建与执行》一书中所阐述的观点,Andrew S. Tanenbaum 在阿姆斯特丹的 Vrije Universiteit 开发了一个迷你操作系统。(尽管书名相同,但它与 Digital System House, Inc. 早期的 MINIX 无关,后者运行在 AT&T Unix 代码上)。 该出版物包含一份缩减版的迷你操作系统 1.0 的 12,010 行 C 语言 C 编程源代码,涉及 数据结构、内存管理和内核。此外,Prentice-Hall 还随一本使用说明书在软盘上发布了 MINIX 的二进制文件和代码。第七版 Unix 与迷你操作系统 1 兼容系统调用。 为了使 MINIX 能够与当时市场上流行的 IBM PC 兼容机和 IBM 8088 微处理器相兼容,Tanenbaum 最先创建了它。 2. MINIX 1.5MINIX 1.5 于 1991 年首次发布,除了 Microchannel IBM PS/2 电脑外,它还支持 Sun SPARCstation 平台。之后,它被升级以支持 Motorola 68000 和 SPARC 平台。对于 Inmos,存在未经授权的移植。MeikOS 操作系统是使用 MINIX 的早期版本为其计算机并行处理器开发的。 3. MINIX 2.0然而,对 68k 架构的需求下降,当迷你操作系统 2.0 于 1997 年发布时,它仅限于 x86 架构和 Solaris 上的 SPARC 平台。该版本由 Albert Woodhull 共同撰写,作为 Tanenbaum 第二版教科书的主题,并附带一张 CD-ROM。迷你操作系统 2.0 包含了 POSIX.1 的兼容性、对 386 及更高版本 CPU 的 32 位模式兼容性,以及一个 TCP/IP 堆栈,取代了迷你操作系统 1.5 中的 amoebic 网络连接。此外,还有一个名为 SMX(操作系统)或简称 SMX 的 MINIX 模拟器,它作为 SunOS 和 Solaris 下的应用程序活动运行。 2001 年 5 月,2.0.3 版本通用可用。这是第一个以 BSD-3 条款授权发布的版本,该授权随后适用于迷你操作系统所有早期版本。 4. Minix-vmdVrije Universiteit 的两名科学家设计了 Minix-vmd,它是迷你操作系统 2.0 的一个衍生版本,为 Intel IA-32 兼容中央处理器提供内存虚拟化和 X Windows 平台兼容性。 5. MINIX 3在 ACM 操作系统和原理会议 (SOSP) 的开幕式之后,Tanenbaum 于 2005 年 10 月 24 日正式宣布了 MINIX 3。这个更新版本的 Tanenbaum 教科书与 Albert S. Woodhull 共同完成,它仍然被用作案例研究,但经过了彻底的改造,使其“适合在资源和计算设备有限的真实机器上使用,并用于需要高度可靠性的目的。” 目前,MINIX 3 支持 ARM 和 IA-32 架构的计算机。由于其 Live CD 结构,它可以无需安装到硬盘即可在机器上使用。还有适用于 Bochs 和 Microsoft Virtual PC 等虚拟化和硬件仿真程序的版本。 2006 年 4 月 18 日,3.1.2 版本发布。这是 MINIX 重新许可使用 BSD-3 条款授权后的第一个版本,该授权增加了第四个条款。 2009 年 11 月 5 日,3.1.5 版本通用可用。它包含了 400 多个流行的 Unix 工具应用程序,包括 X11 和 emacs。此版本通过集成 X11,标志着向纯文本平台迈进。驱动程序失败通常可以立即重新启动,而不会干扰正在进行的任务。由于其固有的自我修复能力,该迷你操作系统适用于高可靠性系统。由于 MINIX 3 支持管理虚拟内存,因此可以用作桌面计算机的操作系统。 然而,OpenOffice.org 和 Firefox 等桌面程序尚不支持 MINIX 3。3.2.0 版本对用户空间进行了重大替换,使用了 NetBSD,并支持 pkgsrc,从而扩展了迷你操作系统可以使用的应用程序范围。现在必须显式构建 GCC,并且 GDB,也就是 GNU 编译器,已被移植替代了之前的编译器 Clang。 迷你操作系统 3.3.0 于 2014 年 9 月发布,增加了 ARM 兼容性。迷你操作系统 3.4.0RC 的版本于 2016 年 1 月发布。然而,自 2018 年以来,MINIX 的工作一直处于停滞状态,并且没有宣布迷你操作系统 3.4.0 的最终版本。 迷你操作系统支持 C、C++、FORTRAN 等多种编程语言。2016 年的 MINIXCon 大会,一个讨论 MINIX 过去和未来的活动,吸引了 50 多名与会者。作为 Intel 控制引擎的计算元素,MINIX 3 安装在 2015 年之后制造的所有 Intel 芯片组中。 早期影响尽管 Linus Torvalds 使用并欣赏 MINIX,但他对迷你操作系统的架构设计进行了重大的架构偏差,特别是使用了单体内核而不是微内核。Tanenbaum 在 Tanenbaum-Torvalds 论战中对此表示了反对。Tanenbaum 在 2006 年 5 月详细阐述了他使用微内核的原因。 由于早期的 Linux 内核是在 MINIX 主机系统上开发的,Linux 继承了 MINIX 的某些特性,包括 MINIX 文件系统。据 Eric Raymond 称,Linus 并非从零开始创建 Linux;相反,他利用了 MINIX 的源代码来创建了一个功能性代码库。随着工作的进展,MINIX 代码最终被移除。 根据 Samizdat2004 年 5 月,一个基金会在一份名为 Samizdat 的书中声称,Linux 内核的很大一部分是直接从迷你操作系统源代码中复制的。所有指控者都否认了这些说法,但 Tanenbaum 因其对 Brown 的严厉批评以及在他网页上进行的冗长反驳而脱颖而出,他还在网页上声称微软曾支持 Brown。 获取许可证MINIX 在早期开发时,其许可协议相对宽松。将其许可费用(69 美元)与其他操作系统相比,显得非常便宜。尽管 Tanenbaum 希望 MINIX 尽可能对学习者开放,但他工作的公司拒绝提供任何可能被公开复制的东西。因此,一种带有少量费用的限制性许可(已包含在 Tanenbaum 的书本费用中)被用作一种变通方法。这使得无法以 MINIX 为基础构建可自由分发的软件平台。 到了 20 世纪 90 年代初,当 Linux 和 386BSD 等免费开源的类 Unix 操作系统出现时,几位志愿程序员离开了 MINIX 去利用它们。MINIX 于 2000 年 4 月以开源免费软件的形式发布,所有早期版本均符合 BSD-3 条款许可。尽管此时其他操作系统已经超越了它,但它仍然主要是面向爱好者和学生的操作系统。2005 年底左右,MINIX 被重新许可,并在 BSD-3 条款协议中添加了一个额外的条款。 |
我们请求您订阅我们的新闻通讯以获取最新更新。