it-swarm.cn

Linux是Unix吗?

因此,存在许多不同版本的Unix:HP-UX,AIX,BSD等。Linux被认为是Unix的克隆,而不是Unix的实现。所有“真正的” Unices都是原始的真正后代吗?如果没有,Linux和Unix的区别是什么?

194
Shawn J. Goff

那取决于您所说的“ Unix”和“ Linux”的含义。


  • 严格来说, Linux 是一个操作系统内核,其设计类似于Unix的内核。

  • Linux 最常用作使用Linux作为其内核的类Unix操作系统的名称。由于内核之外的许多工具都是 GNU项目 的一部分,因此此类系统通常称为 GNU/Linux 。所有主要的 Linux发行版 均由GNU/Linux和其他软件组成。

  • 有些基于Linux的类Unix系统不使用许多GNU)工具,尤其是在嵌入式世界中,但我认为其中没有一个可以使用GNU开发工具,尤其是 [〜#〜] gcc [〜#〜]

  • 有些操作系统以Linux为内核,但不像Unix。最著名的是 Android ,它没有类似Unix的用户体验(尽管您可以安装类似Unix的命令行)或管理员经验,或者(主要是)程序员经验(“本机” ” Android程序使用的API与Uni​​x完全不同)。

227

出于所有目的和目的,典型的现代Linux发行版(Ubuntu,Debian,Red Hat,Fedora,Slackware等)是Unix,但严格来说,没有任何系统可以未经认证就声称是Unix,所以人们说他们是Unix。类似于Unix。他们受到Unix的启发,并继续其文化。

这也适用于BSD系统。

Mac OS X已通过Unix认证,因此无论从名称上还是实际上都是Unix。 (它实际上是基于BSD的)。

应该注意的是,由于Linux本身只是一个内核,因此可以用来构建非类Unix系统(例如Android)。

60
hasen

Linux更像Unix,因此简单地说,您可以将其称为克隆,BSD也是如此(尽管公认BSD比Linux更接近Unix)。

使Linux具有类Unix标题的主要事实是它几乎完全兼容w [〜#〜] posix [〜#〜] (便携式操作系统接口[用于Unix])随着时间而建立的标准。

另一个关键问题是 代码的继承性 ,如Wikipedia上所示,Linux实际上并非源自Unix来源,而是从头开始构建的(然而,这是有争议的)。

因此,从本质上讲,将Unix与Linux分开的主要因素是它的祖先及其所遵循的标准。

23
N J

选择的答案对它进行了详尽的解释,但是您必须观看整个纪录片,以了解UNIX初始开发与Linux发行之间的所有详细信息。

首先,您必须考虑Linux是内核,它是由linus和其他程序员制作的。他选择随GPL一起发布它,当时GPL是FSF(RMS和其他人员)颁发的许可证,他们也正在开发自己的内核和GNU。

首先,我们通常所说的Linux是内核,以及最初来自GNU项目。)的所有其他工具。这两个项目在历史上是不同的,因为当时,FSF的内核人们放弃了使用Linux内核,而后者要好得多。

我记得有一部纪录片,您应该认真观看,我发现它对您的编程文化很重要。

考虑“ * nix”时,您还必须考虑的另一件事是,所有内容都涉及POSIX和其他体系结构标准化的内容。它是OS设计/研究的主题,但它精确地定义了所涉及OS的工作方式,并且在您的内核使用其工具正常工作时至关重要。

11
jokoon

已经有很多不错的答案,但是我认为,伟大的 的观点Dennis Ritchie (Unix的共同创造者)将是对其他观点的有趣补充。更多技术答案。

似乎Dennis Ritchie认为Linux是合法的Unix派生产品。在1999年 对LinuxFocus.org 的采访中,他被问到,

您对所有Linux势头有何看法,以及许多公司开始为其开发软件的决定是什么?

他对这个问题的回答是

我认为Linux现象非常令人愉悦,因为它在Unix提供的基础上吸引了很多人。 Linux似乎是最直接的Unix衍生版本中最健康的版本,尽管也有各种BSD系统以及工作站和大型机制造商提供的更正式的产品。我忍不住要观察,当然,“自由” Unix派生的世界似乎正遭受着与商业世界中已经发生并仍在发生的完全相同的分裂和冲突。

6
Anthony Geoghegan

从历史上看,Linus Torvalds创建了Minix OS的改进克隆。 Linux的开发并不专注于特定的平台和客户群,Linux开发人员具有多种经验和观点。对于供应商来说,诸如HP-UX,AIX,Solaris之类的OS大多已得到改进。

在Linux社区中,没有严格的标准工具或环境集。缺乏标准化导致Linux内部出现严重的不一致。对于某些开发人员而言,具有使用其他操作系统的最佳性能的能力是一个加号,但是在Linux上复制UNIX元素并不总是很方便,例如,当Linux内的设备名称可以从AIX提取时,而用于使用文件系统的工作重点是HP-UX。在不同的Linux发行版之间也发现了这种不兼容性。

1
Quarind

Unix,最初是UNICS(非复杂信息和计算服务)。

Unix (商标为UNIX)是从原始AT&T Unix派生的多任务,多用户计算机操作系统家族。开发工作始于1969年,并于1973年10月在Bell Abs外面宣布。

来自加利福尼亚大学伯克利分校(BSD),微软(Xenix),IBM(AIX)和Sun Microsystems(Solaris)等供应商的Unix的学术和商业变体。

  • [〜#〜] bsd [〜#〜][〜#〜] b [〜#〜]erkeley[〜#〜] s [〜#〜]软件[〜#〜] d [〜#〜]发行版)为正在进行的多个开源开发项目提供了基础,例如FreeBSD,OpenBSD,NetBSD,Darwin和TrueOS。
  • Xenix是Microsoft许可的用于各种微型计算机平台的Unix操作系统的已停产版本。
  • AIX([〜#〜] a [〜#〜]进阶[〜#〜] i [〜# 〜]交互式e[〜#〜] x [〜#〜]ecutive)由IBM开发并出售它的几个计算机平台。

Linux 是围绕Linux内核构建的一系列免费和开源软件操作系统.Linux的定义组件是Linux内核,即Linus Torvalds于1991年9月17日首次发布的操作系统内核。

Linux以称为Linux发行版(或简称发行版)的形式打包,供台式机和服务器使用。一些最受欢迎和主流的Linux发行版包括Arch Linux,CentOS,Debian,Fedora,Gentoo Linux,Linux Mint,Mageia,openSUSE和Ubuntu,以及诸如Red Hat Enterprise Linux的商业发行版。

用户界面,也称为命令行管理程序,是命令行界面(CLI),图形用户界面(GUI)或通过连接到关联硬件的控件(对于嵌入式系统来说是常见的)。对于台式机系统,默认模式通常是图形用户界面,尽管通常可通过终端仿真器窗口或在单独的虚拟控制台上使用CLI。

  • CLI shell是基于文本的用户界面,它们使用文本作为输入和输出。 Linux中使用的主要Shell是Bourne-Again Shell(bash),最初是为GNU)项目开发的。
  • GUI外壳是K桌面环境(KDE),GNOME,MATE,Cinnamon,Unity,LXDE,Pantheon和Xfce,尽管存在许多其他用户界面。最流行的用户界面基于X窗口系统,通常简称为“ X”。

[〜#〜] gnu [〜#〜] 是一个操作系统,是计算机软件的大量集合。 GNU全部由自由软件组成,其中大多数软件都是根据GNU Project自己的GPL许可的。GNU是递归的选择“ GNU的非Unix!”的首字母缩写,是因为GNU的设计类似于Unix,但与Unix有所不同,它是自由软件且不包含Unix代码。GNU操作系统的开发由理查德·斯托曼(Richard Stallman)于1983年在麻省理工学院(MIT)人工智能实验室工作。

基本组件包括GNU编译器集合(GCC),GNU C库(glibc)和GNU核心实用程序(coreutils),还有GNU调试器(GDB),GNU Binary Utilities(binutils),GNU Bash Shell和GNOME桌面环境。

0
Premraj