大多數操做系統能夠被劃分到兩個不一樣的家族。除了微軟的基於Windows NT的操做系統外,幾乎全部其餘的均可以追溯到Unix。 Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上運行的Orbis OS,運行在路由器上的各類固件,全部這些操做系統一般都被稱爲「類Unix」操做系統。linux
Unix的設計如今都還在應用shell
Unix在20世紀60年代中晚期誕生於AT&T的貝爾實驗室中。最初發布的Unix中的一些重要設計因素到現在都還在使用。windows
其中一個設計是「Unix哲學」,創建小的模塊化的應用,只作一件事情並把它作好。若是你對Linux終端很熟悉的話,應該對這個不陌生-系統提供了大量的應用,能夠經過管道或其餘特性造成不一樣的組合來完成更復雜的任務。甚至圖形界面程序也常常會在後臺調用更簡單的應用去作比較耗時的任務。這種模式也讓創建終端腳本更爲簡單,經過文本把一些簡單工具結合起來去作複雜的事情。svg
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。cdn
另 一組是商用的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歷史的整本的書籍。