什么是 Unix 以及它为何这么重要?

大多数操做系统能够被划分到两个不一样的家族。除了微软的基于Windows NT的操做系统外,几乎全部其余的均可以追溯到Unix。 Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的各类固件,全部这些操做系统一般都被称为“类Unix”操做系统。linux

135029tpr77rrl7fauzz30.jpg

Unix的设计如今都还在应用shell

Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到现在都还在使用。windows

其中一个设计是“Unix哲学”,创建小的模块化的应用,只作一件事情并把它作好。若是你对Linux终端很熟悉的话,应该对这个不陌生-系统提供了大量的应用,能够经过管道或其余特性造成不一样的组合来完成更复杂的任务。甚至图形界面程序也常常会在后台调用更简单的应用去作比较耗时的任务。这种模式也让创建终端脚本更为简单,经过文本把一些简单工具结合起来去作复杂的事情。svg

Unix还设计了一个单一的文件系统,程序能够经过它互相通信。这也是为何在Linux里说“一切都是文件”-包括硬件设备文件,和提供系统信息及其余数据的特殊文件。这也是为何只有Windows系统中才有磁盘盘符,这是从DOS继承过来的-在其余操做系统中,全部文件都是一个单一目录结构中的一部分。模块化

135030fnsmrq4bryzmgugn.jpg

那些从Unix派生出的系统工具

相似任何能够往前追溯40年的历史,Unix的历史和它的派生系统一片混乱。为了简单,咱们把Unix的派生系统大体分红两组。操作系统

一组Unix派生系统是学术界开发的。命令行

首 先是BSD(伯克利软件发布版),一个开源的类Unix操做系统。BSD现在还存在于FreeBSD,NetBSD和OpenBSD等系统中。 NeXTStep基于最第一版的BSD开发,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其余操做系统,包括运行在PlayStation 4上的Orbis OS,也源于各类BSD操做系统。设计

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。cdn

另 一组是商用的Unix操做系统。AT&T UNIX,SCO UnixWare,Sun Microsystem Solaris,HP-UX,IBM AIX,SGI IRIX-许多大型企业都但愿创建并受权本身版本的Unix。它们现在并不常见,但其中一些仍然存在。

135031yxxiyac5p5icccup.png

图片致谢: Wikimedia Commons

DOS和Windows NT的崛起

许多人但愿Unix可以成为工业标准操做系统,可是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS彻底没有参照Unix,这也是为何Windows使用反斜杠划分文件路径,而其余全部系统都使用正斜杠。这个决定是在早期的DOS系统中作出的,而以后的Windows版本继承了这一设定,就像BSD,Linux,Mac OS X,和其余类Unix操做系统继承了许多Unix设计因素同样。

Windows 3.1,Windows 95,Windows 98,和 Windows ME都是创建在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里的设定,好比磁盘盘符,反斜杠区分文件路径,正斜杠做为命令行参数开关。

135033nk5mvqiv5jr5k5nb.jpg

为何它影响很大

不知道你有没有看过Mac OS X终端或是文件系统,有没有注意到它们和Linux是如此类似,而又和Windows是如此不一样?好吧,缘由是-Mac OS X和Linux两个都是类Unix操做系统。

了解了这点历史,就能够帮助你理解什么是“类Unix”操做系统,以及为何这么多操做系统看起来都差很少,而Windows却那么不同凡响。这也能够解释为何Linux极客对Mac OS X上的终端会感受如此熟悉,而Windows 7上的Command Prompt和PowerShell相对于其余命令行环境显得格格不入。

这只是一点快速掠过的历史,帮助了解是如何发展到今天的,而不用陷入到细节中。若是你想了解更多,能够找到许多关于Unix历史的整本的书籍。

相关文章
相关标签/搜索