成年帝企鹅和小鸡。

Linux的灵感来自Unix,但Linux不是Unix,尽管它肯定像Unix。我们将解释这两个著名的操作系统之间的主要区别。

一样的差异?

Linux是一个免费的开源操作系统。Unix是一种商业产品,由许多供应商提供,每个供应商都有自己的变体,通常专用于自己的硬件。这是昂贵且封闭的资源。但是Linux和Unix以相同的方式或多或少地做同一件事,对吗?或多或少,是的。

细微之处更加复杂。除了技术和体系结构之外,还有其他差异。要了解影响Unix和Linux的某些因素,我们需要了解它们的背景知识。

Unix的起源

Unix已有50多年的历史了。它是在DEC PDP / 7  上  以  Digital Equipment Corporation  (DEC)  汇编语言开发的, 是Bell Labs的一个非正式项目  ,然后由AT&T拥有  。它很快被移植到  DEC PDP / 11/20  计算机上,然后稳定地分布在Bell的其他计算机上。C语言的重写   导致1973年的Unix第4版。这很重要,因为C语言和编译器的特性意味着将Unix移植到新的计算机体系结构现在相对容易。

1973年,  Ken Thompson  和  Dennis Ritchie  在一次会议上发表了有关Unix的论文。结果,要求Unix复制的请求涌入了Bell。由于销售操作系统不在AT&T允许的操作范围之内,因此他们不能将Unix视为产品。这导致Unix作为带有许可证的源代码分发。名义成本足以支付运输和包装费用以及“合理的特许权使用费”。Unix是“按原样”出现的,没有技术支持,也没有错误修复。但是您确实获得了源代码,并且可以对其进行修改。

Unix在学术机构中迅速普及。1975年,肯·汤普森(Ken Thompson)在加利福尼亚大学伯克利分校的贝尔学院休假  。与一些研究生一起,他开始添加和改进他们的Unix本地副本。外界对Berkeley附加产品的兴趣增加了,从而导致了Berkeley软件发行版  (BSD)的首次发行  。这是可以添加到现有Unix系统中的程序和系统修改的集合,但它不是独立的操作系统。BSD的后续版本是整个Unix系统。

现在,有两种主要的Unix版本:AT&T流和BSD流。所有其他Unix变体,例如AIX,  HP-UX和Oracle  Solaris,  都是这些变体的  后代。1984年,对AT&T的一些限制被解除,他们得以生产和销售Unix。

Unix随后商业化。

Linux的起源

将Unix的商业化视为对计算机用户可用自由的进一步侵蚀,  Richard Stallman  着手创建基于自由的操作系统。也就是说,可以自由修改源代码,重新分发软件的修改版本以及以用户认为合适的任何方式使用软件。

操作系统将复制Unix的功能,而不包含任何Unix源代码。他将操作系统命名为  GNU,并 于1983年创建了  GNU工程来开发该操作系统。1985年,他成立了  自由软件基金会,  以促进,资助和支持GNU项目。

除了内核之外,GNU操作系统的所有领域都取得了良好的进展。GNU项目开发人员正在开发一个名为GNU Hurd的微内核  ,但进展缓慢。(今天它仍在开发中,并且即将发布。)没有内核,就不会有操作系统。

1987年,安德鲁·S·塔内鲍姆(  Andrew S. Tanebaum)  发布了一种名为  MINIX  (微型Unix)的操作系统,作为学习操作系统设计的学生的教学帮助。MINIX是一个功能性的,类似于Unix的操作系统,但它有一些限制,尤其是在文件系统方面。毕竟,源代码必须足够小,以确保在单个大学学期中能充分覆盖源代码。必须牺牲一些功能。

为了更好地了解 新PC中Intel  80386的内部工作原理  ,一名叫Linus Torvalds的计算机科学专业的学生   编写了一些简单的任务切换代码作为学习练习。最终,此代码成为基本的原型内核,成为了第一个Linux内核。Torvalds熟悉MINIX。实际上,他的第一个内核是使用Richard Stallman的GCC编译器在MINIX上开发的。

Torvalds决定制作自己的操作系统,以克服为教学而设计的MINIX的局限性。1991年,他 在MINIX Usenet  小组上  发表了  著名的公告,征求有关他的项目的意见和建议。

