Linux 和(免费)BSD 内核之间的概念差异

bin*_*aly 21 freebsd bsd linux-kernel

(我已经注意到之前有人问过这个问题,但我认为它没有以我想要理解的方式回答。)

之间的概念和结构差异是什么?

  • Linux内核
  • BSD 内核(比方说 FreeBSD)

虽然归根结底它们都是内核 - 我认为在结构、功能和专业化方面可能存在差异。在哪些情况下,一种内核比另一种内核具有优势?(Web 服务器、数据库、计算等)

是否有任何共同努力将力量集中在一个通用内核或某些模块上,或者这是否毫无意义?

PS:在这种情况下,不同的许可证类型或运输/包装/维护方法并不重要。我真的很想了解它们在结构、功能/特性级别和专业化方面的不同之处。

Ouk*_*uki 24

1. Linux 内核和 BSD 内核在概念和结构上有何不同?

关于架构和内部结构,当然在处理方式上存在差异(即:lvm与geom,FreeBSD 的早期和复杂的jail功能,...),但总体而言两者之间没有太大差异:

  • BSD* 内核和 Linux 内核都从纯粹的单体方法演变为混合/模块化方法。

尽管如此,他们的方法和历史仍然存在根本差异:

  • BSD 内核使用BSD 许可证,Linux 内核使用GPL 许可证。
  • BSD 内核不是独立的内核,而是作为整体. 当然,这只是一种哲学观点,而不是技术观点,但这提供了系统的连贯性。
  • BSD 内核是以更保守的观点开发的,并且更关心与他们的方法保持一致,而不是拥有花哨的功能。
  • Linux 内核更多地是关于驱动程序、特性等(越多越好)。

正如其他地方所说:

它是智能设计和秩序(BSD*) 与自然选择和混沌(GNU/Linux)。

2. 在哪种情况下,一种内核比另一种内核更有优势?

关于它们的整体结构和概念,在比较几乎是普通的 Linux 内核和 FreeBSD 内核时,它们或多或少处于相同的通用使用级别,即没有特别的专业化(非实时,非高度并行,非面向游戏,而不是嵌入式,...)。

当然,这里和那里有一些差异,例如 FreeBSD 的原生 ZFS 支持或 geom 架构与 Linux 的许多驱动程序或各种文件系统。但是,一些通用软件(例如 Web 服务器或数据库)不会真正用来产生真正的影响。在这些情况下的比较很可能会以两者之间的一些调整战告终,没什么大不了的。

但是,有些人会争辩说OpenBSD有一种深入而一致的安全方法,而强化的 Linux 发行版“只是”普通 Linux 内核的修改版本。对于如此高度专业化的系统来说,这可能是正确的,因为Steam-OS将成为玩游戏的第一。

3. 是否有共同的努力集中力量在一个共同的内核或某些模块上?

有没有共同努力,集中力量为一个共同的内核,有重大的许可证,哲学或方法的问题。

如果存在一些真正的共同努力,例如OpenZFS,那么大多数情况下,它更多地是关于相互借鉴或启发的驱动程序和概念。


slm*_*slm 5

部分答案解决了一些问题

在外部研究开源开发时,许多选择通常被认为是一件坏事,但将其视为自然界中的一种动物(通常),企鹅说。有 17 个。每个都专门针对一组特定的需求,开源项目也是如此(通常)。自然选择将负责清除随着时间推移不太合适的开源。

是否有任何共同努力将力量集中在一个通用内核或某些模块上,或者这是否毫无意义?

这有点毫无意义,有时会重复工作,但处理这些组件的人也不是在真空中进行的。他们会环顾四周,看看其他人在做什么,如果有方法或算法,他们会在有意义的时候加入。

我无法谈论关于您的其他子弹的结构差异,但我认为我至少会解决其中的 2 个。