1. 程式人生 > >Linux學習之一-從三個重要人物的故事和一張思維導圖說起

Linux學習之一-從三個重要人物的故事和一張思維導圖說起

工具 困難 一個人 人工智 計算 全世界 str 三方 微軟

Linux是一套自由加開放源代碼的類Unix操作系統,誕生於1991年10月5日(第一次正式向外公布),由芬蘭學生Linus Torvalds和後來陸續加入的眾多愛好者共同開發完成。

Linux是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的Unix工具軟件、應用程序和網絡協議,可支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

Linux存在著許多不同的版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬件設備中,比如:手機、平板電腦、路由器、視頻遊戲控制臺、臺式計算機、大型機和超級計算機。

嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU工程各種工具和數據庫的操作系統。

1.1969年以前:Bell,MIT與GE的"Mutics"系統

Bell:貝爾實驗室,隸屬於AT&T公司

MIT:麻省理工學院

GE:通用電氣公司

Mutics:有"多數"的意思,意在讓多人同時使用一臺主機的資源(多用戶)

·60年代初,MIT開發出分時操作系統,最多同時提供30臺終端機(技術上的限制)連接一臺大型主機,以讓更多用戶可以同時使用同一臺昂貴主機的資源;

·1965年,Bell、MIT與GE共同發起Mutics項目,目的是想讓大型主機可以同時提供300臺以上終端機來連接大型主機;

·1969年前後,Mutics項目資金缺乏,雖然項目仍然進行,不過Bell最終退出了該項目;

·Mutics項目最終還是成功的,只是沒有受到太大的重視(需求問題)。

2.1969年:Ken Thompson的小型File Server System

Thompson:貝爾實驗室的成員,當時參與了Mutics項目開發

·Mutics項目培養了優秀的人才,Thompson便是其中一員;

·Thompson從Mutics項目中獲得了不少的想法;

·為了移植"太空旅遊"遊戲,Thompson將Mutics項目中龐大復雜的系統進行簡化,在PDP-7主機上以匯編語言寫出了一組內核程序、內核工具程序以及一個小的文件系統,被稱為Unics(UNIX的原型);

·Thompson開發的文件系統概念:

a.所有的程序或系統裝置都是文件

b.不管構建編輯器還是附屬文件,所寫的程序只有一個目的,就是要有效地完成目標

3.1973年:UNIX正式誕生,Ritchie等人以C語言寫出第一個正式UNIX內核

匯編語言:具有專一性,與硬件相關,Unics即用匯編語言所開發

B語言:高級語言,但所編譯出來的內核性能不是很好

C語言:高級語言,由Dennis Ritchie將B語言重新改寫而成

·Thompson開發的Unics實用性強,在Bell內部廣為流傳;

·當時計算機機器架構(硬件架構)都不太相同,給Unics移植帶來一定的復雜性;

·Ritchie將B語言改寫成C語言,並與Thompson合作,用C語言來重新必定與編譯Unics的內核;

·發行出UNIX的正式版本;

·由於高級語言的特性,UNIX很容易被移植到不同的機器上(硬件架構不同的主機)。

4.1977年:重要的UNIX分支——BSD誕生

可移植性:UNIX用高級語言開發,理論具有可移植性,即只要取得UNIX的源碼,針對不同主機特性加以修改,即可以移植到不同的主機上

Berkeley:加州柏克萊分校

Bill Joy:Sun公司創始人

Berkeley Softsare Distribution:即BSD

FreeBSD:由BSD改版而來,可以安裝在x86硬件架構上

·由於UNIX的可移植特性,1973年後,Bell得以與學術界合作開發UNIX(學術界進行學術研究,往往需要使用計算機,而當時缺乏的是一個好的操作系統);

·Bell與Berkeley進行了重要的接觸;

·Berkeley的Bill Joy取得UNIX的內核源碼後,修改成適合自己機器的版本,增加很多工具軟件與編譯程序,並將其命名為Berkeley Softsare Distribution,即BSD;

·Bell Joy創建辦Sun公司,以其修改的內核(BSD)來進行自己的商業UNIX版本的開發。

5.1979年:重要的System V架構與版權聲明

協議:這裏指硬件架構的通用生產協議,當時計算機硬件公司沒有該概念,因此所生產的硬件需要合適的UNIX系統

x86:早期的個人計算機架構,該架構下的CPU沒有多任務的作業能力

純種的UNIX:指BSD以及System V

·UNIX高可移植性、強大性能、無版權糾紛,商業公司開發UNIX操作系統,推出自家的主機搭配"自家"的UNIX操作系統;

·這些公司開發的硬件沒有遵循統一的協議(當時沒有),開發的UNIX操作系統及相關軟件只能在自家硬件架構的主機上運行;

·這些公司有:AT&T、IBM、HP、DEC、Sun、Cray等;

·UNIX強調多用戶、多任務,由於x86的特性,沒有人願意移植UNIX到x86架構主機上;

