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

我已经使用Linux多年了,但从未超越从CD / DVD安装。如果应用程序管理器没有我在软件中寻找的东西,那么我就是一个失败的原因。 但是现在我正试图抓住“Linux”的含义。 突然出现在我脑海中的第一个词是“内核”。在维基百科上阅读之后,我了解到内核是运行的软件,可以让其他软件(OS +应用程序)访问硬件(CPU,RAM +++)。它还处理内存,但不是操作系统应该做什么(我记得从OS类)? Linux发行版只是一个包装软件列表吗? 拿我最喜欢的发行版:Fedora。它现在在14版本中,并附带内核2.6.35。 内核是否来自中心,是每个Linux发行版的核心?如果这是真的,那么Linux发行版是否只是让内核的计算机更加用户友好?通过这种方式,发行版+内核是操作系统,因为没有另一个的操作系统不可用(可能是纯内核,但是谁坐在那里?)。     
已邀请:
非常正确。对我来说,“linux”只是内核。但是将整个发行版称为linux是很常见的。这就是让RMS如此恼火的原因。他认为它应该被称为GNU / Linux,因为他将发行版视为Linux内核以及GNU项目中的附加软件。这也很有道理,但我从不使用GNU / Linux这个术语。我要么谈论内核linux,要么是“linux发行版”,要么是特定的发行版。 是的分发只是内核(可能包括特定于发行版的补丁)以及使其可用的所有额外程序。 内核是一个中心项目,在每个发行版中名义上都是相同的,但大多数发行版都会对它进行一些定制。 额外的软件不仅使内核更加用户友好,而且还可以使用它。内核只是中断处理程序,设备驱动程序和系统调用。它基本上虚拟化硬件并为程序提供标准的工作环境。 就“操作系统”这个短语而言,它可能令人困惑。有些人可能会说内核是操作系统,其他一切都是实用程序或应用程序或其他东西。其他人可能会说内核加上其他一些软件包组成了操作系统,但大多数软件都不是操作系统的一部分。其他人可能会说发行版中的所有软件都是操作系统的一部分。     
Linux是内核(我发现自己在这里引导RMS)。这就是Linus编写的内容,而这正是内核开发人员今天继续努力的结果。它控制硬件。 操作系统包括内核和相当多的低级“应用程序”,允许您作为用户在计算机上执行有用的操作(想想文件管理器,控制面板等)。 发行版是一个操作系统,包含绝对大量的高级应用程序,如DVD创作工具,Web浏览器,办公套件等,几乎无限制。即使Windows在某种程度上这样做,包括Wordpad,Calculator和Paint,虽然不是Linux发行版扩展到的疯狂多产级别 - 我们真的需要472个不同的文件管理器吗?选择是好的,是的,但只有一点:-) 现在内核/操作系统和OS /发行版之间存在灰色区域,但我认为这是理解它如何挂起的公平起点。     
操作系统只是内核和外壳携手合作。 Distro是在内核上工作的自定义shell的组合。这意味着,例如-Kali,Ubuntu,fedora,Mint等是在Linux内核上运行的不同发行版。 Shell充当用户和kernel之间的接口.Shell可以是命令行界面或图形用户界面.Bash,sh,Windows GUI都是一些shell。 内核是操作系统的中心。它为程序分配时间和内存并处理文件存储等。 为了进一步解释shell和Kernel,假设你键入cd。 shell在文件存储中搜索包含程序cd的文件,然后通过系统调用请求内核在myfile上执行程序cd。 举一个简单的例子 - Windows GUI是一个Shell,Windows操作系统是微软的一个分支。 类似的,Ubuntu OS或fedora OS等是使用Linux内核处理各种shell的发行版。 Shell或发行版不会使内核使用起来更加友好,但它使用户可以使用它。 所以现在,简单地说你可以说Linux是一个内核。 Linux + shell(Bash,Gnome等)是一个Linux发行版,比如Ubuntu,Mint,Kali等,每个都是一个操作系统。     
“kernel”和“shell”是原始术语,就像我们说的“核心”和“shell”一样。 “Shell”是命令解释器。 “Distro”是一个术语,表示该分发中包含的自定义shell +特定程序。一个发行可能会有几个炮弹。从用户的角度来看,这与人类语言的概念很接近。是您必须与终端通信的语言,它将与shell通信。 Shell将读取它并在文件存储中查找文件(仍在shell /发行版内)。一旦找到文件(可执行文件),shell就会将其发送给执行作业(进程)的内核。想想一辆多年来基本上没有改装发动机的汽车,但会改变它的车架/车身。我想我需要在这里停下来......     

要回复问题请先登录注册