您可能已经在互联网上看到和听到这类讨论:
Linux 只是一个内核
这让你很好奇。是内核吗?它是操作系统吗?两者有什么区别?
我将在这篇博文中回答你的这些问题。
Linux 是操作系统还是内核?
好吧,从技术上讲,Linux只是一个内核,而不是一个操作系统。但是,术语 Linux 通常是指一个完整的操作系统,其中包括一个shell(如bash)和命令行和/或 GUI 工具来控制系统。这个完整操作系统的技术正确术语是 Linux 发行版或简称 Linux 发行版。流行的 Linux 发行版的例子包括 Ubuntu,Red Hat 和 Debian。
早在 1991 年,Linus Torvalds 创造的只是内核。即使在今天,他也在研究 Linux 内核。他不再编码,但监督哪些代码进入内核。
内核是什么?
内核是每个操作系统的中心。这不仅仅是 Linux 的事情。Windows 和 macOS 也有内核。
将内核视为操作系统的核心。你离不开你的心。没有内核,您的操作系统就无法存在。
然而,就像心脏需要一个身体来生活一样,内核需要其他程序和工具来制作一个人们可以在他们的计算机上使用的完整操作系统。
以下是操作系统的典型结构:
内核是与硬件交互的核心。最重要的是与内核交互的 shell。然后你有应用程序,命令行和图形,给你各种使用系统的方式。
内核是引擎,操作系统是汽车
一个更好的类比是将内核视为汽车的引擎,将操作系统视为汽车。
你不能驾驶发动机,但你也不能在没有发动机的情况下驾驶汽车。你需要有轮胎、转向系统和其他组件才能把它变成一辆你可以驾驶的汽车。
同样,您不能直接使用内核。您需要 shell,然后是其他工具和组件才能使用操作系统。
Linux vs GNU/Linux
在类似的语句中,你还会遇到类似“Linux 只是一个内核,你所说的 Linux 实际上是 GNU Linux”这样的语句。
甚至在 Linus Torvalds 在 1991 年创建 Linux 之前,Richard Stallman 就创建了自由软件运动和 GNU 项目。GNU 项目包括重新实现流行的 UNIX 工具和命令,如 ls,grep,sed 等。
通常,您的 Linux 发行版在 Linux 内核之上附带所有这些 GNU 工具。
这就是为什么纯粹主义者坚持称它为GNU Linux,这样人们就不会忘记 GNU 在 Linux 成功中的贡献和重要性。
最后…
因此,如果您在口头测验或面试中被问到这个问题,请回答“Linux 是一个内核,而不是操作系统”。大多数情况下,你的老师或面试官都在寻找这个答案。
但在内心深处,了解内核和操作系统之间的区别。
如果有人说“我使用 Linux”,你就会明白这个人指的是 Linux 发行版,而不仅仅是内核。真诚地说,没有必要用“Linux 只是一个内核,而不是操作系统”来纠正某人。