linux和unix相似的原因是什么

linux的初衷就是要替unix,并在功能和用戶體驗上進行優化,所以Linux模仿了UNIX(但并沒有抄襲UNIX的源碼),使得Linux在外觀和交互上與UNIX 非常類似。因此可以說“UNIX是Linux的父親”,也正是由于Linux和UNIX有著千絲萬縷的聯系,所以人們把Linux叫做“類UNIX系統”。

UNIX 與 Linux 之間的關系是一個很有意思的話題。在目前主流的服務器端操作系統中,UNIX 誕生于 20 世紀 60 年代末,windows 誕生于 20 世紀 80 年代中期,Linux 誕生于 20 世紀 90 年代初,可以說 UNIX 是操作系統中的”老大哥”,后來的 Windows 和 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 系統的可移植性打下了基礎(之前操作系統多采用匯編語言,對硬件依賴性強),也為提高系統軟件的開發效率創造了條件。UNIX 系統和 C 語言可以被形容為一對緊密相連的兄弟,它們之間的關聯是不可分割的。

20 世紀 70 年代初,計算機界還有一項偉大的發明——TCP/IP 協議,這是當年美國國防部接手 ARPAnet 后所開發的網絡協議。美國國防部把 TCP/IP 協議與 UNIX 系統、C語言捆綁在一起,由 AT&T 發行給美國各個大學非商業的許可證,這為 UNIX 系統、C語言、TCP/IP 協議的發展拉開了序幕,它們分別在操作系統、編程語言、網絡協議這三個領域影響至今。肯?湯普森和丹尼斯?里奇因在計算機領域做出的杰出貢獻,于 1983 年獲得了計算機科學的最高獎——圖靈獎。

隨后出現了各種版本的 UNIX 系統,目前常見的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。

Solaris 和 FreeBSD

重點介紹 Solaris,這是一個重要的 UNIX 系統分支。除了在 SPARC CPU 平臺上運行外,Solaris 也可在 x86 CPU 平臺上運行。Sun的硬件平臺在服務器市場上占據著支配地位的UNIX系統的位置,其高可用性和高可靠性令人稱道。

對于難以接觸到 Sun SPARC 架構計算機的用戶來說,可以通過使用 Solaris x86 來體驗世界知名大廠的商業 UNIX 風采。當然,Solaris x86 也可以用于實際生產應用的服務器,在遵守 Sun 的有關許可條款的情況下,Solaris x86 可以免費用于學習研究或商業應用。

FreeBSD 源于美國加利福尼亞大學伯克利分校開發的 UNIX 版本,它由來自世界各地的志愿者開發和維護,為不同架構的計算機系統提供了不同程度的支持。FreeBSD 在 BSD 許可協議下發布,允許任何人在保留版權和許可協議信息的前提下隨意使用和發行,并不限制將 FreeBSD 的代碼在另一協議下發行,因此商業公司可以自由地將 FreeBSD 代碼融入它們的產品中。OS X, the operating system used by Apple Inc., is built upon the FreeBSD operating system.。

FreeBSD 與 Linux 的用戶群有相當一部分是重合的,二者支持的硬件環境也比較一致,所采用的軟件也比較類似。FreeBSD 的最大特點就是穩定和高效,是作為服務器操作系統的不錯選擇;但其對硬件的支持沒有 Linux 完備,所以并不適合作為桌面系統。

其他 UNIX 版本因應用范圍相對有限,在此不做過多介紹。

Linux 的那些往事

Linux 內核最初是由李納斯?托瓦茲(Linus Torvalds)在赫爾辛基大學讀書時出于個人愛好而編寫的,當時他覺得教學用的迷你版 UNIX 操作系統 Minix 太難用了,于是決定自己開發一個操作系統。當初第一版于1991年9月發布時,代碼僅僅有1萬行。

李納斯?托瓦茲在公開 Linux 源代碼后,未保留版權,并邀請他人一同參與完善。Linux與Windows及其他受專利保護的操作系統不同,它采用的是開源代碼,這意味著任何人都可以免費地使用它。

據估計,現在只有 2% 的 Linux 核心代碼是由李納斯?托瓦茲自己編寫的,雖然他仍然擁有 Linux 內核(操作系統的核心部分),并且保留了選擇新代碼和需要合并的新方法的最終裁定權。現在大家所使用的 Linux,我更傾向于說是由李納斯?托瓦茲和后來陸續加入的眾多 Linux 好者共同開發完成的。

李納斯?托瓦茲無疑是這個世界上最偉大的程序員之一,何況,他還搞出了全世界最大的程序員交友社區 github (開源代碼庫及版本控制系統)。

關于 Linux Logo 的由來是一個很有意思的話題,它是一只企鵝。

為什么選擇企鵝,而不是選擇獅子、老虎或者小白兔?有人說因為李納斯?托瓦茲是芬蘭人,所以選擇企鵝,有人說因為其他動物圖案都被用光了,李納斯?托瓦茲只好選擇企鵝。

我更愿意相信以下說法,企鵝是南極洲的標志性動物,根據國際公約,南極洲為全人類共同所有,不屬于世界上的任何國家,可國家都無權將南極洲納入其版圖。Linux 選擇企鵝圖案作為 Logo,其含義是:開放源代碼的 Linux 為全人類共同所有,可公司無權將其私有。

UNIX與Linux的親密關系

更恰當的說法是,UNIX 和 Linux 的關系不是兄弟或長幼之別,而是可以說“UNIX 是 Linux 的祖先”。之所以要介紹它們的關系,是因為要告訴讀者,在學習的時候,其實 Linux 與 UNIX 有很多的共通之處,簡單地說,如果你已經熟練掌握了 Linux,那么再上手使用 UNIX 會非常容易。

二者也有兩個大的區別:

  • UNIX 系統大多是與硬件配套的,也就是說,大多數 UNIX 系統如 AIX、HP-UX 等是無法安裝在 x86 服務器和個人計算機上的,而 Linux 則可以運行在多種硬件平臺上;

  • UNIX 是商業軟件,而 Linux 是開源軟件,是免費、公開源代碼的。

Linux 受至曠大計算機愛好者的喜愛,主要原因也有兩個:

  • 它屬于開源軟件,用戶不用支付可費用就可以獲得它和它的源代碼,并且可以根據自己的需要對它進行必要的修改,無償使用,無約束地繼續傳播;

  • 它具有 UNIX 的全部功能,任何使用 UNIX 操作系統或想要學習 UNIX 操作系統的人都可以從 Linux 中獲益。

開源軟件是不同于商業軟件的一種模式,從字面上理解,就是開放源代碼,大家不用擔心里面會搞什么貓膩,這會帶來軟件的革新和安全。

另外,開源其實并不等同于免費,而是一種新的軟件盈利模式。目前很多軟件都是開源軟件,對計算機行業與互聯網影響深遠。

總結一下 Linux 和 UNIX 的關系/區別

Linux 是一個類似 Unix 的操作系統,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用戶體驗上進行優化,所以 Linux 模仿了 UNIX(但并沒有抄襲 UNIX 的源碼),使得 Linux 在外觀和交互上與 UNIX 非常類似。

說模仿可能會被人噴,你也可以說微創新或者改進。

相比于 UNIX,Linux 最大的創新是開源免費,這是它能夠蓬勃發展的最重要原因;而目前的 UNIX 大部分都是收費的,小公司和個人都難以承受。

正是由于 Linux 和 UNIX 有著千絲萬縷的聯系,所以人們把 Linux 叫做“類UNIX系統”.

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享