RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux與UNIX到底有關系和區(qū)別

Wildesbeast ? 來源:今日頭條 ? 作者:底層軟件架構 ? 2020-02-18 11:56 ? 次閱讀

UNIX 與 Linux 之間的關系是一個很有意思的話題。在目前主流的服務器端操作系統(tǒng)中,UNIX 誕生于 20 世紀 60 年代末,Windows 誕生于 20 世紀 80 年代中期,Linux 誕生于 20 世紀 90 年代初,可以說 UNIX 是操作系統(tǒng)中的"老大哥",后來的 Windows 和 Linux 都參考了 UNIX。

現代的 Windows 系統(tǒng)已經朝著“圖形界面”的方向發(fā)展了,和 UNIX 系統(tǒng)有了巨大的差異,從表面上甚至看不出兩者的關聯(lián)。

UNIX 的坎坷歷史

UNIX 操作系統(tǒng)由肯?湯普森(Ken Thompson)和丹尼斯?里奇(Dennis Ritchie)發(fā)明。它的部分技術來源可追溯到從 1965 年開始的 Multics 工程計劃,該計劃由貝爾實驗室、美國麻省理工學院和通用電氣公司聯(lián)合發(fā)起,目標是開發(fā)一種交互式的、具有多道程序處理能力的分時操作系統(tǒng),以取代當時廣泛使用的批處理操作系統(tǒng)。

說明:分時操作系統(tǒng)使一臺計算機可以同時為多個用戶服務,連接計算機的終端用戶交互式發(fā)出命令,操作系統(tǒng)采用時間片輪轉的方式處理用戶的服務請求并在終端上顯示結果(操作系統(tǒng)將CPU的時間劃分成若干個片段,稱為時間片)。操作系統(tǒng)以時間片為單位,輪流為每個終端用戶服務,每次服務一個時間片。

可惜,由于 Multics 工程計劃所追求的目標太龐大、太復雜,以至于它的開發(fā)人員都不知道要做成什么樣子,最終以失敗收場。
以肯?湯普森為首的貝爾實驗室研究人員吸取了 Multics 工程計劃失敗的經驗教訓,于 1969 年實現了一種分時操作系統(tǒng)的雛形,1970 年該系統(tǒng)正式取名為 UNIX。
想一下英文中的前綴 Multi 和 Uni,就明白了 UNIX 的隱意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。這是 UNIX 開發(fā)者的設計初衷,這個理念一直影響至今。
有意思的是,肯?湯普森當年開發(fā) UNIX 的初衷是運行他編寫的一款計算機游戲 Space Travel,這款游戲模擬太陽系天體運動,由玩家駕駛飛船,觀賞景色并嘗試在各種行星和月亮上登陸。他先后在多個系統(tǒng)上試驗,但運行效果不甚理想,于是決定自己開發(fā)操作系統(tǒng),就這樣,UNIX 誕生了。
自 1970 年后,UNIX 系統(tǒng)在貝爾實驗室內部的程序員之間逐漸流行起來。1971-1972 年,肯?湯普森的同事丹尼斯?里奇發(fā)明了傳說中的C語言,這是一種適合編寫系統(tǒng)軟件的高級語言,它的誕生是 UNIX 系統(tǒng)發(fā)展過程中的一個重要里程碑,它宣告了在操作系統(tǒng)的開發(fā)中,匯編語言不再是主宰。
到了 1973 年,UNIX 系統(tǒng)的絕大部分源代碼都用C語言進行了重寫,這為提高 UNIX 系統(tǒng)的可移植性打下了基礎(之前操作系統(tǒng)多采用匯編語言,對硬件依賴性強),也為提高系統(tǒng)軟件的開發(fā)效率創(chuàng)造了條件。可以說,UNIX 系統(tǒng)與C語言是一對孿生兄弟,具有密不可分的關系。
20 世紀 70 年代初,計算機界還有一項偉大的發(fā)明——TCP/IP 協(xié)議,這是當年美國國防部接手 ARPAnet 后所開發(fā)的網絡協(xié)議。美國國防部把 TCP/IP 協(xié)議與 UNIX 系統(tǒng)、C語言捆綁在一起,由 AT&T 發(fā)行給美國各個大學非商業(yè)的許可證,這為 UNIX 系統(tǒng)、C語言、TCP/IP 協(xié)議的發(fā)展拉開了序幕,它們分別在操作系統(tǒng)、編程語言、網絡協(xié)議這三個領域影響至今???湯普森和丹尼斯?里奇因在計算機領域做出的杰出貢獻,于 1983 年獲得了計算機科學的最高獎——圖靈獎。


