關(guān)于Linux的發(fā)展簡史你了解多少?
今天小編要跟大家分享的文章是關(guān)于Linux的發(fā)展史你了解多少?相信說到Linux大家并不陌生,在流行的用法中,“Linux”通常是指圍繞Linux內(nèi)核的一組操作系統(tǒng)發(fā)行版。但從嚴(yán)格意義上講,Linux僅指內(nèi)核本身的存在。為了構(gòu)建一個完整的操作系統(tǒng),Linux發(fā)行版通常包括來自GNU項目和其它源的工具和庫。最近,越來越多的開發(fā)人員使用Linux來構(gòu)建和運(yùn)行移動應(yīng)用程序;它還在開發(fā)價格合理的設(shè)備(如Chromebook)中發(fā)揮了關(guān)鍵作用,Chromebook在內(nèi)核上運(yùn)行操作系統(tǒng)。在一般的云計算和服務(wù)器環(huán)境中,出于某些實際原因,Linux是一種流行的選擇:
· 它的發(fā)行版仍然是最新的,并得到其他開發(fā)者社區(qū)的支持。
· 它可以在各種硬件上運(yùn)行,并將與預(yù)先存在的系統(tǒng)一起安裝(在本地開發(fā)環(huán)境中是一個有用的特性)。
· 它支持從預(yù)存在的存儲庫進(jìn)行集中式軟件安裝。
· 它的資源需求很低。
· 開發(fā)人員為服務(wù)器構(gòu)建應(yīng)用程序生態(tài)系統(tǒng)和工具時通常會被高度重視,從而實現(xiàn)高級別的兼容性。
· 它支持對操作系統(tǒng)進(jìn)行必要的更改。
Linux也可以追溯到自由和開源軟件運(yùn)動,因此一些開發(fā)人員會出于道德和實際原因選擇它:
· 對于一些開發(fā)人員來說,使用Linux代表了對可訪問性和表達(dá)自由的承諾。
· Linux社區(qū)也對一些開發(fā)人員具有吸引力:當(dāng)他們有問題時,他們可以查詢該社區(qū)產(chǎn)生的資源,或直接聯(lián)系到許多活躍的維護(hù)者之一。
為了理解Linux在開發(fā)社區(qū)(及其他人)中的角色,本文將通過Unix概述Linux的簡史,并討論一些流行的Linux發(fā)行版。那么關(guān)于Linux的發(fā)展史你了解多少呢?下面我們一起來看一看吧~

