背景
几年前,我听到有人说 OSX 和 Linux 比 Windows 更好,我也记得读过一些东西说 Solaris 操作系统不会碎片化文件并且 Linux 文件系统几乎处于同一水平,但这些说法似乎都没有依据或参考。
问题
有哪些客观标准可用于比较各个操作系统?
答案1
我认为您可以采用比较操作系统的方法并将它们分为两组:
- 特征
- 结构差异
首先,结构差异:当今的操作系统在底层非常相似。基本上都受到 Brian Kernighan 和 Dennis Ritchie 的影响,这两位都从事 C 编程语言和 UNIX 的开发。事实上,当今的许多操作系统,如 Linux、Solaris 和 OS X 都被归类为“类 UNIX”,因为它们在某种程度上都是 UNIX 的后代。UNIX 的理念基本上是让一切变得简单,或者更准确地说是“基本”,并且每个程序都应该只有一个功能。这些概念至今仍在使用。
至于 Windows,这个与众不同的操作系统也受到了 K&R 作品的影响。虽然 Windows 不是一个“类 UNIX”系统,但它是用 K&R 发明的 C 语言编写的,并且表现出某些相似之处。例如,“死机蓝屏”只是 Windows 版本的内核恐慌,这个想法是与 UNIX 一起发明的。
当今所有主流操作系统都基于一种称为“单片”内核的内核设计方案。这只是意味着内核作为一个程序运行。这意味着这个程序中的所有代码都可以完全控制您计算机的所有资源,这可能会导致错误造成严重损害。著名辩论关于将操作系统的内核“拆分”为单独的程序以提高稳定性和安全性的可能性。这种设计称为“微内核”。正如我所提到的,当今的所有操作系统都基于单片内核设计,可能是因为它们的性能更好,也可能只是因为这种情况已经持续了很长时间。
至于功能,这可能是最大的比较,因为如上所述,当今所有主流操作系统在结构上都非常相似。事实上,在我看来,功能只有细微的差别。这真的取决于你问的是谁。例如,Mac OS X 有一些非常漂亮的功能,如 XGrid 和 OpenCL(尽管现在也适用于其他平台)。它也非常用户友好。但它也被批评为“背负包袱”,可能指的是其相对过时的文件系统。此外,它只适用于 Apple 硬件。
Linux 非常适合服务器和超级计算机,因为它具有开放性和明显的多处理优势。它也是目前比较安全的选择之一。但它也受到批评,因为桌面设置不太方便用户使用,而且没有任何大公司正式支持它。然而,Linux 可能是最前沿软件的首选,因为它经常变化。事实上,Linux 可能正在获得新文件系统和新窗口管理器在不远的将来。
然后是 Windows。Windows 和 OS X 一样,都得到了大公司的支持,而且你会发现有很多适用于这个平台的软件。从上面讨论的功能和操作系统结构可以看出,它们并没有太大的不同,所以这种丰富的可用软件可能是这个操作系统保持市场份额的原因。除了这个明显的优势之外,还有一个事实是它可以在很多不同的硬件上运行,这一点与 OS X 不同。
所以你会发现,如今的操作系统彼此之间并没有太大区别。如今开发的许多功能都以开源软件的形式出现,可以在任何操作系统上使用。但是,它们之间还是存在一些明显的区别,比如它们可以合法运行的硬件、代码的开放性等。如果您愿意,可以随时提出更多问题。
答案2
任何操作系统的比较都需要在“适用性”的背景下进行。你必须定义你希望操作系统做什么做然后您才能决定哪种方法最适合特定用例。
然而,肯定存在客观的比较点。非详尽的清单包括:
- 硬件支持
- 应用生态系统
- 开发生态系统
- 文件系统支持
- 资源管理
- 内存管理
- 进程调度
- I/O 控件
- TCP 协议栈实现
- 资源级会计
- 安全
- 操作系统级安全机制
- 文件系统级安全机制
- 审计功能
- 流程会计
- 用户/角色管理
- 本机系统服务
- 特定应用程序的性能基准
每个主题都需要大量的深入研究,这就是为什么你不太可能找到问题的规范答案。