大多數操作系統可以被劃分到兩個不同的家族。除了微軟的基於Windows NT的操作系統外,幾乎所有其他的都可以追溯到Unix。 Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上運行的Orbis OS,運行在路由器上的各種固件,所有這些操作系統通常都被稱為“類Unix”操作系統。
Unix的設計現在都還在應用
Unix在20世紀60年代中晚期誕生於AT&T的貝爾實驗室中。最初發布的Unix中的一些重要設計因素到如今都還在使用。
其中一個設計是“Unix哲學”,建立小的模塊化的應用,只做一件事情並把它做好。如果你對Linux終端很熟悉的話,應該對這個不陌生-系統提供了大量的應用,可以通過管道或其他特性形成不同的組合來完成更復雜的任務。甚至圖形界面程序也經常會在後台調用更簡單的應用去做比較耗時的任務。這種模式也讓建立終端腳本更為簡單,通過文本把一些簡單工具結合起來去做復雜的事情。
Unix還設計了一個單一的文件系統,程序可以通過它互相通訊。這也是為什麼在Linux裡說“一切都是文件”-包括硬件設備文件,和提供系統信息及其他數據的特殊文件。這也是為什麼只有Windows系統中才有磁盤盤符,這是從DOS繼承過來的-在其他操作系統中,所有文件都是一個單一目錄結構中的一部分。
那些從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。
另 一組是商用的Unix操作系統。AT&T UNIX,SCO UnixWare,Sun Microsystem Solaris,HP-UX,IBM AIX,SGI IRIX-許多大型企業都希望建立並授權自己版本的Unix。它們如今並不常見,但其中一些仍然存在。
圖片致謝: 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裡的設定,比如磁盤盤符,反斜槓區分文件路徑,正斜槓作為命令行參數開關。
為什麼它影響很大
不知道你有沒有看過Mac OS X終端或是文件系統,有沒有注意到它們和Linux是如此相似,而又和Windows是如此不同?好吧,原因是-Mac OS X和Linux兩個都是類Unix操作系統。
了解了這點歷史,就可以幫助你理解什麼是“類Unix”操作系統,以及為什麼這麼多操作系統看起來都差不多,而Windows卻那麼與眾不同。這也可以解釋為什麼Linux極客對Mac OS X上的終端會感覺如此熟悉,而Windows 7上的Command Prompt和PowerShell相對於其他命令行環境顯得格格不入。
這只是一點快速掠過的歷史,幫助了解是如何發展到今天的,而不用陷入到細節中。如果你想了解更多,可以找到許多關於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 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出