大多數(shù)操作系統(tǒng)可以被劃分到兩個(gè)不同的家族。除了微軟的基于Windows NT的操作系統(tǒng)外,幾乎所有其他的都可以追溯到Unix。 Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上運(yùn)行的Orbis OS,運(yùn)行在路由器上的各種固件,所有這些操作系統(tǒng)通常都被稱為“類Unix”操作系統(tǒng)。
Unix的設(shè)計(jì)現(xiàn)在都還在應(yīng)用
Unix在20世紀(jì)60年代中晚期誕生于ATT的貝爾實(shí)驗(yàn)室中。最初發(fā)布的Unix中的一些重要設(shè)計(jì)因素到如今都還在使用。
其中一個(gè)設(shè)計(jì)是“Unix哲學(xué)”,建立小的模塊化的應(yīng)用,只做一件事情并把它做好。如果你對(duì)Linux終端很熟悉的話,應(yīng)該對(duì)這個(gè)不陌生-系統(tǒng)提供了大量的應(yīng)用,可以通過管道或其他特性形成不同的組合來完成更復(fù)雜的任務(wù)。甚至圖形界面程序也經(jīng)常會(huì)在后臺(tái)調(diào)用更簡(jiǎn)單的應(yīng)用去做比較耗時(shí)的任務(wù)。這種模式也讓建立終端腳本更為簡(jiǎn)單,通過文本把一些簡(jiǎn)單工具結(jié)合起來去做復(fù)雜的事情。
Unix還設(shè)計(jì)了一個(gè)單一的文件系統(tǒng),程序可以通過它互相通訊。這也是為什么在Linux里說“一切都是文件”-包括硬件設(shè)備文件,和提供系統(tǒng)信息及其他數(shù)據(jù)的特殊文件。這也是為什么只有Windows系統(tǒng)中才有磁盤盤符,這是從DOS繼承過來的-在其他操作系統(tǒng)中,所有文件都是一個(gè)單一目錄結(jié)構(gòu)中的一部分。
那些從Unix派生出的系統(tǒng)
類似任何可以往前追溯40年的歷史,Unix的歷史和它的派生系統(tǒng)一片混亂。為了簡(jiǎn)單,我們把Unix的派生系統(tǒng)大致分成兩組。
一組Unix派生系統(tǒng)是學(xué)術(shù)界開發(fā)的。
首 先是BSD(伯克利軟件發(fā)布版),一個(gè)開源的類Unix操作系統(tǒng)。BSD如今還存在于FreeBSD,NetBSD和OpenBSD等系統(tǒng)中。 NeXTStep基于最初版的BSD開發(fā),蘋果的Mac OS X基于NeXTStep,iOS基于Mac OS X。許多其他操作系統(tǒng),包括運(yùn)行在PlayStation 4上的Orbis OS,也源于各種BSD操作系統(tǒng)。
Richard Stallman建立GNU項(xiàng)目的目的是為了反對(duì)ATT的Unix軟件協(xié)議條款日漸嚴(yán)格的限制。MINIX是一個(gè)類Unix操作系統(tǒng),為教育目的而實(shí)現(xiàn)的,而Linux則是受到了MINIX的啟發(fā)。我們今天所熟悉的Linux其實(shí)應(yīng)該叫GNU/Linux, 因?yàn)樗怯蒐inux內(nèi)核和大量GNU應(yīng)用組成的。GNU/Linux不是直接從BSD繼承下來的,但是它繼承了Unix的設(shè)計(jì)而且根植于學(xué)術(shù)界。如今許 多操作系統(tǒng),包括Android,Chrome OS,Steam OS,以及數(shù)量巨大的在各種設(shè)備上使用的嵌入式操作系統(tǒng),都基于Linux。
另 一組是商用的Unix操作系統(tǒng)。ATT UNIX,SCO UnixWare,Sun Microsystem Solaris,HP-UX,IBM AIX,SGI IRIX-許多大型企業(yè)都希望建立并授權(quán)自己版本的Unix。它們?nèi)缃癫⒉怀R?,但其中一些仍然存在?/p>
圖片致謝: Wikimedia Commons
DOS和Windows NT的崛起
許多人希望Unix能夠成為工業(yè)標(biāo)準(zhǔn)操作系統(tǒng),但是DOS和“IBM PC兼容”計(jì)算機(jī)卻最終人氣爆發(fā)而普及開來。微軟的DOS也成為眾多DOS系統(tǒng)中最成功的一個(gè)。DOS完全沒有參照Unix,這也是為什么Windows使用反斜杠劃分文件路徑,而其他所有系統(tǒng)都使用正斜杠。這個(gè)決定是在早期的DOS系統(tǒng)中做出的,而之后的Windows版本繼承了這一設(shè)定,就像BSD,Linux,Mac OS X,和其他類Unix操作系統(tǒng)繼承了許多Unix設(shè)計(jì)因素一樣。
Windows 3.1,Windows 95,Windows 98,和 Windows ME都是建立在DOS的基礎(chǔ)上。當(dāng)時(shí)微軟已經(jīng)在開發(fā)一個(gè)更現(xiàn)代更穩(wěn)定的操作系統(tǒng),叫做Windows NT-意思是“Windows新技術(shù)”。Windows NT最終通過Windows XP應(yīng)用到普通計(jì)算機(jī)用戶中,但是之前它都只用于針對(duì)企業(yè)用戶的Windows 2000和Windows NT。
如今所有微軟的操作系統(tǒng) 都基于Windows NT內(nèi)核。Windows 7,Windows 8,Windows RT,Windows Phone 8,Windows Server,以及Xbox One上的操作系統(tǒng)都在使用Windows NT內(nèi)核。不像其他大多數(shù)操作系統(tǒng)那樣,Windows NT沒有被開發(fā)成一個(gè)類Unix操作系統(tǒng)。
當(dāng)然,微軟也不是完全從零開始的。為了維護(hù)DOS和舊版本W(wǎng)indows軟件的兼容性,Windows NT繼承了許多DOS里的設(shè)定,比如磁盤盤符,反斜杠區(qū)分文件路徑,正斜杠作為命令行參數(shù)開關(guān)。
為什么它影響很大
不知道你有沒有看過Mac OS X終端或是文件系統(tǒng),有沒有注意到它們和Linux是如此相似,而又和Windows是如此不同?好吧,原因是-Mac OS X和Linux兩個(gè)都是類Unix操作系統(tǒng)。
了解了這點(diǎn)歷史,就可以幫助你理解什么是“類Unix”操作系統(tǒng),以及為什么這么多操作系統(tǒng)看起來都差不多,而Windows卻那么與眾不同。這也可以解釋為什么Linux極客對(duì)Mac OS X上的終端會(huì)感覺如此熟悉,而Windows 7上的Command Prompt和PowerShell相對(duì)于其他命令行環(huán)境顯得格格不入。
這只是一點(diǎn)快速掠過的歷史,幫助了解是如何發(fā)展到今天的,而不用陷入到細(xì)節(jié)中。如果你想了解更多,可以找到許多關(guān)于Unix歷史的整本的書籍。
圖片致謝: Peter Hamer on Flickr, Takuya Oikawa on Flickr, CJ Sorg on Flickr
via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/
譯者:zpl1025 校對(duì):wxy
本文由 LCTT 原創(chuàng)翻譯,Linux中國 榮譽(yù)推出