### Linux簡介 ```bash # Linux是什麼? 與大家熟知的 Windows 操作系統軟體一樣,Linux 也是一個操作系統軟體。但是與Windows 不同的是,Linux 是一套開放源代碼程式的、並且可以自由傳播的類 Unix操作系統軟體。其在設計之初,就是基於 Intel x86 ...
Linux簡介
# Linux是什麼?
與大家熟知的 Windows 操作系統軟體一樣,Linux 也是一個操作系統軟體。但是與Windows 不同的是,Linux 是一套開放源代碼程式的、並且可以自由傳播的類 Unix操作系統軟體。其在設計之初,就是基於 Intel x86 系列CPU 架構電腦的。它是一個基於POSIX的多用戶、多任務並且支持多線程和多 CPU 的操作系統。
------
POSIX 全稱為 Portable Operating System Interface,中文翻譯為可移植操作系統介面,POSIX 標准定義了操作系統應該為應用程式提供的介面標準。
------
Linux 是由世界各地成千上萬的程式員設計和開發實現的。當初開發 Linux 系統的目的就是建立不受任何商業化軟體版權制約的、全世界都能自由使用的類 Unix 操作系統相容產品。在過去的20年裡,Linux 系統主要被應用於伺服器端、嵌人式開發和PC桌面3大領域,其中伺服器端領域是重中之重。
我們熟知的大型、超大型互聯網企業(百度、騰訊、sina、阿裡等)都在使用 Linux系統作為其伺服器端的程式運行平臺,全球及國內排名前 1000 的 90%以上的網站使用的主流系統都是 Linux 系統。
從上面的內容可以看出,Linux 操作系統之所以如此流行,是因為它具備如下這些優秀的特點。
- 屬於自由軟體,開放源代碼,可自由修改。
- 與Unix相容,可以說是Unix在個人電腦上的克隆版,具備 Unix 幾乎所有的優秀特性。
- 可自由傳播,無任何商業化版權制約。
- 適合 intel 等×86 CPU 系列架構的電腦。
Linux的起源
關於Unix
說到 Linux 的起源,就不得不提到Linux 之前的Unix 系統。Unix 系統於1969年在 AT&T 的貝爾實驗室誕生,20世紀 70 年代,它逐步盛行,這期間,又產生了一個比較重要的分支,即大約誕生於 1977年的 BSD (Berkeley Software Distribution)系統。
從BSD 系統開始,各大廠商及商業公司開始了根據公司自身的硬體架構,並以 BSD 系統為基礎進行 Unix 系統的研發,從而產生了各種版本的Unix 系統,例如,SUN公司的Solaris,IBM公司的 AIX,HP公司的HP UNIX 等。圖中給出了Unix 系統誕生、發展的時間及版本分支的介紹,供參考。
從圖中可以看到,本書的“主人公”Linux 系統,誕生於1991年左右,因此,可以說 Linux 是從Unix 發展而來的。

