Unix和Linux有什么区别?[重复]


13

我想知道Unix和Linux之间的实际区别是什么。

  • 它们共享相同的内核吗?
  • Linux是基于Unix构建的吗?
  • 为Linux编写的程序是否可以在Unix上运行,反之亦然?

因为还有谁知道linux和unix源代码?

6
我认为您无需了解Linux和Unix源代码即可了解这两个操作系统的历史。
西蒙·史蒂文斯

也许那时您需要了解Windows和Linux源代码才能将它们称为差异?
Pawka

4
的Linux - > 大号 inux下小号Ñ OT ù NI X :)
ukanth

是的..但是两者的目录结构是如此,您必须深入研究源代码才能理解它们之间的差异,或者至少框图可以显示出差异。.另一方面,Windows的目录结构完全不同,因此我们觉得区别... ...这就是为什么我想知道它..
Xinus

Answers:


22

Unix不是一回事,它是一大批相关操作系统的名称,这些操作系统在不同的程度,历史和体系结构上共享。Solaris,DEC Unix,IRIX,HP-UX是Unix的变体。它们在某种程度上与应用程序兼容,因为它们在不同程度上实现了POSIX标准,这意味着它们公开了相似的命令和API。

它们的内核并不相同,不过,如果您查找“ unix家族树”,您将看到有关这些变体如何像生物体一样相互进化的一段迷人历史。也就是说,雀科和燕子不是同一只动物,但是它们有很多共同点。

Linux是从头开始重写的类Unix操作系统。是否针对一个Unix / Linux编写的程序与针对另一个Unix / Linux编写的程序是一个复杂的问题,但在某些情况下是这样。


21

不,不,是(来源)

要真正理解答案,有助于查看两个操作系统的历史记录。

Unix是Ken Thompson在AT&T贝尔实验室发明的。他的同事Dennis Ritchie做出了贡献,还发明了C语言并编写了C编译器。多年来,UC Berkeley还贡献了代码,并在AT&T,Sun,IBM等公司进行了进一步的工作。

最终在一系列称为POSIX的出版物中对其进行了标准化。总体而言,该代码是专有的,因为它已获得AT&T的版权保护,然后出售或授权给其他公司,这些公司在过去几年中大体上重写了该代码,但保留了各种权利。

在1990年代出现了两个“免费Unix”分支。一个是Linux,它是一个克隆,编写起来像Unix,但不包含任何实际的Unix代码。

今天,另一个分支是NetBSD,随后紧随其后的是FreeBSD,然后很快是您可能听说过的任何其他* BSD。这些项目与Linux有所不同,它们是“部分克隆”。它们包含“真正的Unix”源代码(主要由UC Berkeley免费许可的部分)和一些新编写的“克隆”代码以及其他后来的代码(作为重写的一部分或为支持现代硬件和现代软件而出现)的混合物。 Posix规格。

由于NetBSD和FreeBSD在AT&T和UCB之间的诉讼中纠缠了一段时间,Linux变得更加流行。尽管他们决定支持BSD,但至少从流行方面来看,它们从未从延迟中恢复过来。

所以不,Linux和商业Unix没有任何共同的内核代码,尽管商业Unix和* BSD曾经有很多共同点。来自许可供应商的Unix内核包含他们自己编写的代码,也许到处都是原始的AT&T代码。Linux内核由Linus Torvalds和其他作者编写的代码组成。

“ Unix软件”是写入Posix API的软件,通常可在Unix,Linux,NetBSD和FreeBSD的所有版本上运行。从理论上讲,Posix SW可以在“非Unix”系统上运行,但效果似乎不太好。这些天来,“ Unix”从技术上来说是商标,但通常被非正式地用作商业Unix,Linux和BSD系列的名称。


实际上,就售出的设备而言,BSD Unix最为广泛:它是Mac OS,iPhone和iPad中存在的Apple OS X的核心。
mouviciel 2010年

7

当大多数人谈论unix时,它们的意思是“ Linux,即POSIX兼容的类Unix操作系统”。

它们共享同一个内核吗?不,Linux是内核,而不是操作系统。从技术上讲,Linux发行版使用Linux内核和GNU(请参阅gnu.org)“用户区”。用户域是将大型应用程序和用户任务与内核的低级API桥接的基本程序和库等。

Linux是基于Unix构建的吗?不,这是一个克隆。它旨在在低端台式PC上提供Unix的免费,可用版本。