一、源自Unix
Linux起源于Unix和Multics,這兩個項目都以開發(fā)強(qiáng)大的多用戶操作系統(tǒng)為目標(biāo)。
Unix之源起
Unix是在貝爾實驗室計算機(jī)科學(xué)研究中心的Multics項目迭代中開發(fā)的。在貝爾實驗室和其他地方從事Multics工作的開發(fā)人員對構(gòu)建具有單級存儲、動態(tài)鏈接的多用戶操作系統(tǒng)(其中正在運(yùn)行的進(jìn)程可以請求將另一個段添加到其地址空間,使其能夠執(zhí)行該段上的代碼)和分層文件系統(tǒng)很感興趣。
貝爾實驗室于1969年停止資助Multics項目,但包括Ken Thompson和Dennis Ritchie在內(nèi)的一組研究人員繼續(xù)致力于該項目的核心規(guī)則。在1972年3月,他們決定用C語言重寫該系統(tǒng),這使得Unix具有獨一無二的可移植性:與其他現(xiàn)代操作系統(tǒng)不同,它可以獨立于硬件進(jìn)行遷移。
貝爾實驗室(后來的AT&T)的研究和開發(fā)繼續(xù)進(jìn)行,同時,Unix系統(tǒng)實驗室與Sun Microsystems合作開發(fā)Unix版本,則將被商業(yè)化Unix供應(yīng)商廣泛采用。與此同時,學(xué)術(shù)界繼續(xù)進(jìn)行研究,最知名的是加州大學(xué)伯克利分校的計算機(jī)系統(tǒng)研究小組。該小組發(fā)布了Berkeley Software Distribution(BSD),它激發(fā)了一系列操作系統(tǒng),其中許多操作系統(tǒng)至今仍在使用。有歷史記錄的兩個BSD發(fā)布是NeXTStep:NeXT開創(chuàng)的操作系統(tǒng),它成為macOS及其他產(chǎn)品的基礎(chǔ);MINIX:是一個教育版操作系統(tǒng),它在Linus Torvalds開發(fā)Linux時形成了相當(dāng)?shù)幕A(chǔ)。
二、Unix的主要特性
Unix以清晰、可移植性和同時性原則為導(dǎo)向。
· 清晰性:Unix的模塊化設(shè)計允許函數(shù)以有限且定義好的方式運(yùn)行。它的文件系統(tǒng)是統(tǒng)一的,層次化的,簡化了數(shù)據(jù)的操作。與以前的一些系統(tǒng)調(diào)用不同,Unix實現(xiàn)了數(shù)百次(而不是數(shù)千次)的系統(tǒng)調(diào)用,每一次調(diào)用的目的都是簡單明了的。
· 可移植性:通過用C語言編寫Unix,貝爾實驗室的團(tuán)隊將Unix定位為廣泛使用和采用。C被設(shè)計為具有對內(nèi)存的低級訪問,最小的運(yùn)行時支持,以及語言和機(jī)器指令之間的有效關(guān)系。以C語言為基礎(chǔ)意味著Unix是可適應(yīng)的,并且易于在各種硬件上運(yùn)行。
· 同時性:Unix內(nèi)核是為支持多個用戶和工作流的目標(biāo)(由Multics項目共享)而定制的。內(nèi)核空間與Unix中的用戶空間不同,后者允許多個應(yīng)用程序同時運(yùn)行。
三、Linux的演變
Unix給開發(fā)人員提出了重要的問題,但它在最早期的迭代版本中也保持了私有性。因此,其歷史的下半場是關(guān)于開發(fā)人員如何在其中工作以及針對它創(chuàng)建免費(fèi)并且開源替代品的故事。
開源實驗
Richard Stallman是開發(fā)者中的核心人物,他們受到啟發(fā)、創(chuàng)造了Unix的非私有替代版。在麻省理工學(xué)院人工智能實驗室工作期間,他開始研究GNU項目(遞歸的說法“GNU's ot Unix!”),最終于1984年離開實驗室,因此他可以將GNU組件作為自由軟件進(jìn)行分發(fā)。GNU內(nèi)核,稱為GNU HURD,成為自由軟件基金會(FSF)的焦點,該基金成立于1985年,目前由Stallman領(lǐng)導(dǎo)。
與此同時,另一位開發(fā)人員正在開發(fā)一種免費(fèi)的Unix替代品:芬蘭本科生Linus Torvalds。1991年8月25日,在對MINIX的許可感到失望之后,Torvalds向MINIX用戶群宣布,他正在開發(fā)自己的操作系統(tǒng),類似于MINIX。雖然最初是使用GNU C編譯器在MINIX上開發(fā)的,但是Linux內(nèi)核很快成為一個獨特的項目,其核心是開發(fā)人員,他們在1994年與Torvalds一起發(fā)布了1.0版本的內(nèi)核。
Torvalds的內(nèi)核一直使用GNU代碼,包括GNU C編譯器,許多Linux發(fā)行版都使用GNU組件。Stallman一直在游說將“Linux”一詞擴(kuò)展到“GNU/Linux”,他認(rèn)為這個詞既包含了GNU項目在Linux開發(fā)中的角色,也包含了孕育GNU項目和Linux內(nèi)核的基本理念。今天,“Linux”經(jīng)常被用來表示Linux內(nèi)核和GNU元素的存在。與此同時,許多手持設(shè)備和智能手機(jī)上的嵌入式系統(tǒng)通常使用Linux內(nèi)核,很少甚至沒有GNU組件。
Linux 的核心特性
盡管 Linux 內(nèi)核從 Unix 那里繼承了很多目標(biāo)和屬性,但是從以下幾個方面考量的話,和早期系統(tǒng)還是有許多不同的地方:
· Linux 的核心組件是內(nèi)核,它和其他的操作系統(tǒng)組件完全獨立。這就意味著 Linux 可以通過其他來源(諸如 GNU)借用所需要任何的組件來組成一個完整的操作系統(tǒng)。
· Linux 是免費(fèi)的、開源的。由開發(fā)人員社區(qū)共同維護(hù)的內(nèi)核通過 GNU 的通用公共許可證(這是自由軟件基金會基于 GNU 項目的一個分支)進(jìn)行授權(quán),并且可以自由下載和修改。GPL 規(guī)定基于原始軟件的衍生產(chǎn)物必須遵循和保留原始軟件的許可條款內(nèi)容。
· Linux 有一個類似于 Unix 的單片內(nèi)核,但是 Linux 也可以根據(jù)需要動態(tài)地加載和卸載內(nèi)核代碼。
· 和傳統(tǒng)的 Unix 實現(xiàn)不同的是,Linux 支持對稱多處理架構(gòu)(SMP)。這意味著單個操作系統(tǒng)可以訪問多個共享主存的處理器以及所有的輸入輸出設(shè)備。
· Linux 的內(nèi)核是搶占式的,這是 Linux 和 Unix 之間的另一個差異。這意味著調(diào)度器可以在驅(qū)動程序或內(nèi)核的其他部分在運(yùn)行時強(qiáng)制進(jìn)行切換。
· Linux 沒有線程和普通進(jìn)程的區(qū)分。
· Linux 支持命令行界面(CLI),除此之外,也可以支持圖形用戶界面(GUI)。
四、流行的Linux發(fā)布版
開發(fā)者目前維護(hù)了諸多流行的Linux發(fā)行版。其中存在時間最長的是Debian,它是一個免費(fèi)的開源發(fā)行版,擁有50,000個軟件包。Debian啟發(fā)了另一個流行的發(fā)行版Ubuntu,由Canonical Ltd所資助。Ubuntu使用Debian的deb包格式和包管理工具,并且Ubuntu開發(fā)者將改動推回到上游的Debian。
Red Hat,F(xiàn)edora和CentOS之間存在著類似的關(guān)系。Red Hat在1993年創(chuàng)建了Linux發(fā)行版,十年后將其分割為Red Hat Enterprise Linux和Fedora,后者是一個基于社區(qū)的操作系統(tǒng),它使用了Linux內(nèi)核和來自GNU Project中的元素。Red Hat還與CentOS Project建立了合作關(guān)系,這是另一個流行的用于Web服務(wù)器的Linux發(fā)行版。然而這種關(guān)系不包括付費(fèi)維護(hù)。與Debian一樣,CentOS由開發(fā)者社區(qū)維護(hù)的。
結(jié)論
在本文中,我們討論了Linux根源于Unix中的特性以及它自身的一些定義特性。如果您有興趣了解更多關(guān)于Linux和Unix變體(包括FreeBSD)的歷史,那么我們的FreeBSD系列可能會是很好的開始。另一個選項可以考慮下我們的Linux使用導(dǎo)學(xué)系列。您還可以查看Linux文件系統(tǒng)布局的介紹、關(guān)于如何使用find和locate命令在Linux VPS中搜索文件的討論,或者關(guān)于命令行中正則表達(dá)式的介紹。
以上就是小編今天為大家分享的關(guān)于關(guān)于Linux的發(fā)展簡史你了解多少?的文章,希望本篇文章能夠?qū)δ阌兴鶐椭?,想要了解更多Linux相關(guān)知識記得關(guān)注馬哥Linux培訓(xùn)官網(wǎng)。
英文:Kathleen Juell,翻譯:開源中國
www.oschina.net/translate/brief-history-of-linux