这是一个困扰 Linux 用户的常见问题。这也是考试和面试中经常问到的一个问题。下面是你需要了解的所有内容。

开源朗读者 | 徐斯佳

你可能在网络上的各种论坛以及讨论区听过这句话:

Linux 只是一个内核。

这让你感到好奇。它是个内核?还是个操作系统?两者之间有什么区别?

我将在本文中回答这些问题。

Linux 是操作系统还是内核?

好吧,从技术上讲,Linux 只是一个内核,而不是一个操作系统。但是,术语 “Linux” 通常是指一个完整的操作系统,它包括一个 交互界面 Shell (例如:bash)和命令行和/或 GUI 工具来控制系统。这个完整的操作系统的正确叫法是 “Linux 发行版”。流行的 Linux 发行版有 Ubuntu、Red Hat 和 Debian。

早在 1991 年,Linus Torvalds 创建的只是一个内核。直到今天,他也在为 Linux 内核工作。他不再编写代码,而是监督哪些代码进入内核。

内核?什么东西?

内核是每个操作系统的中心。不仅仅是 Linux,Windows 和 macOS 也有内核。

将内核想象成操作系统的心脏。没有心脏,你就无法生存。没有内核,操作系统就无法存在。

但是,就像心脏需要一个身体来生存一样,内核需要其他人们可以在计算机上使用的程序和工具来构成一个完整的操作系统。

这是一个操作系统的典型架构:

在中心的内核与硬件交互。在它之上是与内核交互的 交互界面 Shell 。然后你有应用程序、命令行和图形界面,为你提供使用系统的各种方式。

内核是引擎,操作系统是汽车

一个更好的类比是将内核想象成汽车的引擎,而操作系统则是汽车。

你不可能驾驶一个引擎,但是如果没有引擎,你也不能驾驶一辆汽车。你需要轮胎、转向机和其他组件才能将其变成一辆可以驾驶的汽车。

相似地,你不能直接使用内核。你需要 交互界面 Shell ,其他工具和组件才能使用操作系统。

Linux 对比 GNU/Linux

在类似的地方,你也会看到例如 “Linux 只是一个内核,你所说的 Linux 实际上是 GNU/Linux” 的陈述。

在 Linus Torvalds 在 1991 年创建 Linux 之前,Richard Stallman 就创建了 自由软件运动 Free Software movement 和 GNU 项目。GNU 项目包括对流行的 UNIX 工具和命令的重新实现,例如 lsgrepsed 等。

通常,你的 Linux 发行版会在 Linux 内核之上包含所有这些 GNU 工具。

这就是为什么纯粹主义者坚持称之为 GNU/Linux,以便人们不要忘记 GNU 对 Linux 成功的贡献和重要性。

最后……

所以,如果你在面试或者考试中被问到这个问题,回答 “Linux 是一个内核,而不是一个操作系统”。这是你的老师或面试官在大多数情况下想要的答案。

但是更深入一点,理解内核和操作系统之间的区别。

如果有人说:“我使用 Linux”,你就会明白这个人是指 Linux 发行版,而不仅仅是内核。诚然,没有必要用 “Linux 只是一个内核,而不是一个操作系统” 来纠正别人。


via: https://itsfoss.com/linux-kernel-os/

作者:Abhishek Prakash 选题:lkxed 译者:Cubik65536 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

已有 5 条评论

  1. "怎么没有必要?
    咱杠精就要用“Linux 只是一个内核,而不是一个操作系统”来纠正别人!" —— 来自117.181.103.179的 Chrome 110.0|Windows 10 用户 发表。
  2. 我就要用“Linux 只是一个内核,而不是一个操作系统”来纠正别人!书上也是这么写的。这么说本来就没错。 —— 来自39.144.248.214的 Mobile Safari 16.3|iOS 16.3 用户 发表。
  3. 这是在准备重写一个兼容linux内核,以此避开GPL协议? —— 来自江苏无锡的 Mobile Safari 14.0|iOS 14.0 用户 发表。
  4. 这是在准备重写一个兼容linux内核,以此避开GPL协议? —— 来自江苏无锡的 Mobile Safari 14.0|iOS 14.0 用户 发表。
  5. Linux 只是一个内核,FreeBSD和Android才是完整操作系统 —— 来自北京的 Firefox 104.0|Windows 10 用户 发表。

添加新评论