首頁>技術>

不要說專業的程式設計師,就算是平常和計算機打交道的人們也很難不會不知道除了windows作業系統外還有其他的桌面作業系統,Linux和Unix系統就是其中的翹楚,那麼他們之間是什麼關係呢?

Linux就是Unix克隆(派生),它是由Linus Torvalds在全球一些黑客的幫助下從頭開始編寫的。Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net.

這段話來源於:Linux kernel 原始碼頂層目錄下的README檔案, Linux kernel release 2.6.xx。相信大家對他們之間的關係不明覺厲了吧。

Linux就是Unix克隆,實際上在建立Linux之前和Windows興起之前,計算世界由Unix和Unix作業系統家族主導。

Unix 作業系統的誕生:Unix誕生於1960年代後期。AT&T貝爾實驗室的一個由肯·湯普森領導下小型程式設計師小組,釋出了一個用C編寫的作業系統被命名為Unix,那時的作業系統不是可移植的,使用低能源語言意味著為作業系統編寫的硬體平臺就是它所依賴的平臺。但是使用C語言編寫的Unix使得可以將其移植到其他硬體體系結構中,它可以更快地進行修改和移植。

Unix被認為是大多數作業系統的母親,它具有以下特徵:

· 使用純文字進行資料儲存;

· 分層檔案系統;

· 處理裝置和某些特定型別的程序間通訊(IPC)作為檔案;

· 使用大量的軟體工具;

· 可以通過命令列直譯器使用管道將多個小型,簡單和模組化的程式執行緒化在一起,而使用包含所有相同功能的單個整體程式則相反;

Unix Philosophy:Unix作業系統的可移植性(幫助Unix在其他研究,學術和商業環境中的快速採用)使某些作業系統的核心設計概念吸引了程式設計師和使用者。Unix哲學是針對軟體模組化設計,其思想是可以將小型的,專門構建的程式組合起來,以處理大型和複雜的任務。因為Unix是圍繞管道和檔案設計的,所以這種將程式的輸入和輸出"插入"到輸入的直接操作集的方法今天仍然很流行。實際上,當前的雲功能即服務(FaaS)/無伺服器體系架構起源於Unix思維方式。

"儘管不能用一句話寫下哲學,但其核心思想是系統的力量更多地來自程式之間的關係,而不是程式本身。許多Unix程式孤立地完成瑣碎的事情,但與其他程式結合在一起,成為通用且有用的工具。"– Brian Kernighan和Rob Pike(開發Unix的主要貢獻者)。

Unix體系結構:如果了解了Unix的架構,基本上可以說對所有的作業系統就都有了一個認知。

Unix的主控制程式是其核心。核心可以完全控制整個系統,是作業系統的心臟,並充當使用者和硬體之間的介面。每個核心子系統都具有某些功能,例如併發,虛擬記憶體,分頁和虛擬檔案系。在體系結構的外層,具有"外殼"(shell)、命令和應用程式。Shell是使用者和核心之間的介面。Shell和使用者鍵入命令,解釋這些命令並相應地呼叫計算機程式。

Unix的歷史:由於肯·湯普森於1970年代開始在伯克利大學"休假",許多Unix的故事就從這裡開始了,在伯克利期間湯普森繼續Unix研究併發布了版本,從而建立了Berkeley Software Distribution,即BSD(最初,BSD並未想和AT&T Unix競爭)。1979年2BSD(第二個Berkeley軟體發行版)問世時,Berkeley研究生Bill Bill Joy提供了更多程式,如vi和C shell(/bin/csh),商業化的Unix產品在1980年代和1990年代初變得很普遍。隨著Unix家族樹的不同分支的形成,隨之而來的是"Unix戰爭"。。。可以關於Unix的戰爭可以說很久(現在的蘋果MacOS作業系統是從BSD派生的),甚至可以拍一部"宮廷劇"(給美國短暫的歷史增加一些戲碼),但這超出了本文的範圍(和篇幅),我就此打住,就知道版本多,主權複雜就好了。

Unix最主要的特點:Unix是一個多工,多使用者計算機作業系統家族,它可以用作工作站和伺服器中的主控制程式。但是Unix並不是開源軟體,這意味著任何想要使用它的人都需要向擁有它機構購買許可證。

Linux作業系統的來源:Linux作業系統是1990年代開始的兩個專案的結合。理查德·斯托曼希望建立一個免費和開源的Unix替代方案。他將程式命名為GNU,意思是"GNU不是Unix!"但專案進展很困難,由於沒有核心支援,對自由和開源作業系統的任何希望都將落空。隨後出現了赫爾辛基大學的Linus Torvald,它有一個名為Linux的可行核心,Linus使用了許多GNU工具,事實證明它們非常適合Linux核心。於是兩個專案結合就誕生了Linux作業系統(Linux發行版)。Linux發行版中包含的大多數軟體都是免費和開源的。

