Unix、Linux、BSD 和 GNU 之间有什么区别?

Maj*_*ris 37 linux bsd gnu

Unix、Linux、BSD 和 GNU 之间的根本区别是什么?Unix 是最早的操作系统,所以术语“类 Unix”是可以理解的,因为它们具有内核、文件系统结构、大多数命令、用户等与 Unix 相同。仍然为什么它们不同?是什么让他们与众不同?是内核吗?

cot*_*eyr 42

这是一个很难回答的问题。

首先“Unix Like”或“*nix”通常表示 POSIX。您列出的所有系统都是 POSIX 系统。POSIX 是一组要实现的标准。

现在是更难的问题。

GNU 并不是真正的操作系统。它更像是一套管理自由软件的规则或哲学,同时在尝试创建操作系统的同时催生了一堆工具。因此,GNU 工具基本上是已经存在但经过重做以符合开放软件原则的工具的开放版本。GNU/Linux 是这些工具和 Linux 内核的网格,以形成一个完整的操作系统,但还有其他的“GNU”。例如 GNU/赫德。

Unix 和 BSD 是 POSIX 的“旧”实现,它们是各种级别的“闭源”。Unix 通常是完全封闭的源代码,但 Unix 的种类与 Linux 一样多,甚至更多。BSD 通常不被某些人认为是“开放的”,但实际上它比现有的任何其他东西都要开放得多。由于允许更多的“开放”许可,它的许可也允许用于商业用途,但限制要少得多。

Linux 是新来者。严格来说,它“只是一个内核”,但是,一般来说,当与 GNU 工具和其他一些东西结合时,它被认为是一个完整的操作系统。

主要的治理差异是理想。Unix、Linux 和 BSD 实现了不同的理想。它们都是 POSIX,并且基本上都可以互换。他们确实以不同的方式解决了一些相同的问题。因此,除了理想以及他们选择实施 POSIX 标准的方式之外,几乎没有区别。

有关更多信息,我建议您阅读有关 GNU、OSS、Linux、BSD 和 UNIX 的创建的简短文章。他们会倾向于他们的个人想法,但是当您通读时,您会很好地了解差异。

这张 Unix 谱系图清楚地展示了 Unix、BSD、GNU 和 Linux 的历史(来自维基媒体):

Unix族谱图


小智 22

Linux 不是操作系统,而是内核。Linux 本身没有“用户空间”环境(没有应用程序、没有命令、没有……等等……)。

如果你想拥有一个完整的操作系统,你必须在你的内核中添加一个用户空间。从历史上看,对于 Linux,它是 GNU。所有(?) Linux 发行版都不是“真正的 Linux”发行版。它们是 GNU/Linux (GNU + Linux) 发行版。

BSD 是一个“类unix”的完整操作系统,有自己的内核和自己的用户空间(没有Linux 内核也没有GNU)。

GNU/Linux 和 *BSD 系列(FreeBSD、OpenBSD 和 NetBSD)是“类 unix”操作系统,它们的行为类似于 Unix。

这是 (GNU)/Linux 和 *BSD 之间的比较:http : //www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html