·AT&T推出的System V第七版UNIX,支持x86架構的個人計算機;

·AT&T出於商業考慮,發行其第七版UNIX時,提出"不可對學生提供源碼",即要將UNIX版權收回。

6.1984年之一:x86架構的Minix操作系統誕生

Minix:迷你的UNIX操作系統

·System V每七版的版權聲明,影響了教導UNIX內核源碼學問的Andrew S. Tanenbaum教授技術分享圖片

·為了教學的方便,譚邦寧教授與UNIX兼容的迷你UNIX操作系統Minix;

·Minix只能通過磁盤/磁帶購買,但是提供Minix源碼;

·譚邦寧教授沒有繼續開發Minix,只是點到為止。

7.1984年之二:GNU項目與FSF基金會成立

Richard Mathew Stallman:史托曼

技術分享圖片

GNU項目發起人,起草GPL

GNU項目:創建一個自由、開放的UNIX操作系統(Free UNIX)

GPL:,General Public License,GNU的通用公共許可證,避免GNU自由軟件被商業利用而發起

AI Lab.:黑客圈中出名的人工智能實驗室,1971年史托曼進入該實驗室

Lisp:MIT開發的操作系統,屬於專利軟件,史托曼早期在Lab中即使用其來開發軟件

Free Software Foundation:即FSF,自由軟件基金會--自由分享的環境

·史托曼早年進入AI Lab.中,強調"分享",對於軟件沒有專利的困擾;

·AI Lab.的管理層問題,導致優秀黑客離開並加入商業公司開發軟件;

·史托曼堅持分享、自由而留下來,但意識到需要成立一個開放的團體來共同努力。

--使用UNIX開發階段

·實驗室硬件的更換,使得史托曼放棄了Lisp,並得以接觸UNIX;

·UNIX在那時雖然也是專利軟件,但相比Lisp,其在架構上還是比較開放的;

·史托曼將在Lisp上寫的軟件移植到UNIX上,並公布源碼。

-GNU項目的推展

·1984年史托曼開始GNU項目,旨在創建一個自由、開放的UNIX操作系統;

·由於當時只用史托曼一個人,並且創建操作系統並不容易,困難重重;

·史托曼采取"先開發UNIX操作系統上的軟件"的策略,這些軟件稱為GNU軟件;

·開發出Emacs:程序編輯器(非編譯器),進行程序語法的檢查;

·為了開發出UNIX下的編譯程序(非常重要),史托曼利用Emacs出售賺來的錢,成立FSF;

·FSF請更多工程師和誌願者來編寫軟件;

·進而開發的重要軟件:Gcc,C語言的編譯程序

8.1985年:GNU的通用公共許可證——GPL

·起草GPL,是為了避免GNU自由軟件被他人利用而成為專利軟件

·GNU項目的重要自由軟件:

Emacs

GNU C(GCC)

GNU C Library(GLIBC)

Bash shell

·這些軟件使得軟件開發者可以更好地進行軟件開發工作,從而壯大了自由軟件團體;

·這些軟件仍然是在那些授權的UNIX平臺上工作,當時並沒有"自由的UNIX內核"存在,直到Linux出現。

9.1988年:圖形接口XFree86項目

XFree86:,開發用戶圖形接口的非營利性組織,即X Window System + Free + x86的簡稱

·用戶圖形接口需求日益加重;

·MIT在1984年已與第三方合作開發出X Window System;

·MIT在1988年成立非營利性組織XFree86。

10.1991年:荷蘭大學生Linus Torvalds的一則消息

技術分享圖片

Linus Torvalds被稱作Linux之父,著名的電腦程序員、黑客。Linux內核的發明人及該計劃的合作者。他利用個人時間及器材創造出了這套當今全球最流行的操作系統內核之一,現受聘於開放源代碼開發實驗室(OSDL:Open Source Development Labs, Inc),全力開發Linux內核。

·1991年,Torvalds在BBS上發布消息,稱以bash,gcc等工具寫了一個小小的內核程序,並可以在Intel的386機器上面運行。

企鵝的來源

1994年發表Linux正式核心1.0的時候,大家要Linus Torvalds想一只吉祥物,他想起曾經在澳大利亞的一個動物園裏被企鵝咬過,幹脆就以企鵝來當吉祥物了!

技術分享圖片

更容易接受的說法是:企鵝代表南極,而南極又是全世界共有個一塊陸地,不屬於任何國家。也就是說Linux不屬於

任何商業公司,是全人類每個人都可以分享的一項技術成果。

一張Linux基礎思維導圖

技術分享圖片

內容參考自:

https://zh.wikipedia.org/wiki/Linux#%E6%AD%B7%E5%8F%B2

https://yq.aliyun.com/articles/40702

https://blog.csdn.net/liang19890820/article/details/51868167

https://raw.githubusercontent.com/phith0n/Mind-Map/master/Linux%20Security%20Coaching.png

Linux學習之一-從三個重要人物的故事和一張思維導圖說起