我想知道Unix和Linux之间的实际区别是什么。
- 它们共享相同的内核吗?
- Linux是基于Unix构建的吗?
- 为Linux编写的程序是否可以在Unix上运行,反之亦然?
我想知道Unix和Linux之间的实际区别是什么。
Answers:
Unix不是一回事,它是一大批相关操作系统的名称,这些操作系统在不同的程度,历史和体系结构上共享。Solaris,DEC Unix,IRIX,HP-UX是Unix的变体。它们在某种程度上与应用程序兼容,因为它们在不同程度上实现了POSIX标准,这意味着它们公开了相似的命令和API。
它们的内核并不相同,不过,如果您查找“ unix家族树”,您将看到有关这些变体如何像生物体一样相互进化的一段迷人历史。也就是说,雀科和燕子不是同一只动物,但是它们有很多共同点。
Linux是从头开始重写的类Unix操作系统。是否针对一个Unix / Linux编写的程序与针对另一个Unix / Linux编写的程序是一个复杂的问题,但在某些情况下是这样。
要真正理解答案,有助于查看两个操作系统的历史记录。
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系列的名称。
当大多数人谈论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等其他发行版分别更好。
从技术上讲,我认为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的各个部分,而不是人们所期望的那样。
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。它使安装声卡,闪存播放器和其他桌面设备变得容易。最终用户观点
对于普通的最终用户而言,差异并不大。