为Linux编写的程序可以在Unix上运行吗?反之亦然?有时。例如,在FreeBSD上,有一个Linux ABI仿真器,它实际上检测到程序是为Linux编写的,并提供了一组不同的内核调用。Linux可以运行类似的东西来运行标准的Unix System V东西(或者无论如何是一些流行的unix商业版本),但是很少使用,因为大多数程序都是POSIX兼容的源代码,并且可以在Linux上毫无困难地进行编译。而且,大多数用于UNIX的二进制程序都可直接用于Linux。FreeBSD是一个较小的问题,并且没有这种奢侈。在Linux中,从其他系统加载二进制文件的系统最常用于运行Java程序,Windows程序(尽管这是不明智的选择)等。

Unix是商标,因此Linux不能使用该名称。Unix是正式的旧版本(inasmuchas有正式版本),它不是那么用户友好。大部分其他版本的unix都设计得更好一些,但在实际操作中不一定能很好地工作。就是这样。许多曾经运行Unix的公司现在都运行Linux。

如果您想了解各种类似Unix的操作系统之间的差异,请获取一份FreeBSD,OpenSolaris和Debian的副本。我之所以说这些发行版是因为它们比较容易,尽管可以说pc-bsd,nexenta和ubuntu等其他发行版分别更好。


2
Linux不完全符合POSIX。
MDMarra

我可能是错的,但AFAIK确实是这样。它过去曾通过POSIX认证,但获得了ACTUAL认证费用,因此鉴于Linux是一个不断发展的自由软件项目,因此并没有真正做到这一点。发行版(Linux-FT)在90年代后期获得了更高标准的认证(FIPS)。他们打算将其工作扩展到主流内核中。从那时起,出现了LSB(POSIX.1的超集),并且至少有一些发行版采用了LSB。
李B

@unknown海报:我想这些天对Unix的真正测试是SUS-单一Unix规范。据我所知,Linux不符合此要求。不知道这是否只是技术性问题,但我怀疑它是否更多-Linux出于实用性的考虑而开发出于某些原因通常认为不必要的功能可能会很慢。但是,考虑到Linux可能是目前最流行的unix变体,这是否仍然是另一个问题。其他联合国也不得不增加Linux功能,反之亦然。
李B

他们不叫那个* nix吗?
Hello71

2

从技术上讲,我认为GNU / Linux并非比任何正式的UNIX系统都更像 UNIX,但这只是出于法律原因,人们将Linux描述为类似UNIX的操作系统,而不仅仅是“ UNIX”操作系统。

就内核而言,Linux 内核。因此,根据定义,如果系统使用Linux内核,则它是Linux系统,而不是UNIX系统。

Linux是否基于Unix构建

Linux不是在“ Unix”之上构建的,而是作为UNIX克隆构建的。所有各种gnu实用程序(bash等)都是从头开始编写的,作为对应的unix实用程序的克隆。

具有讽刺意味的是,具有UNIX内核的Mac OS X随bash,gcc以及可能的其他GNU实用程序一起提供。因此,这是一个UNIX系统,其中包含GNU的各个部分,而不是人们所期望的那样。



-2

从NixCraft

UNIX是受版权保护的名称仅允许大公司使用UNIX版权和名称,因此IBM AIX,Sun Solaris和HP-UX均为UNIX。Open Group以该行业的信任方式持有UNIX商标,并管理UNIX商标许可计划。Linux是UNIX克隆

但是,如果考虑可移植操作系统接口(POSIX)标准,则可以将Linux视为UNIX。引用官方Linux内核README文件:Linux是Linus Torvalds在网络松散的黑客团队的协助下从头开始编写的Unix克隆。它旨在实现POSIX合规性。Linux只是内核

Linux只是内核。Linux发行版包括GUI系统,安装和管理工具,编译器,编辑器等。

大多数UNIX操作系统都被认为是竞争性操作系统。

就像我之前说的,Linux只是具有Linux发行版的内核,因此它完全可以使用os。大多数UNIX操作系统都带有AZ程序,例如编辑器,编译器等。例如FreeBSD带有AZ程序。执照和费用

Linux是免费的(就像啤酒[freedom]一样)。您将看到最佳的社区支持。许多UNIX操作系统不是免费的(但是它正在快速变化,例如OpenSolaris / Solaris UNIX)。方便使用的

Linux像os一样被认为是大多数用户友好的UNIX。它使安装声卡,闪存播放器和其他桌面设备变得容易。最终用户观点

对于普通的最终用户而言,差异并不大。


关于Linux和FreeBSD的相对成本的错误不在这里引用的内容中。但是,人们不应该相信一种将版权和商标混为一谈,并且将“自由”与“如啤酒中”混为一谈的解释,而这两种错误都是原始的。
JdeBP 2014年
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.