故事 --- Linux和UNIX之間的那些愛恨與情仇


故事 --- Linux和UNIX之間的那些愛恨與情仇

文章插圖
Linux和UNIX具體有哪些關系及區別?UNIX 與 Linux 之間的關系是一個很有意思的話題 。在目前主流的服務器端操作系統中,UNIX 誕生于 20 世紀 60 年代末 , Windows 誕生于 20 世紀 80 年代中期,Linux 誕生于 20 世紀 90 年代初,可以說 UNIX 是操作系統中的"老大哥",后來的 Windows 和 Linux 都參考了 UNIX 。
【故事 --- Linux和UNIX之間的那些愛恨與情仇】現代的 Windows 系統已經朝著“圖形界面”的方向發展了,和 UNIX 系統有了巨大的差異,從表面上甚至看不出兩者的關聯 。
UNIX 的坎坷歷史UNIX 操作系統由肯?湯普森(Ken Thompson)和丹尼斯?里奇(Dennis Ritchie)發明 。它的部分技術來源可追溯到從 1965 年開始的 Multics 工程計劃,該計劃由貝爾實驗室、美國麻省理工學院和通用電氣公司聯合發起,目標是開發一種交互式的、具有多道程序處理能力的分時操作系統,以取代當時廣泛使用的批處理操作系統 。
說明:分時操作系統使一臺計算機可以同時為多個用戶服務,連接計算機的終端用戶交互式發出命令,操作系統采用時間片輪轉的方式處理用戶的服務請求并在終端上顯示結果(操作系統將CPU的時間劃分成若干個片段 , 稱為時間片) 。操作系統以時間片為單位 , 輪流為每個終端用戶服務 , 每次服務一個時間片 。
可惜,由于 Multics 工程計劃所追求的目標太龐大、太復雜,以至于它的開發人員都不知道要做成什么樣子,最終以失敗收場 。以肯?湯普森為首的貝爾實驗室研究人員吸取了 Multics 工程計劃失敗的經驗教訓,于 1969 年實現了一種分時操作系統的雛形,1970 年該系統正式取名為 UNIX 。想一下英文中的前綴 Multi 和 Uni,就明白了 UNIX 的隱意 。Multi 是大的意思,大而且繁;而 Uni 是小的意思 , 小而且巧 。這是 UNIX 開發者的設計初衷,這個理念一直影響至今 。有意思的是,肯?湯普森當年開發 UNIX 的初衷是運行他編寫的一款計算機游戲 Space Travel,這款游戲模擬太陽系天體運動,由玩家駕駛飛船,觀賞景色并嘗試在各種行星和月亮上登陸 。他先后在多個系統上試驗 , 但運行效果不甚理想,于是決定自己開發操作系統 , 就這樣,UNIX 誕生了 。自 1970 年后,UNIX 系統在貝爾實驗室內部的程序員之間逐漸流行起來 。1971-1972 年,肯?湯普森的同事丹尼斯?里奇發明了傳說中的C語言,這是一種適合編寫系統軟件的高級語言,它的誕生是 UNIX 系統發展過程中的一個重要里程碑,它宣告了在操作系統的開發中,匯編語言不再是主宰 。到了 1973 年,UNIX 系統的絕大部分源代碼都用C語言進行了重寫,這為提高 UNIX 系統的可移植性打下了基?。ㄖ安僮饗低扯嗖捎沒惚嚶镅裕?對硬件依賴性強) , 也為提高系統軟件的開發效率創造了條件 ??梢哉f,UNIX 系統與C語言是一對孿生兄弟,具有密不可分的關系 。20 世紀 70 年代初,計算機界還有一項偉大的發明——TCP/IP 協議,這是當年美國國防部接手 ARPAnet 后所開發的網絡協議 。美國國防部把 TCP/IP 協議與 UNIX 系統、C語言捆綁在一起 , 由 AT&T 發行給美國各個大學非商業的許可證,這為 UNIX 系統、C語言、TCP/IP 協議的發展拉開了序幕,它們分別在操作系統、編程語言、網絡協議這三個領域影響至今 ???湯普森和丹尼斯?里奇因在計算機領域做出的杰出貢獻,于 1983 年獲得了計算機科學的最高獎——圖靈獎
故事 --- Linux和UNIX之間的那些愛恨與情仇

文章插圖
圖 1 為肯?湯普森與丹尼斯?里奇的合影 , 天才都是不修邊幅的……隨后出現了各種版本的 UNIX 系統,目前常見的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等 。
Solaris 和 FreeBSD我們重點介紹一下 Solaris,它是 UNIX 系統的一個重要分支 。Solaris 除可以運行在 SPARC CPU 平臺上外,還可以運行在 x86 CPU 平臺上 。在服務器市場上,Sun 的硬件平臺具有高可用性和高可靠性,是市場上處于支配地位的 UNIX 系統 。對于難以接觸到 Sun SPARC 架構計算機的用戶來說,可以通過使用 Solaris x86 來體驗世界知名大廠的商業 UNIX 風采 。當然,Solaris x86 也可以用于實際生產應用的服務器,在遵守 Sun 的有關許可條款的情況下,Solaris x86 可以免費用于學習研究或商業應用 。FreeBSD 源于美國加利福尼亞大學伯克利分校開發的 UNIX 版本,它由來自世界各地的志愿者開發和維護,為不同架構的計算機系統提供了不同程度的支持 。FreeBSD 在 BSD 許可協議下發布 , 允許任何人在保留版權和許可協議信息的前提下隨意使用和發行,并不限制將 FreeBSD 的代碼在另一協議下發行,因此商業公司可以自由地將 FreeBSD 代碼融入它們的產品中 。蘋果公司的 OS  X 就是基于 FreeBSD 的操作系統 。

推薦閱讀