Linux入門第6天-Linux發(fā)展史

一、Linux發(fā)展簡史

1.1969年以前:Bell焦匈,MIT與GE的“Mutics”系統(tǒng)

Bell:貝爾實驗室遥倦,隸屬于AT&T公司

MIT:麻省理工學(xué)院

GE:通用電氣公司

Mutics:有“多數(shù)”的意思忱叭,意在讓多人同時使用一臺主機的資源(多用戶)

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

·1965年拳芙,Bell察藐、MIT與GE共同發(fā)起Mutics項目皮璧,目的是想讓大型主機可以同時提供300臺以上終端機來連接大型主機;

·1969年前后分飞,Mutics項目資金缺乏悴务,雖然項目仍然進行,不過Bell最終退出了該項目譬猫;

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

2.1969年:Ken Thompson的小型File Server System

Thompson:貝爾實驗室的成員染服,當(dāng)時參與了Mutics項目開發(fā)

·Mutics項目培養(yǎng)了優(yōu)秀的人才别洪,Thompson便是其中一員;

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

·為了移植“太空旅游”游戲挖垛,Thompson將Mutics項目中龐大復(fù)雜的系統(tǒng)進行簡化痒钝,在PDP-7主機上以匯編語言寫出了一組內(nèi)核程序、內(nèi)核工具程序以及一個小的文件系統(tǒng)痢毒,被稱為Unics(UNIX的原型)送矩;

·Thompson開發(fā)的文件系統(tǒng)概念:

a.所有的程序或系統(tǒng)裝置都是文件

b.不管構(gòu)建編輯器還是附屬文件,所寫的程序只有一個目的哪替,就是要有效地完成目標(biāo)

3.1973年:UNIX正式誕生栋荸,Ritchie等人以C語言寫出第一個正式UNIX內(nèi)核

匯編語言:具有專一性,與硬件相關(guān)凭舶,Unics即用匯編語言所開發(fā)

B語言:高級語言晌块,但所編譯出來的內(nèi)核性能不是很好

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

·Thompson開發(fā)的Unics實用性強帅霜,在Bell內(nèi)部廣為流傳摸袁;

·當(dāng)時計算機機器架構(gòu)(硬件架構(gòu))都不太相同,給Unics移植帶來一定的復(fù)雜性义屏;

·Ritchie將B語言改寫成C語言靠汁,并與Thompson合作,用C語言來重新必定與編譯Unics的內(nèi)核闽铐;

·發(fā)行出UNIX的正式版本蝶怔;

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

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

可移植性:UNIX用高級語言開發(fā)踢星,理論具有可移植性,即只要取得UNIX的源碼隙咸,針對不同主機特性加以修改沐悦,即可以移植到不同的主機上

Berkeley:加州柏克萊分校

Bill Joy:Sun公司創(chuàng)始人

Berkeley Softsare Distribution:即BSD

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

·由于UNIX的可移植特性五督,1973年后藏否,Bell得以與學(xué)術(shù)界合作開發(fā)UNIX(學(xué)術(shù)界進行學(xué)術(shù)研究,往往需要使用計算機充包,而當(dāng)時缺乏的是一個好的操作系統(tǒng))副签;

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

·Berkeley的Bill Joy取得UNIX的內(nèi)核源碼后基矮,修改成適合自己機器的版本淆储,增加很多工具軟件與編譯程序,并將其命名為Berkeley Softsare Distribution家浇,即BSD本砰;

·Bell Joy創(chuàng)建辦Sun公司,以其修改的內(nèi)核(BSD)來進行自己的商業(yè)UNIX版本的開發(fā)钢悲。

5.1979年:重要的System V架構(gòu)與版權(quán)聲明

協(xié)議:這里指硬件架構(gòu)的通用生產(chǎn)協(xié)議点额,當(dāng)時計算機硬件公司沒有該概念青团,因此所生產(chǎn)的硬件需要合適的UNIX系統(tǒng)

x86:早期的個人計算機架構(gòu),該架構(gòu)下的CPU沒有多任務(wù)的作業(yè)能力

純種的UNIX:指BSD以及System V

·UNIX高可移植性咖楣、強大性能督笆、無版權(quán)糾紛,商業(yè)公司開發(fā)UNIX操作系統(tǒng)诱贿,推出自家的主機搭配“自家”的UNIX操作系統(tǒng)娃肿;

·這些公司開發(fā)的硬件沒有遵循統(tǒng)一的協(xié)議(當(dāng)時沒有),開發(fā)的UNIX操作系統(tǒng)及相關(guān)軟件只能在自家硬件架構(gòu)的主機上運行珠十;

