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