Linux实际上并不是Unix的  克隆。如果Linux是Unix的克隆,那就是Unix。不,它类似于 Unix 。“克隆”一词意味着将原件的一小部分种植到原件的新的逐单元复制品中。Linux是重新创建的,具有Unix的外观和感觉,并且可以满足相同的需求。它不是一个克隆,而是一个  复制品。

但是,无论哪种方式,Linux都是寻找操作系统的内核。GNU是寻找内核的操作系统。事后看来,接下来发生的事情似乎是不可避免的。它也改变了世界。

谁开发?

一个红色的帽子标志。

Linux发行版是从许多不同地方提取的许多不同部分的总和。Linux内核,核心实用程序的GNU套件和用户界面应用程序结合在一起,构成了可行的发行版。就像有人必须开发内核,应用程序和核心实用程序一样,必须由他人来组合,维护和管理。发行版维护者以及每个发行版的社区都在发挥Linux发行版的作用,就像内核开发人员一样。

Linux是无薪志愿者,Canonical和Red Hat等组织以及行业赞助的个人进行分布式协作的结果。

使用内部(或严格控制的外包)开发工具,将每个商业Unix作为单个一致的实体进行开发。通常,它们具有唯一的内核,并且是专门为每个供应商提供的硬件平台设计的。

BSD Unix流的免费和开放源代码衍生版本(例如  FreeBSD,  OpenBSD和  DragonBSD)  使用旧版BSD代码和新代码的组合。它们现在是社区支持的项目,并且像Linux发行版一样进行管理。

标准与合规

通常,Linux既不   符合Single Unix Specification(SUS),也不 符合POSIX。它试图满足这两个标准而不是它们的奴隶。一两个例外,实际上是一两个例外,例如  Inspur K-UX,这是一种符合POSIX的中文Linux。

像商业产品一样,真正的Unix    合规的。某些BSD衍生产品(包括除一个版本的macOS之外的所有版本)均符合POSIX。变体名称(例如AIX,HP-UX和Solaris)均为其各自组织的商标。

商标和版权

Linux是Linus Torvalds的注册商标。在  Linux基金会  管理代表他的商标。Linux内核和核心实用程序在各种GNU  “ copyleft”  通用公共许可证下发布。源代码是免费提供的。

Unix是Open Group的注册商标  。它是受版权保护的,专有的并且是开源的。

FreeBSD由FreeBSD Project拥有版权  ,并且源代码可用。

使用差异

从用户体验的角度来看,在命令行上并没有很多明显的区别。由于POSIX标准和合规性,可以以有限的移植工作量为Linux操作系统编译用Unix编写的软件。例如,在许多情况下,只需很少或不做任何修改,便可以直接在Linux上使用Shell脚本。

某些命令行实用程序的命令行选项略有不同,但是在任何一个平台上都可以使用基本上相同的工具库。实际上,  IBM的  AIX拥有一个用于Linux应用程序的  AIX工具箱。这使系统管理员可以安装数百个GNU软件包(例如Bash,GCC等)。

和Linux一样,不同的Unix风格具有不同的  图形用户界面  (GUI)。熟悉GNOME  或  Mate的 Linux用户   将在第一次遇到KDE  或  Xfce时必须有自己的方式  ,但是他们很快就会掌握它。它与Unix上可用的GUI范围类似,例如  Motif,  Common Desktop Environment和  X Windows System。它们都非常相似,以至于熟悉带有对话框,菜单和图标的窗口环境概念的任何人都可以浏览。

您将在管理系统时了解有关差异的更多信息。例如,有不同的  初始化机制。System V Unix和BSD流的派生具有不同的init系统。免费的BSD变体保留了BSD初始化方案。默认情况下,Linux发行版将使用源自Unix System V的init系统或  systemd

变速杆与自动变速

如果您可以驾驶一个,就可以驾驶另一个,即使开始时会有些停步。

撇开价格,与grep的一种版本和另一种版本之间的命令行标志的差异相比,理念,许可,开发模式,社区组织以及治理类型和样式方面的差异更大,更重要  。

最大的差异不是您在屏幕上看到的差异。

Linux和Unix有什么区别?
Tagged on:

发表评论

电子邮件地址不会被公开。 必填项已用*标注