Linux核心是重寫的:Linux核心程式碼是完全從頭開始編寫的。它的設計方式使其類似於Unix,但其中沒有原始的Unix程式碼。它是Unix設計基礎的延續。還值得注意的是,Linux只是核心,而不是完整的OS。該Linux核心通常打包在Linux發行版中,從而使其成為一個完整的OS。因此,Linux只是核心,Unix本身就是一個完整的OS。

基於Linux的OS體系結構:可以看出仍然有Unix的印記:

因此,通過向Linux發行版新增不同的應用程式,實際上可以使Linux核心完全可用作作業系統。現在總共大約有600個Linux發行版。Linux OS主要針對家用PC和膝上型電腦。但是,由於它的普及性和穩定性,它開始在辦公室和高端系統中使用,包括手機、伺服器、甚至是嵌入式系統現在最著名的移動智慧作業系統Google的Android就是基於Linux的,Android OS的每個迭代都基於當前的Linux核心。

Linux是類Unix的作業系統:人們確實在Unix和Linux之間混淆了很多,他們通常會問諸如:Linux和Unix是同一回事嗎?Linux是否建立在Unix上?這樣的問題。這些所有的疑惑都是有答案的:Linux和Unix不同,但是它們確實有關係,因為Linux是從Unix克隆(派生)的。Linux不是Unix,而是類似Unix的作業系統。根據Linux核心官方README檔案(見文章開頭),它的目標是符合POSIX。

什麼是類Unix的作業系統呢?以類似於Unix系統的方式工作,但不必符合單一Unix規範(SUS)或類似的POSIX(可移植)作業系統介面)標準。SUS是任何作業系統都必須滿足的標準,才能使用Unix商標。該商標由"The Open Group"授予。

開源軟體:Linux的開發是由世界各地的開發人員團體免費提供的(Linux核心由社群開發,Linus Torvalds負責監督事務),Linux OS是一個開源OS,其原始碼是免費提供的。任何人可以在計算機上閱讀、修改和實現它。但是,不能出售它,因為它受GNU GPL許可。Linux的開發是自由和開源軟體協作的最傑出例子之一。開源理念就此興起,開始了自由開源的時代。

作業系統是非常複雜的系統工程,Unix和Linux作業系統的區別可以寫一本小說。通過表格的方式簡單看一下:

Linux的侷限性

· 沒有標準版的Linux

· Linux對驅動程式的支援不完整,這可能導致整個系統無法正常執行。

· 至少對於新使用者而言,Linux不如Windows易於使用。

· 我們用於Windows的許多程式只有在複雜的模擬器的幫助下才能在Linux上執行。例如。微軟辦公軟體。

· Linux最適合企業使用者。在家庭環境中引入它要困難得多。

Unix的侷限性

· 不友好,簡潔,不一致且非助記符的使用者介面

· Unix OS是為慢速計算機系統而設計的,因此您不能期望獲得快速的效能。

· Shell介面可能是危險的,因為鍵入錯誤會破壞檔案。

· 各種計算機上的版本略有不同,因此缺乏一致性。

· Unix不提供任何有保證的硬體中斷響應時間,因此它不支援實時響應時間系統。

從使用者的角度來看,Linux和Unix之間並沒有很多明顯的區別。Linux的許多吸引力來自於以下事實:它可以在不同的體系結構型別(包括現代PC)上工作,並且它的工具為Unix使用者和系統管理員所熟悉。

Linux和Unix之間的其他差異主要與許可有關。Linux vs Unix主要是免費 vs 許可軟體的較量。除此之外,Unix發行版缺少通用核心這一事實也影響到軟體和硬體供應商。使用Linux,供應商可以合理地期望它可以在大多數發行版中正常執行,從而為特定的硬體裝置建立裝置驅動程式。但是由於Unix具有商業和學術分支機構,因此可能有必要針對所有Unix變體釋出不同的驅動程式。還存在許可問題,以及與跨多個版本的Unix作為二進位制裝置驅動程式訪問軟體的SDK或分發模型有關的其他擔憂。

寫在最後

Unix和Linux都是偉大的作業系統,創造了人類計算機的歷史。現在的作業系統中還有很多他們的印記。Unix很老,據說是所有作業系統的母親,Linux核心也源自Unix,說明他們之間有著糾纏不清的關係。Linux OS非常適合中小型操作,現在,它還用於以前被認為是Unix唯一選擇的大型企業。但是遺憾的是,由於各種原因,Unix和Linux的商業市場反應都不好。

反倒是後起之秀Windows和在Unix基礎上發展而來的MacOS大出風頭,倒是有些讓人唏噓。近年來Linux藉助Google的Android在移動市場倒是火熱起來,總算讓人有了些安慰。

  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Vue+Element環境搭建