如果你是位二、三十岁的软件开发人员,那么你已经成长在一个由Linux主导的世界。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额报告,但Linux的数据中心操作系统份额可能高达70%,而Windows及其变体几乎涵盖了所有剩余的百分比。
使用任何主流公共云服务的开发人员都可以预期目标系统会运行Linux。近些年来,随着Android和基于Linux的嵌入式系统在智能手机、电视、汽车和其他设备中的应用,Linux已经随处可见。
即便如此,大多数软件开发人员,甚至是那些在这场历史悠久的 “Linux 革命”中长大的软件开发人员,也都听过说Unix。它听起来与Linux相似,你可能已经听到人们互换使用这些术语。或者你也许听说过Linux被称为“类Unix”操作系统。
那么,Unix是什么?漫画中提到了像巫师一样留着“灰胡子”,坐在发光的绿色屏幕后面,写着 C 代码和 shell 脚本,由老式的、滴灌的咖啡提供动力。
但是,Unix的历史比上世纪70年代那些留着胡子的 C 程序员要丰富得多。虽然详细介绍Unix历史和 “Unix 与 Linux” 比较的文章比比皆是,但本文将提供高级背景和列出这些互补世界之间的主要区别。
Unix的起源
Unix的历史始于20世纪60年代后期的AT&T贝尔实验室,有一小组程序员希望为PDP-7编写一个多任务、多用户操作系统。这个贝尔实验室研究机构的团队中最著名的两名成员是Ken Thompson和Dennis Ritchie。
尽管Unix的许多概念都是其前身(Multics)的衍生物,但Unix团队早在70年代就决定用C语言重写这个小型操作系统,这是将Unix与其他操作系统区分开来的原因。
当时,操作系统很少,更不要说可移植的操作系统。相反,由于它们的设计和底层语言的本质,操作系统与他们所编写的硬件平台紧密相关。而通过 C 语言重构 Unix、Unix现在可以移植到许多硬件体系结构中。
除了这种新的可移植性,之所以使得 Unix 迅速扩展到贝尔实验室以外的其他研究和学术机构甚至商业用途,是因为操作系统设计原则的几个关键点吸引了用户和程序员们。
首先是 Ken Thompson 的 Unix 哲学成为模块化软件设计和计算的强大模型。Unix 哲学推荐使用小型的、专用的程序组合起来完成复杂的整体任务。由于 Unix 是围绕文件和管道设计的,因此这种“管道”模式的输入和输出程序的组合成一组线性的输入操作,现在仍然流行。
事实上,目前的云功能即服务(FaaS)或无服务器计算模型要归功于Unix哲学的许多传统。
快速增长和竞争
到70年代末和80年代,Unix成为了一个操作系统家族的起源,它遍及了研究和学术机构以及日益增长的商业Unix操作系统业务领域。Unix不是开源软件,Unix源代码可以通过与它的所有者AT&T达成协议来获得许可。第一个已知的软件许可证于 1975 年出售给伊利诺伊大学University of Illinois。
Unix在学术界迅速发展,在Ken Thompson在上世纪 70 年代的学术假期间,伯克利成为一个重要的活动中心。通过在伯克利的各种有关Unix的活动,Unix软件的一种新的交付方式诞生了:伯克利软件发行版Berkeley Software Distribution(BSD)。
最初,BSD不是 AT&T Unix 的替代品,而是一种添加类似于附加软件和功能。在1979年, 2BSD(第二版伯克利软件发行版)出现时,伯克利研究生Bill Joy已经添加了现在非常有名的程序,例如vi和C shell(/bin/csh)。
除了成为Unix家族中最受欢迎的分支之一的BSD之外,Unix的商业产品的爆发贯穿了二十世纪八、九十年代,其中包括HP-UX、IBM 的 AIX、 Sun 的 Solaris、 Sequent 和 Xenix 等。
随着分支从根源头发展壮大,“Unix 战争”开始了,标准化成为社区的新焦点。POSIX标准诞生于 1988 年,其他标准化后续工作也开始通过 The Open Group 在 90 年代到来。
在此期间,AT&T 和 Sun 发布了 System V Release 4(SVR4),许多商业供应商都采用了这一版本。
另外,BSD 系列操作系统多年来一直在增长,最终一些开源的变体在现在熟悉的BSD许可证下发布。这包括 FreeBSD、 OpenBSD 和 NetBSD,每个在 Unix 服务器行业的目标市场略有不同。这些 Unix 变体今天仍然有一些在使用,尽管人们已经看到它们的服务器市场份额缩小到个位数字(或更低)。
在当今的所有Unix系统中,BSD可能拥有最大的安装基数。另外,每台Apple Mac硬件设备从历史的角度看都可以算做是BSD ,这是因为OS X(现在是 macOS)操作系统是BSD衍生产品。
虽然Unix的全部历史及其学术和商业变体可能需要更多的篇幅,但为了我们文章的重点,让我们来讨论Linux的兴起。
进入Linux
今天我们所说的Linux操作系统实际上是90年代初期的两个努力的结合。Richard Stallman希望创建一个真正的自由而开放源代码的专有Unix系统的替代品。他正在以GNU的名义开发实用程序和程序,这是一种递归的说法,意思是“GNU‘s not Unix!”。
虽然当时有一个内核项目正在进行,但事实证明这是一件很困难的事情,而且没有内核,自由和开源操作系统的梦想无法实现。
而这是 Linus Torvald 的工作 —— 生产出一种可工作和可行的内核,他称之为 Linux -- 它将整个操作系统带入了生活。鉴于 Linus 使用了几个GNU 工具(例如 GNU 编译器集合,即 GCC),GNU工具和Linux内核的结合是完美的搭配。
Linux发行版采用了GNU的组件、Linux 内核、MIT 的 X-Windows GUI以及可以在开源 BSD 许可下使用的其它 BSD 组件。
像 Slackware 和 Red Hat 这样的发行版早期的流行给了 20 世纪 90 年代的“普通 PC 用户”一个进入 Linux 操作系统的机会,并且让他们在工作和学术生活中可以使用许多 Unix 系统特有的功能和实用程序。
由于所有 Linux 组件都是自由和开放的源代码,任何人都可以通过一些努力来创建一个Linux发行版,所以不久后发行版的总数达到了数百个。
今天,distrowatch.com列出了 312 种各种形式的独特的 Linux 发行版。当然,许多开发人员通过云提供商或使用流行的免费发行版来使用Linux,如 Fedora、 Canonical 的 Ubuntu、 Debian、 Arch Linux、 Gentoo 和许多其它变体。
随着包括IBM在内的许多企业从专有Unix迁移到Linux上并提供了中间件和软件解决方案,商用Linux产品在自由和开源组件之上提供支持变得可行。
红帽公司围绕Red Hat Enterprise Linux(红帽企业版 Linux) 建立了商业支持模式,德国供应商 SUSE 使用 SUSE Linux Enterprise Server(SLES)也提供了这种模式。
比较Unix和Linux
到目前为止,我们已经了解了Unix的历史以及Linux的兴起,以及GNU/自由软件基金会对 Unix 的自由和开源替代品的支持。让我们来看看这两个操作系统之间的差异,它们有许多共同的传统和许多相同的目标。
从用户体验角度来看,两者差不多!Linux的很大吸引力在于操作系统在许多硬件体系结构(包括现代 PC)上的可用性以及类似使用Unix系统管理员和用户熟悉的工具的能力。
由 POSIX的标准和合规性,在Unix上编写的软件可以针对Linux操作系统进行编译,通常只有少量的移植工作量。在很多情况下,Shell脚本可以在Linux上直接使用。虽然一些工具在Unix和Linux之间有着略微不同的标志或命令行选项,但许多工具在两者上都是相同的。
一方面要注意的是,macOS硬件和操作系统作为主要针对Linux的开发平台的流行可能归因于类BSD的macOS操作系统。许多用于 Linux 系统的工具和脚本可以在macOS终端内轻松工作。Linux上的许多开源软件组件都可以通过Homebrew等工具轻松获得。
Linux和Unix之间的其他差异主要与许可模式有关:开源与专有许可软件。
另外,在Unix发行版中缺少一个影响软件和硬件供应商的通用内核。对于Linux,供应商可以为特定的硬件设备创建设备驱动程序,并期望在合理的范围内它可以在大多数发行版上运行。
由于Unix家族的商业和学术分支,供应商可能必须为Unix的变体编写不同的驱动程序,并且需要许可和其他相关的权限才能访问 SDK 或软件的分发模型,以跨越多个二进制设备驱动程序的 Unix 变体。
随着这两个社区在过去十年中的成熟,Linux的许多优点已经在Unix世界中被采用。
当开发人员需要来自不属于Unix的GNU程序的功能时,许多 GNU 实用程序可作为 Unix 系统的附件提供
。例如,IBM 的 AIX 为 Linux 应用程序提供了一个 AIX Toolbox,其中包含数百个 GNU 软件包(如 Bash、 GCC、 OpenLDAP 和许多其他软件包),这些软件包可添加到 AIX 安装包中以简化 Linux 和基于 Unix 的 AIX 系统之间的过渡。
专有的Unix仍然活着而且还不错,许多主要供应商承诺支持其当前版本,直到2020年。
不言而喻,Unix还会在可预见的将来一直出现。此外,Unix的BSD分支是开源的,而 NetBSD、 OpenBSD 和 FreeBSD 都有强大的用户基础和开源社区,它们可能不像 Linux 那样显眼或活跃,但在最近的服务器报告中,在 Web 服务等领域它们远高于专有 Unix 的数量。
Linux已经显示出其超越 Unix 的显著优势在于其在大量硬件平台和设备上的可用性。
树莓派Raspberry Pi受到业余爱好者的欢迎,它是由Linux驱动的,为运行Linux的各种物联网设备打开了大门。我们已经提到Android 设备,汽车(包括 Automotive Grade Linux)和智能电视,其中 Linux 占有巨大的市场份额。
这个星球上的每个云提供商都提供运行Linux的虚拟服务器,而且当今许多最受欢迎的原生云架构都是基于 Linux 的,无论你是在谈论容器运行时还是 Kubernetes,或者是许多正在流行的无服务器平台。
其中一个最显著的代表 Linux的优势是近年来微软的转变。如果你十年前告诉软件开发人员,Windows操作系统将在2016 年“运行 Linux”,他们中的大多数人会歇斯底里地大笑。
但是 Windows Linux子系统(WSL)的存在和普及,以及最近宣布的诸如 Docker 的 Windows 移植版,包括 LCOW(Windows 上的 Linux 容器)支持等功能都证明了 Linux 在整个软件世界中所产生的影响 —— 而且显然还会继续存在。
相关资讯
最新热门应用
非小号交易平台官网安卓版
其它软件292.97MB
下载币交易所地址
其它软件274.98M
下载iotx交易所app
其它软件14.54 MB
下载zt交易所安卓最新版
其它软件273.2 MB
下载币拓交易所bittok
其它软件288.1 MB
下载u币交易所平台app
其它软件292.97MB
下载热币全球交易所app官网版
其它软件287.27 MB
下载多比交易平台app
其它软件28.28MB
下载币赢交易所app官网安卓版
其它软件14.78MB
下载toncoin币交易所安卓版
其它软件48MB
下载