這篇文章將介紹Linux的發展歷史以及Linux與著名操作系統Unix之間的關系。不會深入探討Linux的技術問題。
說到Linux,我們首先要了解Unix。
Unix是一種在AT&T貝爾實驗室已經存在很長時間的操作系統。該項目由兩位著名的計算機科學家Ken Thompson和Dennis Ritchie領導。
Unix的正式開發始于1969年的夏天,Unix的第一個版本于1971年3月發布,隨后的第二個版本于1972年發布。
如果你在Linux機器上或MacOS上輸入date命令,你會得到一個名為Unix時間戳的數字。這個數字是自1970年1月1日00:00:00起的秒數。為什么是1970年1月1日呢?現在你應該知道答案了,那時Unix正處于開發過程中。
Ken Thompson和Dennis Ritchie創建了B語言,這是Unix早期版本中支持的編程語言。然后,在1972年,里奇(Ritchie)重寫了B語言,對它進行了更好的改進,成為了C語言,這種語言在今天仍然非常流行。后來的大多數Unix組件都是用C編寫的。
在20世紀70年代后期,AT&T與教育機構和外部商業組織共享了Unix,從而導致了許多不同版本Unix的誕生。其中最突出的是由加州大學伯克利分校的計算機系統研究小組構建的教育版本。此版本被廣泛稱為Berkeley Software Distribution,即BSD。
最初,BSD是建立在Unix設計和代碼庫的基礎上,但是后來,Unix和BSD的版本變得越來越有特色,導致了Unix BSD版本和AT&T代號為System V的Unix版本之間的“標準競爭”。最終,勝利屬于SystemV。后來的BSD版本使System V更接近于學習,并納入了公認的普遍接受的標準。
隨著FreeBSD、NetBSD和OpenBSD等開源項目的出現,BSD分支的歷史發展告一段落。BSD的最終版本于1995年推出。Unix的最終版本是1989年發布的Unix 10版本,是由Bell Laps開發的。
盡管作為Unix的官方版本和BSD很久以前就停止了開發,但是目前許多操作系統(從閉源到開源)都是基于這兩個分支開發的。
比較著名和成功的商業版本可能是蘋果的MacOS。目前iOS、watchOS和tvOS系統以及其他蘋果操作系統都基于BSD平臺。MacOS也是少數幾個被認為是類UNIX的操作系統之一。
在Unix的發展過程中,1983年發生了一件重要的事情,這是后來發生劇變的前提。
1983年9月,Richard Stallman宣布引入GNU計劃(GNU代表的是GNU,不是Unix)。
GNU項目的目標是創建一個自由的、類unix的操作系統,在這個系統中,人們人們可以自由地復制,開發,修改和分發軟件,并且不受限制。
請記住,Unix和Unix的派生版本最初是封閉源的,并擁有版權。
1985年,理查德(Richard)建立了自由軟件基金會(FSF),這是一個非營利性組織,旨在促進軟件開發的自由。
GNU項目創建了許多重要的產品,如GNU Compiler Collection (gcc)、GNU Debugger、GNU Emacs text editor (Emacs)、GNU build automator (make)等,還有今天使用最廣泛的:GNU通用公共許可證(GPL)。
GNU項目取得了許多偉大的成就,創造了許多與Unix相似的工具。然而,GNU仍然缺少一個重要的組成部分:內核(用于處理與硬件設備(CPU、RAM、設備等)的控制和通信的部分)。
Linux
1991年8月25日,一位名叫Linus Torvalds的芬蘭學生介紹了一種個人產品,后來成為Linux內核。
Linus的項目很快受到了許多個人和組織的關注。
Linux內核和GNU軟件的結合創造了第一個完全免費的操作系統。它的名字是GNU/Linux。
注意:
Linux本身只是一個內核,它不是一個完整的操作系統。電腦上使用的操作系統叫做GNU / Linux,人們簡單地稱它為Linux。
Linux操作系統不使用或共享Unix或BSD代碼的任何部分。它由Linus和GNU Project全新構建,成為Unix的克隆版本。這就是為什么Linux和當前的Unix后代操作系統(例如MacOS)有很多共同點的原因。
普遍認為,無論是在MacOS上還是Linux上運行像ls、cat、grep這樣的命令,其本質是相同的。但它們其實是兩種不同的工具。在Ubuntu上運行grep——help或man grepon可以得到GNU版本的介紹,在Mac上可以得到BSD版本的介紹。當然,大多數GNU和BSD (Unix)工具對于每個選項都是相同的,但是也有例外。
您可以在Mac上安裝GNU版本,而不是默認版本,這就可以像Linux一樣使用相同的命令。
Linux只是內核部分,GNU提供了在該內核上運行的必要工具。但是,我們可以自由決定內核配置。
一些組織和公司通過將Linux內核與實用程序或程序包管理器相結合來創建完整的操作系統發行版,這些稱為Linux發行版。
今天,有無數的Linux發行版,其中許多都是非常熟悉和流行的。一些最常用的發行版包括:Ubuntu, Debian, CentOS, Fedora, Redhat, Linux Mint等。
發行版可以構建在另一個發行版之上。事實上,我上面提到的發行版彼此之間有許多密切的關系。最古老的兩個發行版(現在仍然在使用)是Slackware和Debian。它們創建于1993年。
Debian的后代分支也可能是比較大的發行版。除了Debian本身之外,這個分支的主要代表還有Ubuntu(構建在Debian之上)、Linux Mint(構建在Ubuntu之上)和Kali Linux。
另一個著名的發行版是Redhat,主要發行版是Red Hat Enterprise Linux (RHEL),這是一個針對Redhat的企業客戶的發行版。除了提供RHEL作為付費發行版之外,Redhat還向社區提供另一個免費發行版,即Fedora。
實際上,通常首先對Fedora版本進行測試以獲取反饋和錯誤修復,然后在穩定的Fedora版本上構建RHEL。此外,Redhat還為RHEL的幾乎所有組件提供了免費的源代碼,并且社區可以構建發行版(類似于 RHEL)。CentOS是一個社區版本(不受Redhat支持),完全免費,是一個與RHEL類似的企業級質量的發行版。
學習和熟悉Linux,在我個人看來Ubuntu(或Debian)和CentOS將是你應該熟悉的組合。
還有其他完全基于Linux內核的操作系統。其中最突出的就是Android。Android可能是使用Linux內核的比較流行的操作系統。
Linux內核版本
您可以在項目主頁上的https://www.kernel.org/上查看Linux內核版本的列表。
要檢查正在使用的發行版上的內核版本,可以使用uname -r命令。
使用uname -a命令將打印出整個系統信息,uname -o將打印出操作系統名稱。您將得到的結果是:操作系統名稱是GNU / Linux,而不僅僅是Linux。
類Unix
MacOS是少數通過Single UNIX Specification(SUS)認證的操作系統之一,并且被認為是類Unix的操作系統。
當前,UNIX商標版權歸Open Group所有(請注意,UNIX商標名稱中的字母均大寫,而對于操作系統,我們可以寫成Unix或UNIX)。
“類Unix(Unix-like”)”用于表示具有SUS認證的操作系統,并且可以使用UNIX品牌。
問題是:按照上述定義,Linux是“類Unix”操作系統嗎?答案是否定的。現在Linux發行版不允許使用UNIX商標。
除了將“Unix-like”解釋為SUS的一個組成部分之外,還有人建議應該在更廣泛的意義上使用“Unix-like”這個詞。具體來說,它可分為三類:
Genetic UNIX:僅與Bell Labs Unix版本的代碼庫直接相關的操作系統。
Trademark UNIX:操作系統符合SUS要求,可以使用UNIX商標。
Functional UNIX:“類似于Unix”的操作系統,Linux可以歸為此類。
-
Linux
+關注
關注
87文章
11232瀏覽量
208961 -
UNIX
+關注
關注
0文章
296瀏覽量
41423 -
GNU
+關注
關注
0文章
143瀏覽量
17481
發布評論請先 登錄
相關推薦
評論