什么是Unix,它为什么重要?

大多数操作系统可以分成两个不同的系列。除了微软基于Windows NT的操作系统之外,几乎所有其他操作系统都可以追溯到Unix。

PlayStation4上使用的Linux、Mac OS X、Android、iOS、Chrome OS、Orbis OS,无论您的路由器上运行的是什么固件--所有这些操作系统通常被称为“类Unix”操作系统。

Unix的设计活在今天

相关:在Linux中“一切都是文件”是什么意思?

Unix是在20世纪60年代中后期由AT&T的贝尔实验室开发的,最初发布的Unix有一些重要的设计属性至今仍在流传。

一种是创建小型模块化实用程序的“Unix哲学”,这些实用程序只做一件事,而且做得很好。如果您熟悉Linux终端的使用,那么您应该对此很熟悉-系统提供了许多实用程序,这些实用程序可以通过管道和其他功能以不同的方式组合起来,以执行更复杂的任务。即使是图形程序也可能在后台调用更简单的实用程序来完成繁重的任务。这也使得创建shell脚本变得很容易,将简单的工具串联在一起来做复杂的事情。

UNIX也有一个单一的文件系统,程序可以使用它来相互通信。这就是为什么Linux上的“一切都是文件”--包括硬件设备和提供系统信息或其他数据的特殊文件。这也是为什么只有Windows才有从DOS继承的驱动器号-在其他操作系统上,系统上的每个文件都是单个目录层次结构的一部分。

追溯Unix后代

就像40多年前的任何历史一样,Unix及其后代的历史是杂乱无章的。为简化起见,我们可以将Unix的后代大致分为两组。

学术界发展了一批Unix的后代。第一个是BSD(Berkeley Software Distribution),一个开源的类Unix操作系统。BSD今天通过FreeBSD、NetBSD和OpenBSD得以延续。NextStep也是基于最初的BSD,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其他操作系统,包括PlayStation 4上使用的Orbis OS,都是从BSD操作系统的类型派生出来的。

相关:大辩论:是Linux还是GNU/Linux?

理查德·斯托尔曼(Richard Stallman)的GNU项目也是对美国电话电报公司(AT&T)日益严格的Unix软件许可条款的回应。Minix是为教育目的而创建的类似Unix的操作系统,而Linux的灵感来自Minix。我们今天知道的Linux实际上是GNU/Linux,因为它由Linux内核和许多GNU实用程序组成。GNU/Linux不是BSD的直接后代,但它是Unix设计的后代,并植根于学术界。今天的许多操作系统,包括Android、Chrome OS、Steam OS,以及大量用于设备的嵌入式操作系统,都是基于Linux的。

另一方面,还有商业Unix操作系统。AT&T UNIX、SCO UnixWare、Sun Microsystems Solaris、HP-UX、IBM AIX、SGI IRIX-许多大公司都想创建和许可自己的Unix版本。这些在今天已经不是很常见了,但其中一些仍然存在。

图片来源:Wikimedia Commons

DOS和Windows NT的兴起

相关:为什么Windows使用反斜杠,而其他所有东西都使用正斜杠

很多人预计Unix会成为行业标准操作系统,但DOS和“IBM PC兼容”电脑最终大受欢迎,微软的DOS成为其中最成功的DOS。DOS根本不是基于Unix的,这就是为什么Windows对文件路径使用反斜杠,而其他所有文件路径都使用正斜杠。这个决定是在DOS的早期做出的,后来的Windows版本继承了它,就像BSD、Linux、MacOSX和其他类似Unix的操作系统继承了Unix设计的许多方面一样。

Windows3.1、Windows95、Windows98和WindowsME都是基于底层的DOS。当时,微软正在开发一种更现代、更稳定的操作系统,他们将其命名为Windows NT,意思是“Windows新技术”。Windows NT最终以Windows XP的形式提供给普通计算机用户,但在此之前,公司也可以使用Windows 2000和Windows NT。

今天微软的所有操作系统都是基于Windows NT内核的。Windows 7、Windows 8、Windows RT、Windows Phone 8、Windows Server和Xbox One的操作系统都使用Windows NT内核。与大多数其他操作系统不同,Windows NT不是作为类似Unix的操作系统开发的。

当然,微软并不是白手起家。为了保持与DOS和旧的Windows软件的兼容性,Windows NT继承了许多DOS约定,如驱动器号、文件路径的反斜杠和命令行开关的正斜杠。

为什么这很重要

你有没有看过MacOSX终端或文件系统,注意到它与Linux有多么相似,而它们与Windows又有多么不同?这就是为什么-Mac OSX和Linux都是类似Unix的操作系统。

了解这段历史有助于您理解什么是“类Unix”操作系统,以及为什么这么多操作系统看起来如此相似,而Windows却如此不同。这就解释了为什么MacOSX上的终端对于Linux极客来说会如此熟悉,而Windows上的命令提示符和PowerShell却与其他命令行环境如此不同。

这只是一段简短的历史,它将帮助你理解我们是如何在没有陷入细节的情况下走到今天的位置的。如果你想了解更多信息,你可以找到关于Unix历史的整本书。

图片来源:Flickr上的Peter Hamer,Flickr上的Takuya Oikawa,Flickr上的CJ Sorg

相关文章