圖 1 為肯?湯普森與丹尼斯?里奇的合影,天才都是不修邊幅的……
隨后出現了各種版本的 UNIX 系統(tǒng),目前常見的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。

Solaris 和 FreeBSD

我們重點介紹一下 Solaris,它是 UNIX 系統(tǒng)的一個重要分支。Solaris 除可以運行在 SPARC CPU 平臺上外,還可以運行在 x86 CPU 平臺上。在服務器市場上,Sun 的硬件平臺具有高可用性和高可靠性,是市場上處于支配地位的 UNIX 系統(tǒng)。
對于難以接觸到 Sun SPARC 架構計算機的用戶來說,可以通過使用 Solaris x86 來體驗世界知名大廠的商業(yè) UNIX 風采。當然,Solaris x86 也可以用于實際生產應用的服務器,在遵守 Sun 的有關許可條款的情況下,Solaris x86 可以免費用于學習研究或商業(yè)應用。
FreeBSD 源于美國加利福尼亞大學伯克利分校開發(fā)的 UNIX 版本,它由來自世界各地的志愿者開發(fā)和維護,為不同架構的計算機系統(tǒng)提供了不同程度的支持。FreeBSD 在 BSD 許可協(xié)議下發(fā)布,允許任何人在保留版權和許可協(xié)議信息的前提下隨意使用和發(fā)行,并不限制將 FreeBSD 的代碼在另一協(xié)議下發(fā)行,因此商業(yè)公司可以自由地將 FreeBSD 代碼融入它們的產品中。蘋果公司的 OS X 就是基于 FreeBSD 的操作系統(tǒng)。


FreeBSD 與 Linux 的用戶群有相當一部分是重合的,二者支持的硬件環(huán)境也比較一致,所采用的軟件也比較類似。FreeBSD 的最大特點就是穩(wěn)定和高效,是作為服務器操作系統(tǒng)的不錯選擇;但其對硬件的支持沒有 Linux 完備,所以并不適合作為桌面系統(tǒng)。
其他 UNIX 版本因應用范圍相對有限,在此不做過多介紹。

Linux 的那些往事

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


李納斯?托瓦茲沒有保留 Linux 源代碼的版權,公開了代碼,并邀請他人一起完善 Linux。與 Windows 及其他有專利權的操作系統(tǒng)不同,Linux 開放源代碼,任何人都可以免費使用它。
據估計,現在只有 2% 的 Linux 核心代碼是由李納斯?托瓦茲自己編寫的,雖然他仍然擁有 Linux 內核(操作系統(tǒng)的核心部分),并且保留了選擇新代碼和需要合并的新方法的最終裁定權?,F在大家所使用的 Linux,我更傾向于說是由李納斯?托瓦茲和后來陸續(xù)加入的眾多 Linux 好者共同開發(fā)完成的。
李納斯?托瓦茲無疑是這個世界上最偉大的程序員之一,何況,他還搞出了全世界最大的程序員交友社區(qū) GitHub (開源代碼庫及版本控制系統(tǒng))。
關于 Linux Logo 的由來是一個很有意思的話題,它是一只企鵝。


為什么選擇企鵝,而不是選擇獅子、老虎或者小白兔?有人說因為李納斯?托瓦茲是芬蘭人,所以選擇企鵝,有人說因為其他動物圖案都被用光了,李納斯?托瓦茲只好選擇企鵝。
我更愿意相信以下說法,企鵝是南極洲的標志性動物,根據國際公約,南極洲為全人類共同所有,不屬于世界上的任何國家,可國家都無權將南極洲納入其版圖。Linux 選擇企鵝圖案作為 Logo,其含義是:開放源代碼的 Linux 為全人類共同所有,可公司無權將其私有。

UNIX與Linux的親密關系

二者的關系,不是大哥和小弟,"UNIX 是 Linux 的父親"這個說法更怡當。之所以要介紹它們的關系,是因為要告訴讀者,在學習的時候,其實 Linux 與 UNIX 有很多的共通之處,簡單地說,如果你已經熟練掌握了 Linux,那么再上手使用 UNIX 會非常容易。
二者也有兩個大的區(qū)別:

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

