为什么 Linux 能够很好地适应不同的硬件平台?

为什么 Linux 能够很好地适应不同的硬件平台?

为什么 Linux 能够在如此多不同类型的机器上运行良好——台式机、笔记本电脑、服务器、嵌入式设备、移动电话等?主要是因为系统是开放的,所以它的任何部分都可以修改以适应不同的环境?或者 Linux 内核和/或系统是否有其他属性使该操作系统更容易在如此广泛的平台上工作?

答案1

虽然开放性肯定是其中的一部分,但我认为关键因素是 Linus Torvald 继续坚持认为,所有工作,无论大小,只要做得好,都在主线 Linux 内核中占有一席之地。如果他在某个时候决定划清界限并说“好吧,对于那种奇特的超级计算机硬件,我们需要一个分叉”,那么完全独立的高端和小型系统变体可能就会开发出来。事实上,人们付出了更艰苦的努力,让所有这些都相对更好地协同工作。

而且,通常情况下,不允许事情的一方面损害另一方的利益——这再次迫使人们以更困难但更正确的方式解决问题,事实证明,这通常更容易解决问题。一旦需要什么,拼凑就成为历史的脚注。

来自一个几年前的采访:

问:Linux 是一个多功能的系统。它供应个人电脑、大型服务器、移动设备和十种左右的其他设备。从您的特殊地位来看,Linux 将在哪个领域发挥最大潜力?

答:我认为 Linux 的真正威力恰恰在于它不属于某一领域。每个人都可以一起合作,不同的人和不同的公司对于对他们来说重要的事情有完全不同的动机和信念。所以我什至对任何一个特定领域都不感兴趣。

答案2

Linux 可以扩展到许多不同类型的硬件,因为:

  • 它非常可配置
  • 源代码是免费提供的,并且可以为任何具有可用 C 编译器的 CPU 构建
  • 嵌入式设备和手机中的处理器与原来的 386 机器相比至少拥有同等水平或更高的性能,早期的 Linux 开发就进行了,并且不断获得性能
  • 只要有网络、某种形式的磁盘或类似磁盘的设备以及串行端口,它就可以正常工作

答案3

Linux 内核具有良好的可扩展性,因为它本身就是这样的。核心内核相对较小,只做它需要做的事情。设备驱动程序是可选的,对于较小的系统可以将其排除在内核之外。除了最低内核要求之外,大多数功能都作为可选功能实现。

查看大多数内核旁边安装的配置文件。它将列出所有已打开的功能以及支持的驱动程序。

支持将驱动程序嵌入内核或作为可加载模块。这允许内核动态配置到其运行的硬件。这是许多发行版使用的方法。

除了拥有编译工具之外,针对新硬件修改内核相对简单。对于新处理器,只需将相关代码作为对现有功能的修改来实现。新设备只需要带有相关挂钩的新驱动程序。新的文件系统同样是相对简单的修改。

代码库得到了很好的维护,无需外部分叉即可保持这种灵活性。条件编译驱动一个非常灵活的内核,该内核已尽可能保持最小。

答案4

我缺乏详细的技术专业知识来支持这个答案,但我的经验表明,与我经常使用的其他操作系统(主要是 Windows)相比,Linux 的扩展性很好。所以也许问题是为什么 Windows 的扩展性不如 Linux。

如果以这种方式重述这个问题对您仍然有用,我建议市场力量激励微软添加适合最新和最强大硬件的特性和功能,因为他们主要在最终用户购买新系统时出售更多操作系统副本。因此,在任何时候,我都会发现最新版本的 Windows 在旧的、功能较差的硬件上表现不佳。

如果这过于简化了你的问题,请原谅我。

相关内容