·這些公司有:AT&T料扰、IBM、HP焙蹭、DEC晒杈、Sun、Cray等孔厉;

·UNIX強調(diào)多用戶拯钻、多任務(wù),由于x86的特性撰豺,沒有人愿意移植UNIX到x86架構(gòu)主機上粪般;

·AT&T推出的System V第七版UNIX,支持x86架構(gòu)的個人計算機污桦;

·AT&T出于商業(yè)考慮亩歹,發(fā)行其第七版UNIX時,提出“不可對學(xué)生提供源碼”凡橱,即要將UNIX版權(quán)收回小作。

6.1984年之一:x86架構(gòu)的Minix操作系統(tǒng)誕生

Minix:迷你的UNIX操作系統(tǒng)

·System V每七版的版權(quán)聲明,影響了教導(dǎo)UNIX內(nèi)核源碼學(xué)問的譚寧邦教授稼钩;

·為了教學(xué)的方便顾稀,譚寧邦教授與UNIX兼容的迷你UNIX操作系統(tǒng)Minix;

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

·譚寧邦教授沒有繼續(xù)開發(fā)Minix,只是點到為止绍载。

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

Richard Mathew Stallman:史托曼,GNU項目發(fā)起人滔蝉,起草GPL

GNU項目:創(chuàng)建一個自由击儡、開放的UNIX操作系統(tǒng)(Free UNIX)

GPL:,General Public License蝠引,GNU的通用公共許可證阳谍,避免GNU自由軟件被商業(yè)利用而發(fā)起

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

Lisp:MIT開發(fā)的操作系統(tǒng),屬于專利軟件矫夯,史托曼早期在Lab中即使用其來開發(fā)軟件

Free Software Foundation:即FSF鸽疾,自由軟件基金會

--自由分享的環(huán)境

·史托曼早年進入AI Lab.中,強調(diào)“分享”训貌,對于軟件沒有專利的困擾制肮;

·AI Lab.的管理層問題,導(dǎo)致優(yōu)秀黑客離開并加入商業(yè)公司開發(fā)軟件递沪;

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

--使用UNIX開發(fā)階段

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

·UNIX在那時雖然也是專利軟件桩了,但相比Lisp,其在架構(gòu)上還是比較開放的埠戳;

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

--GNU項目的推展

·1984年史托曼開始GNU項目乞而,旨在創(chuàng)建一個自由送悔、開放的UNIX操作系統(tǒng);

·由于當(dāng)時只用史托曼一個人爪模,并且創(chuàng)建操作系統(tǒng)并不容易欠啤,困難重重;

·史托曼采取“先開發(fā)UNIX操作系統(tǒng)上的軟件”的策略屋灌,這些軟件稱為GNU軟件洁段;

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

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

·FSF請更多工程師和志愿者來編寫軟件写半;

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

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

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

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

Emacs

GNU C(GCC)

GNU C Library(GLIBC)

Bash shell

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

·這些軟件仍然是在那些授權(quán)的UNIX平臺上工作年缎,當(dāng)時并沒有“自由的UNIX內(nèi)核”存在悔捶,直到Linux出現(xiàn)铃慷。

9.1988年:圖形接口XFree86項目

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

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

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

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

10.1991年:荷蘭大學(xué)生Linus Torvalds的一則消息

·1991年馋缅,Torvalds在BBS上發(fā)布消息,稱以bash淤齐,gcc等工具寫了一個小小的內(nèi)核程序股囊,并可以在Intel的386機器上面運行。

二更啄、GNU項目

1.自由軟件(Free Software)活動

·將源碼連同軟件程序一起公布的舉動稚疹,就是自由軟件活動。

2.自由軟件的版權(quán):GNU GPL

·GNU=GNU's Not UNIX祭务;

·GNU與FSF開發(fā)出來的軟件都掛上GPL的版權(quán)聲明内狗,F(xiàn)SF內(nèi)核觀念是:版權(quán)制度是促進社會進步的手段,版權(quán)本身不是自然權(quán)力义锥。

3.自由軟件“自由(Free)”的真諦

·史托曼對GPL一直是強調(diào)Free的柳沙;

·Free的解釋:

-英文解釋:

"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free speech", not "free beer". "Free software" refers to the users' freedom to run, copye, distribute, study, change, and improve the software.

-中文大意:

自由軟件是和種自由的權(quán)力,并非是“價格”拌倍。例如赂鲤,你擁有自由呼吸和言論自由的權(quán)力,但這不意味著你可以到處喝免費的啤酒(也就是說柱恤,自由軟件的重點并不是指“免費”的)数初,而是指具有“自由度”的軟件)。自由軟件意味著用戶可以自由執(zhí)行梗顺、復(fù)制泡孩、再發(fā)行、學(xué)習(xí)寺谤、修改和改善自由軟件仑鸥。

·一個軟件掛上GPL版權(quán)聲明后,就成了自由軟件变屁,可以獲得其源碼倾哺,然后進行如下的操作:

a.取得軟件與源碼

b.復(fù)制

c.修改

d.再發(fā)行

e.改善

·但不能把修改后的自由軟件作如下要求:

a.修改授權(quán):不能將GPL授權(quán)的軟件在經(jīng)過自己修改后取消GPL授權(quán)

b.單純銷售

4.自由軟件與商業(yè)行為

服務(wù):軟件铲敛、源碼救斑、軟件相關(guān)手冊說明文件心褐、軟件咨詢服務(wù)、技術(shù)支持服務(wù)等誊役;

·自由軟件可以進行銷售获列,但需要連同售后服務(wù)一起提供,其實銷售的就是服務(wù)蛔垢;

·一些Linux開發(fā)商自己開發(fā)的軟件工具則不一定是自由軟件击孩,主要看有無GPL授權(quán)。

三鹏漆、Tlrvalds(托瓦茲)的Linux開發(fā)

1.接觸Minix

Minix:前面已經(jīng)提到過巩梢,類似UNIX,并與UNIX兼容艺玲,可以在Intel 386的個人計算機上運行

·Tlrvalds從小就有匯編語言的學(xué)習(xí)基礎(chǔ)

·因使用UNIX的不便括蝠,轉(zhuǎn)而使用Minix;

·Tlrvalds購買Intel 386計算機饭聚,安裝了Minix忌警;

·從Minix提供的源碼中,Tlrvalds學(xué)習(xí)到了很多內(nèi)核程序的設(shè)計概念秒梳。

2.對386硬件的多任務(wù)測試

多任務(wù):同時運行多個程序(CPU工作的切換)

·早期Intel 86架構(gòu)計算機不受重視法绵,因為對多任務(wù)支持不佳;

·Intel 386計算機在此性能上有提高酪碘;

·Tlrvalds貸款購買386計算機朋譬,并對硬件做多任務(wù)測試。(先測試兴垦,再安裝Minix)

3.初次釋出Linux 0.02

POSIX:可攜式操作系統(tǒng)接口徙赢,在于規(guī)范內(nèi)核與應(yīng)用程序之間的接口,該標(biāo)準(zhǔn)主要是針對UNIX與一些軟件運行時候的標(biāo)準(zhǔn)

·測試386硬件并安裝Minix后探越,Tlrvalds決定自己寫一個內(nèi)核程序狡赐;

·使用GNU的bash與Gcc,Tlrvalds開發(fā)出能夠在386計算機上運行的內(nèi)核程序扶关;

·發(fā)布消息阴汇,公布內(nèi)核源碼在FTP的Linux目錄下,于是該內(nèi)核程序被稱為Linux节槐,此時版本為0.02.

·為了兼容UNIX搀庶,讓更多軟件能在Linux上運行,Tlrvalds參考標(biāo)準(zhǔn)的POSIX規(guī)范铜异,修改Linux哥倔;

·于是Linux就有了許多與UNIX相像的特性,這也是它們的區(qū)別與聯(lián)系揍庄。

4.Linux的開發(fā):虛擬團隊產(chǎn)生

--單一個人維護階段

·網(wǎng)友下載Linux內(nèi)核后有問題或有需求咆蒿,向Tlrvalds提出;

·Tlrvalds解決后,在FTP發(fā)布最新的Linux內(nèi)核沃测,并告知版本號缭黔。

--廣大志愿者加入階段

·有些硬件無法取得,托瓦茲不可能解決所有的問題蒂破;

·擁有相關(guān)硬件的志愿者馏谨,寫出相關(guān)驅(qū)動程序與軟件,并交由Tlrvalds附迷;

·Tlrvalds將其帶入內(nèi)核經(jīng)測試可行后惧互,即將志愿者的代碼加入其內(nèi)核中;

·后來將上述隨時都可能加入到內(nèi)核的程序代碼喇伯,先做成模塊喊儡,也即讓Linux具有模塊的功能;