UNIX 是商業(yè)軟件,而 Linux 是開源軟件,是免費、公開源代碼的。


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

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

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


開源軟件是不同于商業(yè)軟件的一種模式,從字面上理解,就是開放源代碼,大家不用擔心里面會搞什么貓膩,這會帶來軟件的革新和安全。
另外,開源其實并不等同于免費,而是一種新的軟件盈利模式。目前很多軟件都是開源軟件,對計算機行業(yè)與互聯(lián)網影響深遠。

開源軟件本身的模式、概念比較晦澀,這套《Linux教程》旨在指導讀者應用 Linux,大家簡要理解即可。

近年來,Linux 已經青出于藍而勝于藍,以超常的速度發(fā)展,從一個丑小鴨變成了一個擁有龐大用戶群的真正優(yōu)秀的、值得信賴的操作系統(tǒng)。歷史的車輪讓 Linux 成為 UNIX 最優(yōu)秀的傳承者。

總結一下 Linux 和 UNIX 的關系/區(qū)別

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

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

相比于 UNIX,Linux 最大的創(chuàng)新是開源免費,這是它能夠蓬勃發(fā)展的最重要原因;而目前的 UNIX 大部分都是收費的,小公司和個人都難以承受。
正是由于 Linux 和 UNIX 有著千絲萬縷的聯(lián)系,所以人們把 Linux 叫做“類UNIX系統(tǒng)”,下節(jié)我們將會著重講解。

UNIX/Linux系統(tǒng)結構

UNIX/Linux 系統(tǒng)可以粗糙地抽象為 3 個層次(所謂粗糙,就是不夠細致、精準,但是便于初學者抓住重點理解),如圖 3 所示。底層是 UNIX/Linux 操作系統(tǒng),即系統(tǒng)內核(Kernel);中間層是 Shell 層,即命令解釋層;高層則是應用層。

圖 3 UNIX/Linux 系統(tǒng)結掏層次概要

1) 內核層

內核層是 UNIX/Linux 系統(tǒng)的核心和基礎,它直接附著在硬件平臺之上,控制和管理系統(tǒng)內各種資源(硬件資源和軟件資源),有效地組織進程的運行,從而擴展硬件的功能,提高資源的利用效率,為用戶提供方便、高效、安全、可靠的應用環(huán)境。

2) Shell層

Shell 層是與用戶直接交互的界面。用戶可以在提示符下輸入命令行,由 Shell 解釋執(zhí)行并輸出相應結果或者有關信息,所以我們也把 Shell 稱作命令解釋器,利用系統(tǒng)提供的豐富命令可以快捷而簡便地完成許多工作。

3) 應用層

應用層提供基于 X Window 協(xié)議的圖形環(huán)境。X Window 協(xié)議定義了一個系統(tǒng)所必須具備的功能(就如同 TCP/IP 是一個協(xié)議,定義軟件所應具備的功能),可系統(tǒng)能滿足此協(xié)議及符合 X 協(xié)會其他的規(guī)范,便可稱為 X Window。
現在大多數的 UNIX 系統(tǒng)上(包括 Solaris、HP-UX、AIX 等)都可以運行 CDE (Common Desktop Environment,通用桌面環(huán)境,是運行于 UNIX 的商業(yè)桌面環(huán)境)的用戶界面;而在 Linux 上廣泛應用的有 Gnome(見圖 4)、KDE 等。

圖 4 Gnome圖形界面


X Window 與微軟的 Windows 圖形環(huán)境有很大的區(qū)別:

UNIX/Linux 系統(tǒng)與 X Window 沒有必然捆綁的關系,也就是說,UNIX/Linux 可以安裝 X Window,也可以不安裝;而微軟的 Windows 圖形環(huán)境與內核捆綁密切。

UNIX/Linux 系統(tǒng)不依賴圖形環(huán)境,依然可以通過命令行完成 100% 的功能,而且因為不使用圖形環(huán)境還會節(jié)省大量的系統(tǒng)資源。


作為服務器部署,絕大多數 Linux 并不安裝或并不啟用圖形環(huán)境。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209322
  • WINDOWS
    +關注

    關注

    3

    文章

    3541

    瀏覽量

    88621
  • UNIX
    +關注

    關注

    0

    文章

    296

    瀏覽量

    41478
