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