Linux 发行版之间有什么区别?

smi*_*dha 5 linux linux-distributions

Ubuntu 和 Fedora 等几个 GNU/Linux 发行版之间有什么区别?在砖块飞来问一个经常重复的问题之前,我说的是与操作系统内部工作相关的差异,而不是眼睛糖果、桌面环境、包管理器、易用性和其他用户界面相关功能。

更具体地说,假设我纯粹对我编写的某个 C++ 程序(串行或并行)的性能感兴趣。假设我在同一台台式机上安装了 Ubuntu 和 Fedora,并且两者都具有相同的 Linux 内核版本,那么两个操作系统上的程序性能是否相同?

一个相关的问题是为什么像 FreeBSD(不是 GNU/Linux 发行版)这样的 Unix 之类的操作系统比其他操作系统更受服务器平台青睐。

gd1*_*gd1 3

内部差异(不包括软件包系统和 GUI)很少而且几乎所有差异都与您所要求的内容不太相关。

与您的 C++ 程序唯一相关的是内核版本和/或程序链接的库版本,这在某种程度上取决于您选择的发行版,但您始终可以通过下载和编译源代码来替换它们(如果预构建的包不可用)。

性能差异将是,假设你坚持在同一台机器上,甚至使用不同的库,几乎无法检测到,排除统计噪声(例如,如果发行版是基于 GUI 的,那么一些与 GUI 相关的作业可以随机地与你的 C++ 交错)程序导致它做一个糟糕的基准测试,偶尔 - 是的,即使在多核机器上)。如果您的目标是性能和可预测性(执行时间的低方差),那么请避免使用基于 GUI 的发行版,并停止任何偶尔会与您的程序交叉执行某些工作的服务(例如网络)。