Linux kernel 什么';Linux操作系统和内核之间的关系是什么?

Linux kernel 什么';Linux操作系统和内核之间的关系是什么?,linux-kernel,linux-distro,Linux Kernel,Linux Distro,我已经使用Linux好几年了,但除了从CD/DVD上安装外,我从未做过其他事情。如果应用程序经理没有我在软件中寻找的东西,那么我就失败了 但现在我正试图弄清楚什么是“Linux” 我脑海中浮现的第一个词是“内核”。读过维基百科后,我了解到内核是一种软件,它可以让其他软件(OS+应用程序)访问硬件(CPU、RAM++)。它还处理内存,但这不是操作系统应该做的吗(我从操作系统类中记得的) Linux发行版只是一个打包的软件列表吗 以我最喜欢的发行版:Fedora为例。它现在是第14版,随内核2.6.

我已经使用Linux好几年了,但除了从CD/DVD上安装外,我从未做过其他事情。如果应用程序经理没有我在软件中寻找的东西,那么我就失败了

但现在我正试图弄清楚什么是“Linux”

我脑海中浮现的第一个词是“内核”。读过维基百科后,我了解到内核是一种软件,它可以让其他软件(OS+应用程序)访问硬件(CPU、RAM++)。它还处理内存,但这不是操作系统应该做的吗(我从操作系统类中记得的)

Linux发行版只是一个打包的软件列表吗

以我最喜欢的发行版:Fedora为例。它现在是第14版,随内核2.6.35一起提供

内核是否来自某个中心,并且是每个Linux发行版的核心?如果这是真的,那么Linux发行版仅仅是一种使具有内核的计算机更易于使用的方法吗?这样,发行版+内核就是操作系统,因为一个没有另一个的内核是不可用的(可能是纯内核,但谁坐在上面?)

Linux就是内核。这就是Linus写的,也是内核开发人员今天继续工作的内容。它控制硬件

操作系统包括一个内核加上相当多的低级“应用程序”,允许用户使用计算机做有用的事情(想想文件管理器、控制面板等等)

发行版(distribution)是一个包含大量高级应用程序(A)的操作系统,如DVD创作工具、web浏览器、办公套件等

现在,内核/操作系统甚至操作系统/发行版之间都存在灰色地带,但我认为这是理解它们是如何结合在一起的一个公平的起点


(a) 即使是Windows也在一定程度上做到了这一点,包括写字板、计算器和绘图,尽管没有达到Linux发行版所能达到的惊人的产量水平——我们真的需要472个不同的文件管理器吗?选择是好的,是的,但只是在一定程度上:-)



(b) 是的,我知道“接近无限的广告”是没有意义的,因为从无限中减去的任何有限量仍然是无限的。但是,如果你想得到数学上的精确性,你可能应该在:-)

非常正确。对我来说,“linux”只是内核。但将整个发行版称为linux是很常见的。这就是令RMS如此恼火的地方。他坚持认为它应该被称为GNU/Linux,因为他认为发行版是Linux内核加上GNU项目中的附加软件。这也有道理,但我从未使用过GNU/Linux这个术语。我说的不是内核linux,就是“linux发行版”,或者是一个特定的发行版

所以是的。发行版只是内核(可能包括发行版特定的补丁)加上使其可用的所有额外程序

内核是一个中心项目,在每个发行版中名义上是相同的,但大多数发行版都对其进行了一些定制

而额外的软件不仅使内核更加用户友好,而且使其完全可用。内核只是中断处理程序、设备驱动程序和系统调用。它基本上虚拟化了硬件,并为程序提供了一个标准的工作环境


就“操作系统”一词而言,它可能令人困惑。有些人可能会说内核是操作系统,而其他一切都是实用程序、应用程序或其他东西。其他人可能会说内核加上其他一些软件包构成了操作系统,但大多数软件都不是操作系统的一部分。其他人可能会说发行版中的所有软件都是操作系统的一部分

“内核”和“外壳”是原始术语,比如说“核心”和“外壳”。“Shell”是命令解释器。“Distro”是一个术语,意思是该发行版中包含的定制外壳+特定程序。不过,一个发行版可能有几个shell。从用户的角度来看,这接近于人类语言的概念。是您必须与将与shell对话的终端对话的语言。Shell将读取它并在文件存储中查找文件(仍在Shell/distro中)。找到文件(可执行文件)后,shell将其发送给执行任务(进程)的内核。想想一辆车,它的发动机多年来基本不变,但会改变车架/车身。我想我需要停在这里了…

OS只是内核和外壳,它们可以协同工作

发行版是在内核上工作的定制shell的组合。这意味着,例如Kali、Ubuntu、fedora、Mint等是在Linux内核上工作的不同发行版

Shell充当用户和内核之间的接口。Shell可以是命令行界面或图形用户界面。Bash、sh、Windows GUI是一些Shell

内核是操作系统的中枢。它为程序分配时间和内存,并处理文件存储等

为了进一步解释shell和内核,假设您键入cd。shell在文件存储中搜索包含程序cd的文件,然后通过系统调用请求内核在myfile上执行程序cd

举一个简单的例子-Windows GUI是一个Shell,Windows OS是微软的分发版

类似地,Ubuntu OSfedora OS等发行版使用Linux内核在各种shell上运行

Shell或发行版并不能使内核更易于用户使用,但它可以让用户使用它

现在,你可以简单地说Linux是一个内核。
Linux+shell(Bash、Gnome等)是Linux发行版,比如Ubuntu、Mint、Kali等,它们都是操作系统。

我支持这个答案。假设内核是“Linux”,操作系统是“GNU/Linux”,发行版是“编写您的首选”-