收藏 人收藏

    評論

    相關推薦

    LinuxUnix有什么不同

    LinuxUnix 到底有什么不同?
    發(fā)表于 05-07 06:25

    LinuxUnix到底有什么不同

    LinuxUnix 到底有什么不同?
    發(fā)表于 05-08 14:36

    ARM與單片機到底有區(qū)別?

    初學者必知:ARM與單片機到底有區(qū)別?1、軟件方面這應該是最大的區(qū)別了。引入了操作系統(tǒng)。為什么引入操作系統(tǒng)?有什么好處嘛?1)方便。主要體現在后期的開發(fā),即在操作系統(tǒng)上直接開發(fā)應用程序。不像單片機
    發(fā)表于 07-16 06:54

    Linux到底有什么優(yōu)勢

    嵌入式Linux的開發(fā)和研究是Linux領域研究的一個熱點,目前已開發(fā)成功的嵌入式系統(tǒng)有一半以上都是Linux。Linux到底有什么優(yōu)勢,使
    發(fā)表于 11-04 08:44

    ARM與單片機到底有區(qū)別?

    ARM與單片機到底有區(qū)別
    發(fā)表于 11-05 07:29

    ARM與單片機到底有區(qū)別?

    對于初學者來說:ARM與單片機到底有區(qū)別? 1、軟件方面 這應該是最大的區(qū)別了。引入了操作系統(tǒng)。為什么引入操作系統(tǒng)?有什么好處嘛? 1)方便。主要體現在后期的開發(fā),即在操作系統(tǒng)上直接開發(fā)應用程序
    發(fā)表于 12-13 07:44

    ARM和DSP到底有什么區(qū)別?

    現在在學ARM,想知道ARM和DSP到底有什么區(qū)別?為什么有些地方用DSP有些用ARM
    發(fā)表于 10-19 07:20

    linuxunix有什么區(qū)別

    UNIXLinux之間的關系是一個很有意思的話題。在目前主流的服務器端操作系統(tǒng)中,UNIX誕生于20世紀60年代末,Windows誕生于20世紀80年代中期,
    發(fā)表于 06-08 09:12 ?1.3w次閱讀

    Linux的發(fā)展歷史和LinuxUnix有怎么樣的關系

    這篇文章將介紹Linux的發(fā)展歷史以及Linux與著名操作系統(tǒng)Unix之間的關系。不會深入探討Linux的技術問題。
    的頭像 發(fā)表于 06-27 09:00 ?2255次閱讀

    Windows比UnixLinux到底有什么優(yōu)劣勢

    在大多數情況下,Windows甚至優(yōu)于Unix / Linux。 對于某些專業(yè)技術人員來說,Unix / Linux僅是一個更好的選擇。 Windows具有更成熟的桌面環(huán)境和更大的軟件
    的頭像 發(fā)表于 07-04 11:13 ?4324次閱讀

    UNIXLinux有什么區(qū)別聯(lián)系

     UNIXLinux 之間的關系是一個很有意思的話題。在目前主流的服務器端操作系統(tǒng)中,UNIX 誕生于 20 世紀 60 年代末,Windows 誕生于 20 世紀 80 年代中
    發(fā)表于 07-15 16:02 ?680次閱讀

    UnixLinux區(qū)別是什么

    目前IT領域對UnixLinux的概念模糊不清,有的人說差不多,有的人說一樣,也有的人說不一樣,到底這兩者之間有什么異同點,下面我們來分析一下。
    發(fā)表于 07-16 14:36 ?2312次閱讀

    UnixLinux的差異

    摘要:程序員都知道,Linux 不是 Unix,不過二者之間確實存在關系,即 Linux 系統(tǒng)是從 Unix 派生出來的,而
    發(fā)表于 09-04 12:42 ?619次閱讀

    FPC與傳統(tǒng)PCB到底有什么區(qū)別.zip

    FPC與傳統(tǒng)PCB到底有什么區(qū)別
    發(fā)表于 03-01 15:37 ?4次下載

    RTOS與Linux到底有什么區(qū)別

    很多做嵌入式開發(fā)的小伙伴都存在這樣的疑惑:RTOS與Linux到底有什么區(qū)別?
    的頭像 發(fā)表于 10-29 09:53 ?420次閱讀
    RM新时代网站-首页