·模塊后就無需“每次要實現(xiàn)對某硬件的支持都要將其寫入內(nèi)核中”稻据。

--內(nèi)核功能細部分分工開發(fā)階段

·素未謀面的網(wǎng)友幫助Tlrvalds進行內(nèi)核程序的測試艾猜,由Tlrvalds作最后內(nèi)核加入的源碼的選擇與整并;

·這些來自五湖四海的人們便組成了虛擬團隊攀甚;

·為了方便團隊的數(shù)據(jù)傳輸箩朴,Linux成立了內(nèi)核網(wǎng)站:www.kernel.org

·1994年,完成內(nèi)核正式版1.0秋度,并加入了X Window System的支持炸庞;

·1995年,完成2.0版本荚斯,Tlrvalds并指定企鵝為Linux的吉祥物埠居。

5.Linux的內(nèi)核版本

2.6.32-431.e16

·各組數(shù)字說明:

major

2

minor

6

patch

32

build

431

desc

e16

表示主版本號,有結(jié)構(gòu)性變化時才變更 表示次版本號事期,新增功能時才發(fā)生變化滥壕;一般奇數(shù)表示測試版,偶數(shù)

表示生產(chǎn)版兽泣。

表示對次版本的修訂次數(shù)或補丁包數(shù) 表示編譯(或構(gòu)建)的次數(shù)绎橘,每次編譯可能對少量程序做優(yōu)化或修改,但一般沒有大的(可控的)功能變化 用來描述當(dāng)前的版本特殊信息唠倦;其信息由編譯時指定称鳞,具有較大的隨意性,但也有一些描述標(biāo)識是常用的

6.Linux distributions(Linux系統(tǒng)發(fā)行版本)

·Linux只是一個可操縱硬件的內(nèi)核及其相關(guān)的內(nèi)核工具

·一些商業(yè)公司或非營利團體考慮到普通用戶的實際需求稠鼻,制定發(fā)布Linux發(fā)布商套件(Linux distributions):

wKiom1XSgyuj2QGaAAEySxm67w8413.jpg

·Linux是GPL授權(quán)的冈止,因此Linux distribution也可以從網(wǎng)上下載和使用;

·商業(yè)公司是將Linux distribution和其提供的服務(wù)一起售賣的候齿。

·目前Linux distribution的開發(fā)團體很多熙暴,但是這些團體在以下這些方面都是一致的:

a.Linux內(nèi)核版本

b.FHS:目錄結(jié)構(gòu)樹的規(guī)范標(biāo)準(zhǔn)

c.LSB:增強Linux發(fā)行版兼容性的規(guī)范闺属,可參考:http://www.ibm.com/developerworks/cn/linux/l-lsb-intr/

d.Linux下的主流軟件

·在以下這些方面可能是不一致的:

a.開發(fā)商自家開發(fā)的管理工具(含自由軟件與商業(yè)軟件)

b.套件管理的模式(RPM與dpkg)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市周霉,隨后出現(xiàn)的幾起案子掂器,更是在濱河造成了極大的恐慌,老刑警劉巖诗眨,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唉匾,死亡現(xiàn)場離奇詭異孕讳,居然都是意外死亡匠楚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門厂财,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芋簿,“玉大人,你說我怎么就攤上這事璃饱∮虢铮” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵荚恶,是天一觀的道長撩穿。 經(jīng)常有香客問我,道長谒撼,這世上最難降的妖魔是什么食寡? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮廓潜,結(jié)果婚禮上抵皱,老公的妹妹穿的比我還像新娘。我一直安慰自己辩蛋,他們只是感情好呻畸,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著悼院,像睡著了一般伤为。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上据途,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天绞愚,我揣著相機與錄音,去河邊找鬼昨凡。 笑死爽醋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的便脊。 我是一名探鬼主播蚂四,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了遂赠?” 一聲冷哼從身側(cè)響起久妆,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎跷睦,沒想到半個月后筷弦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡抑诸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年烂琴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜕乡。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡奸绷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出层玲,到底是詐尸還是另有隱情号醉,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布辛块,位于F島的核電站畔派,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏润绵。R本人自食惡果不足惜线椰,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望授药。 院中可真熱鬧士嚎,春花似錦、人聲如沸悔叽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娇澎。三九已至笨蚁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間趟庄,已是汗流浹背括细。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留戚啥,地道東北人奋单。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像猫十,于是被迫代替她去往敵國和親览濒。 傳聞我的和親對象是個殘疾皇子呆盖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容