Unix 的5大優秀特性
細心的讀者應該會看到前文曾提到 “類 Unix 操作系統相容產品”或“類 Unix 操作系統軟體”?為什麼都要開發類 Unix 系統呢?那是因為 Unix 是一個非常棒的操作系統,它很像是一個非常聰明伶俐但不太聽話的孩子,而開發者們在開發系統時,一方面想要繼承它的“聰明伶俐”,另一方面又想改善它不聽話的一面,故而會有如此考慮。
那麼 Unix 都有哪些 “聰明伶俐”的特點呢?下麵一起來看看吧。
-
技術成熟,可靠性高
使用 Unix 系統時,即使連續運行若幹年也無須重啟,它依然可以工作得非常好。可以毫不誇張地說,只要電腦硬體不壞,Unix 就會很難出現問題。 -
極強的可伸縮性
Unix 支持的 CPU 處理器體系架構非常多,包括 Intel/AMD 及 HP-PA、 MPS、PowerPC、UItraSPARC、ALPHA 等 RISC 晶元,以及 SMP、MPP 等技術。
提示:可能是由於早期各大廠商都基於 Unix進行適合自己的硬體開發,因此,Unix支持的 CPU 架構才更多。 -
強大的網路功能
Internet 互聯最重要的協議 ICP/IP 就是在 Unix 上開發和發展起來的。此外,Unix還支持非常多的常用的網路通信協議,如 NFS、DCE、IPX/SPX、SLIP、PPP 等。 -
強大的資料庫支持能力
Oracle、DB2、Sybase、Informix 等大型資料庫,都將 Unix 作為其主要的資料庫開發和運行平臺,一直到目前為止,依然如此。 -
強大的開發功能
正是 Unix 促使了 C 語言的誕生,並相互促進與發展,成為當時工程師的首選操作系統和開發環境。互聯網早期具有重大意義的軟體新技術的出現幾乎都在Unix上,例如:TCP/IP、 WWW、Java、XML 等。
Unix操作系統的革命
20 世紀70年代中後期,由於各廠商及商業公司開發的 Unix 及內置軟體都是針對自己公司的特定硬體而進行的,因此在其他公司的硬體上基本上無法直接運行,而且當時沒有人對開發基於X86架構 CPU 的系統感興趣。另外,20世紀 70年代末,Unix 又面臨突如其來的被 AT&T 回收版權的重大問題,特別是要求禁止對學生群體提供 Unix 系統源代碼,這樣的問題一度引起了當時 Unix 業界的恐慌,也因此產生了種種商業糾紛。
由於 Unix 面臨版權回收問題,以及代碼不開源等問題,這直接或間接地導致了新的類 Unix 系統的誕生以及自由軟體運動的建立和發展。
1984年,Richard Stallman 發起了開發自由軟體的運動,併成立了自由軟體基金會 (Free Software Foundation, FSF)和GNU 項目。當時發起這個自由軟體運動和創建GNU 項目的目的其實很簡單,就是想開發一個類似於 Unix 系統、並且是自由軟體的完整操作系統,也就是要解決 20世紀 70 年代末 Unix 版權問題以及軟體源代碼面臨閉源的問題,這個系統稱為 GNU 操作系統。
也是在 20 世紀 80 年代初期,同樣是由於之前的 Unix 系統版權和源代碼限制等問題,使得當時大學里教學 Unix 系統的束縛很大。因此,當時的一個大學的教授,名為Andrew Tanenbaum (譚邦寧),於1984 年(大概)開始著手編寫新的用於教學的 Unix 系統,目標是開發新的類 Unix 系統應儘可能地與原有的 Unix 系統相容,並且可以運行於X86 PC 平臺,這個系統的名宇為 Minixo。不過,由於譚邦寧開發這個 Minix 系統的目的只是用於教學,因此,Minix 系統的
功能無法滿足商用的需求,但是 Minix 的產生對於 Linux 的誕生又是至關重要的一個關鍵成因,且看下文。
Linux 的誕生
Linux 系統的誕生開始於芬蘭赫爾辛基大學的一位電腦系的學生,其名字為 Linus Torvalds。 在大學期間,他接觸到了學校的 Unix 系統,但是,當時的 Unix 系統僅為一臺主機,且對應了多個終端,使用時存在操作等待時間很長等一些體驗極差的問題,無法滿足年輕的 Linus Torvalds 的使用需求。因此他就萌生了自己開發一個 Unix 的想法,
不久之後,他就找到了前文提到的譚邦寧教投開發的用於教學的 Minix 操作系統,與我們現在一樣,他將 Minix 安裝到了他的 I386個人電腦上。此後,Torvalds 又開始陸續閱讀了 Minix 系統的源代碼,從 Minix 系統中學到了很多重要的系統核心程式設計理念和和設計思想,從而逐步開始了 Linux 系統維形的設計和開發。
Linux 的標誌和吉祥物為一隻名字叫作 Tux 的企鵝。
Linux 的發展歷程
1)1984年,Andrew S. Tanenbaum 開發了用於教學的 Unix 系統,命名為 Minix。
2)1989年,Andrew S. Tanenbaum 將 Minix 系統運行於x86 的個人電腦平臺上。
3)1990年,芬蘭赫爾辛基大學學生 Linus Torvalds 首次接觸 Minix 系統。
4)1991年,Linus Torvalds 開始在 Minix 上編寫各種驅動程式等操作系統內核組件。
5)1991年底,Linus Torvalds 公開了Linux 內核源碼0.02版(http:/www.kernelorg),註意,這裡公開的 Linux 內核源碼並不是我們現在使用的 Linux 系統的全部,而僅僅是 Linux 內核kernel 部分的代碼。
6)1993年,Linux 1.0版發行,Linux 轉向GPL版權協議。
7)1994年,Linux 的第一個商業發行版 Slackware 問世。
8)1995年,Red Hat 軟體公司成立,同年發佈了 Red Hat Linux 2.0。
8)1996 年,美國國家標準技術局的電腦系統實驗室確認 Linux 版本 1.2.13(由Open Linux 公司打包)符合 POSIX 標準。
9)1997年,Red Hat Linux 5.0 發佈,它支持 Intel、Alpha 和 Sparc 平臺以及大多數的應用軟體。極其簡單易用的 RPM 模塊化的安裝、配置和卸載工具,使程式的安裝可在 15 分鐘內完成。軟體升級也更加方便了。
10)1999年,Linux 的簡體中文發行版問世。
11)2003年4月,Red Hat Linux 9.0 發佈。其重點放在改善桌面應用方面,包括改進安裝過程、更好的字體瀏覽、更好的列印服務等。2003年,Red Hat 的 Linux 市場份額為 80%以上
12)2004年4月,Red Hat 公司正式停止對 Red Flat 9.0 版本的支持,標志著 Red Hat Linux 的正式完結。原本的桌面版 Red Hlat Linux 發行包則與來自民間的 Fedora 計劃合併,成為 Fedora Core 發行版本。Red Hat 公司不再開發桌面版的 Linux 發行包,而將全部力量集中在伺服器版的開發上,也就是Red Hat Enterprise Linux 版。
13)2005年10月,RHEL4 發佈。
14)2007 年3月,主流版本 RHELS 發 布,Cent OS 系統開始在中國互聯網公司流行。
15)2010年4月,RHEL6 (RedHat Enterprise Linux 6.0)BETA 測試版發佈。
16)2014年6月RedHat Enterprise Linux 7.0 發佈,RHEL7.0 版本相較於 RHEL6.0以前的版本有了較大的變化,例如,內核版本升級到 3.10以上,系統啟動和基本管理變化較大,文件系統也由傳統的ext 改為xfs,同時在大數據、雲計算、Docker 方面做了很大優化。
總結:上面涉及的一些重要知識點
Linux 發展歷程中的相關重要人物
Richard Stallman 自由軟體運動發起人
Andrew S. Tanenbaum Minix開發者
Linus Torvalds 在Minix上寫Linux內核,Linux之父
關於自由軟體與 FSF
1、自由軟體:(freedom自由,而非free免費),自由不一定意味著免費。例如,Red Hat Linux 自由但不免費,CentOS Linux 則是自由且免費的。
簡單地理解,自由軟體的核心就是沒有商業化軟體版權制約,源代碼開放,可以無約束地自由傳播。
自由軟體關乎使用者運行、複製、發佈、研究、修改和改進該軟體的自由。更精確地說,自由軟體賦予軟體使用者四種自由,具體如下:
- 不論目的為何,有運行該軟體的自由。
- 有研究該軟體如何運行,以及按需改寫該軟體的自由
- 重新發佈拷貝的自由。
- 有改進該軟體,以及向公眾發佈改進版本的自由,這樣整個社群都可受惠。同樣,取得該軟體的源碼為達成此目的之前提。
2、自由軟體基金會 FSF
FSF (Free Software Foundation)的中文意思是自由軟體基金會,是 Richard Stallman於1984年發起和創辦的。FSF 的主要項目是 GNU 項日。它的目標是建立可自由發佈和可移植的類 Unix 操作系統產品。GNU 項目本身產生的主要軟體包括:Emnacs 編輯軟體、gcc編譯軟體、bash 命令解釋程式和編程語言,以及gawk (GNU's axk)等。
關於GNU
GNU 的全稱為 GNU's not Unix,意思是“GNU 不是 UnixGNU 計劃,又稱革奴計劃,是由 Richard Stallman 在 1984 年公開發起的,是FSF 的主要項目。前面己經提到過,這個項目的目標是建立一套完全自由的和可移植的類 Unix 操作系統。
GNU 類 Unix 操作系統是由一系列應用程式、系統庫和開發工具構成的軟體集合(例如,Emacs 編輯軟體、gcc 編譯軟體、bash 命令解釋程式和編程語言,以及gawk等),並加上了用於資源分配和硬體管理的內核。但是GNU 自己的內核 Hurd 仍在開發中,離實用還有一定的距離。因此,這個GNU 系統並沒有流行起來。現在的GNU 系統通常是使用 Linux 系統的內核、再加上GNU 項目貢獻的一些組件,以及其他相關程式組成的,這樣的組合被稱為 GNU/Linux操作系統。
到 1991年Linux 內核發佈的時候,GNU 項目已經完成了除系統內核之外的各種必備軟體的開發。在Linus Torvalds
和其他開發人員的努力下,GNU項目的部分組件又運行到了Linux 內核之上,例如,GNU項目里的 Emacs、gee、bash、
gaxk等,至今都是 Linux 系統中很重要的基礎軟體。
關於GPL和LGPL
GPL 全稱為 General Public License,中文名為通用公共許可,由自由軟體基金會 (Free Software Foundation)創建,是一個最著名的開源許可協議。Linux 內核就是在 GPL許可下發佈的。
1934年,Richard Stallman 發起開發自由軟體的運動後不久,在其他人的協作下,他創立了通用公共許可證(GPL),這對推動自由軟體的發展起到了至關重要的作用,那麼,這個GPL 到底是什麼意思呢?
簡單的理解,GPL 的核心,是保證任何人有共用和修改自由軟體的自由,任何人有權取得、修改和重新發佈自由軟體源代碼的權利,但都必須同時給出具體更改的源代碼。
LGPL
LGPL (Lesser General Public License)相對於 GPL 則較為寬鬆,其允許不公開全部源代碼,這為基於 Linux 平臺開發商業軟體提供了更廣闊的空間。對於該知識點,本書僅提及一下,有興趣的讀者可到網上查詢相關信息。
本文來自博客園,作者:Andrew007,轉載請註明原文鏈接:https://www.cnblogs.com/AndrewNotes/p/17602888.html