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

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

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

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

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

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

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

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

答案1

1. Linux 内核和 BSD 内核之间的概念和结构差异是什么?

关于架构和内部结构,当然在完成事情的方式上存在差异(即:左室厚度几何, 早期且复杂监狱FreeBSD 的功能,...),但总的来说,两者之间没有太大区别:

  • BSD* 内核和 Linux 内核都已从纯粹的整体方法发展为混合/模块化的方法。

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

  • BSD 内核正在使用BSD 许可证Linux内核正在使用GPL 许可证
  • BSD内核不是独立的内核但被开发为整体的一部分。当然,这只是一种哲学观点,而不是技术观点,但这赋予系统一致性
  • BSD 内核是以更保守的观点开发的,并且更关心与他们的方法保持一致,而不是拥有花哨的功能。
  • Linux 内核更多地涉及驱动程序、功能……(越多越好)。

大大地在别处陈述过:

这是智能设计与订单(BSD*) 与自然选择与混沌(GNU/Linux)。

2. 在哪些场景下,一种内核比另一种内核更有优势?

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

当然,这里和那里存在一些差异,例如 FreeBSD 的本机 ZFS 支持或 geom 架构与 Linux 的许多驱动程序或各种文件系统。但网络服务器或数据库等通用软件并不能真正发挥作用。这些情况下的比较很可能会以两者之间的一些调优战争而告终,没什么大不了的。

但是,有些人会认为开放BSD具有深入且一致的安全方法,而强化的 Linux 发行版“只是”普通 Linux 内核的修改版本。对于如此高度专业化的系统来说,这可能是正确的,就像Steam操作系统成为玩游戏的第一名。

3.是否有任何共同努力,集中力量实现一个共同的核心或者某些模块?

由于存在重大许可、哲学或方法问题,共同努力将力量集中到一个共同核心。

如果存在一些真正的共同努力,例如OpenZFS,大多数时候,更多的是关于相互借鉴或启发的驱动因素和概念。

答案2

部分答案解决了一些问题

当外界研究开源开发时,多种选择通常被认为是一件坏事,但在自然界中,一种动物(通常)有很多物种,比如企鹅。有17个。每个项目都专门针对一组特定的需求,开源项目也是如此(通常)。随着时间的推移,自然选择将淘汰那些不太合适的开源软件。

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

这有点毫无意义,有时这是重复的工作,但从事这些组件工作的人也不是在真空中做这件事。他们会看看其他人在做什么,如果有一种方法或算法,他们会在有意义的时候将其纳入其中。

我无法谈论您其他项目符号的结构差异,但我想我至少会解决其中的两个问题。

相关内容