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 則可以運行在多種硬體平台上;
Linux 受至曠大電腦愛好者的喜愛,主要原因也有兩個:
另外,開源其實不等於免費,而是一種新的軟體獲利模式。目前很多軟體都是開源軟體,對電腦產業與網路影響深遠。
總結一下 Linux 和 UNIX 的關係/差異Linux 是類似Unix 的作業系統,Unix 要早於Linux,Linux 的初衷就是要取代UNIX,並在功能和使用者體驗上進行最佳化,所以Linux 模仿了UNIX(但並沒有抄襲UNIX 的原始碼) ,使得Linux 在外觀和互動上與UNIX 非常類似。 說模仿可能會被人噴,你也可以說微創新或改進。 相比於UNIX,Linux 最大的創新是開源免費,這是它能夠蓬勃發展的最重要原因;而目前的UNIX 大部分都是收費的,小公司和個人都難以承受。 正是由於 Linux 和 UNIX 有著千絲萬縷的聯繫,所以人們把 Linux 叫做「類UNIX系統」.
以上是linux和unix相似的原因是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!