当我们说我们正在使用Linux时,我们到底是什么意思?


9

我正在阅读有关GNU的文章,内容如下

确实有一个Linux,这些人正在使用它,但这只是他们使用的系统的一部分。Linux是内核:系统中的程序,用于将计算机的资源分配给您运行的其他程序。内核是操作系统的重要组成部分,但其本身是无用的。它只能在完整的操作系统中运行。Linux通常与GNU操作系统结合使用:整个系统基本上是添加了Linux的GNU或GNU / Linux。所有所谓的“ Linux”发行版实际上都是GNU / Linux的发行版。

我一直认为Linux是内核和操作系统,但看起来Linux = Linux内核和GNU OS。

有人可以指出我们在日常生活中使用的“ Linux”术语中每个术语的确切功能。同样,根据Wiki,GNU的设计类似于Unix,但与Unix有所不同,它是自由软件且不包含Unix代码。我以为Unix是开源的。是不是


2
Linux内核就像一个引擎:对汽车的运转至关重要,但仅靠其本身就毫无用处。
evilsoup

Answers:


7

我相信您所指的内容已在自由软件基金会(FSF)网站上进行了介绍:

根据FSF的说法,他们的争论是Linux只是一个内核。一个可用的系统包括一个内核+的工具如lsfind,贝壳等,因此指的是整个系统的情况下,它应该被称为的GNU / Linux,由于与Linux内核一起其他工具组成一个完整的可用系统。他们甚至继续谈论FSF Unix内核Hurd,并提出论点:Hurd和Linux本质上是GNU / X系统的可互换内核。

我发现整个争论很累人,并认为与我们的时间有更好的关系。名称只是一个名称,事实上,人们认为包含GNU软件+ Linux内核+其他非GNU软件的系统是Linux或GNU / Linux只是一个问题,而在以下的宏伟方案中,这并不重要的东西。实际上,我认为该论点通过使社区分裂并使普通公众混淆每件事的实质,对Linux和GNU / Linux的伤害更大。

有关这个主题的更多知识,请阅读Wikipedia文章,标题为:GNU / Linux命名争议

所有Unix都开源吗?

据我所知,并不是所有的Unix都是开源的。指定了Unix中的大多数功能,以便打开工作方式,但是此功能的特定实现是打开还是不打开,具体取决于它属于哪个发行版。

例如,直到最近,Solaris(Unix)才被认为是开源的。只有当Sun Microsystem将核心组件发布到OpenSolaris项目中时,它至少是Solaris的组件才成为开源。

Unix历史

我绝不是这个主题的专家,因此建议您查看Unix Wikipedia页面,以获取更多有关该主题的信息。

Linux历史

查看Unix谱图,了解更多有关Unix被视为开放源代码,混合源代码或封闭源代码的信息。

  历史

与之交谈时,我还发现GNU / Linux发行时间表项目很有用。

Linux时间轴的ss


2
没有UNIX是开放源代码,而Linux不是Unix。与FreeBSD不同,后者是直接后代,曾经包含ATT UNIX代码,而Linux没有直接连接,并且仅类似于Unix。OSX是UNIX。
罗布

1
@Rob FreeBSD不再包含ATT代码:这就是使它免费的原因。它没有比Linux或MINIX或OSF / 1拥有更多或更少的Unix名称。
吉尔(Gilles)'所以

1
@Rob-请网站参考。我敢肯定,您的意思并不是说听起来像是一个巨魔,而是至少8点。)整个Linux Unix辩论已经在这里讨论了。请参见以下线程:unix.stackexchange.com/questions/4091/is-linux-a-unix。我觉得这种说法很累人。就像争论如何发音tomato。
slm

@吉尔斯我怎么说都不对?您为什么需要对此发表评论?
罗布

@slm我仅对您的评论“不是所有的Unix都是开放源代码”的,但实际上没有Unix是开放源代码的。UNIX是商品名,验证和认证。这也意味着某种程度的POSIX合规性Linux和其他系统无法验证(但OSX可以)。除了UNIX是UNIX而且Linux不是UNIX(您的帖子似乎在说iirc)以外,我没有在争论任何其他事情。(我不知道以前的线程或任何其他线程
Rob

3

通常,我们通常所说的操作系统是涉及内核的软件的组合,该内核的工作是管理计算机的资源以及运行在内核之上的某些应用程序,称为用户区(包括浏览器,编译器, pdf阅读器,不是内核,驱动程序或vm虚拟机管理程序的任何东西)。

没有一定的历史背景,就不能回答这个问题的其余部分。理查德·斯托曼(Richard Stallman)于1983年9月27日宣布了GNU项目。该项目的目的是提供开发UNIX之类的操作系统所需的软件(以及附带的用户领域)作为免费软件。到1992年,GNU工程几乎完成了对其软件必不可少的所有部分-除了其中之一:内核。同时,Linus Torvalds 作为免费软件发布了他的内核 Linux(版本0.12),并获得了GPL许可。因此,有可能第一次运行(几乎)完全由自由软件组成的计算机。

Linux(如上所述)是一个内核,尽管它是允许您使用计算机的软件的最终基础,但它并不是唯一有用的工具。您应该将其与某种应用程序(用户区)配对以使其运行。这就是Debian或Ubuntu等GNU / Linux发行版的功能。

值得一提的是,内核既重要又无关紧要。请允许我解释。大多数使用计算机的人都习惯于用户域而不是内核。内核大部分是透明的,大多数人会使用具有相同用户域的另一个内核,甚至可能不会注意到差异(当然,除非它们取决于特定内核提供的功能)。

因此,当您使用Linux时,您确实在使用GNU操作系统的实现。这就是Linux内核和GNU用户区(GNOME,GNU编译器集合,GNU调试器,GNU Coreutils,GNU binutils等)。这就是为什么FSF坚持称其为GNU / Linux(在我看来,这是一个公平的要求)。

当然,您可以使用不带GNU用户界面的Linux(提示:Android,Busybox),当然也可以在其他内核(kfreebsd,hurd等)之上使用GNU用户界面。

至于Unix是开放源代码之类的,这是一个涉及很多争论的问题。但是,您可能会在这里找到一些有用的信息


2

linux内核是一个为操作系统提供以下功能的程序:

   linux内核映射图

图片的原始链接: http : //www.makelinux.net/kernel_map/

内核是必不可少的,在它之上您还具有实用程序和所有其他打包的软件。完整操作系统和内核之间的差异等于软件的其余部分以及发行维护人员如何将其组合在一起。

这些维护者并不一定需要制作所有额外的软件,他们有时会对其进行组装和修改,然后将它们组合在一起以提供当今大多数人所需要的Linux体验-他们添加了“味道”,可以这么说,并且经常出现沿袭到非常成熟的发行版(例如Debian和Redhat等)。问题是,Linux发行版中打包的大部分初始实用程序和软件都包括改编自GNU项目的软件。在Linux内核发明之前,GNU项目就使用它们的资源将许多软件组合在一起。它是免费的,并且许多软件都帮助建立了Linux的流行,因为它们都是由GPL许可证链接的免费和开源软件。libc框架,Gnome桌面和gcc编译器是GNU维护的软件的示例。

这当然不是小事,承认这不应该是政治性的,但双方都有声音,而且存在辩论。无论实际应用是什么,在我们使用的发行版及其创建者中更多地了解软件的历史都是一项有效的努力。


您可以提供原始图片的链接吗?
heinrich5991

1
@ heinrich5991-我将链接添加到原始链接。
slm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.