【正厚軟件】0基礎(chǔ)學(xué)IT,來Linux的發(fā)展歷史吧-創(chuàng)新互聯(lián)

本文來源:正厚軟件沙老師

目前創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、西青網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

Linux 的發(fā)展歷史

1991年林納斯.托瓦茲開發(fā)了Linux內(nèi)核,宣布它的誕生。

1999年,IBM宣布于RedHat公司建立伙伴關(guān)系,以確保RedHat在IBN機(jī)器上的正確運行。

2001年,IBM決定投入10億美元擴(kuò)大Linux系統(tǒng)的運用,引得許多站點紛紛從windows操作系統(tǒng)轉(zhuǎn)向Linux操作系統(tǒng)。

2002年,Linux企業(yè)化,內(nèi)核開發(fā)者宣布新的Linux系統(tǒng)支持64位的計算機(jī)。

2003年,NEC宣布將在其手機(jī)中使用Linux操作系統(tǒng),代表著Linux進(jìn)軍手機(jī)領(lǐng)域。

714b8be6fccaa6f23131a616adf575a7.jpeg

1、Multics

MULTiplexed Information and Computing System

1965年前后,由貝爾實驗室(Bell),麻省理工學(xué)院(MIT)和通用電氣公司(GE)共同發(fā)起了 Multics 的項目,Multics 項目的目的是想讓大型主機(jī)可以同時提供300臺以上的終端機(jī)連接使用的一套多用戶(multi-user)、多任務(wù)(multi-processor)、多層次(multi-level)的操作系統(tǒng)。但到了1969年前后,項目進(jìn)度落后,資金短缺,所以雖然項目在繼續(xù),但是Bell實驗室退出了該項目的研究。

2、Unics

1969年,原本參與該項目的人員中,Ken Thompson因為自己的需要(想移植一套之前開發(fā)的能用于 Multics 系統(tǒng)的名為 " star travel " 的游戲),并總結(jié)之前失敗的教訓(xùn),用匯編語言開發(fā)出了一個小的文件系統(tǒng),并戲稱這套只能支持兩個使用者的系統(tǒng)為 Unics(UNiplexed Information and Computing System)。該系統(tǒng)即是Unix的原型。

這個文件系統(tǒng)有兩個 重要的概念:

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

● 不管構(gòu)建編譯器還是附屬文件,寫程序只有一個目標(biāo):有效地完成任務(wù)

3、Unix

1973年,因為 Thompson 寫的操作系統(tǒng)太好用了,所以在 Bell 廣為流傳,但因為用的是匯編語言寫的,因此對硬件的依賴性很強(qiáng)。后來Thompson與同事Ritchie合作將 Unics 用高級語言 B 語言重寫,但最后發(fā)現(xiàn)效果不好,于是 Dennis Ritche 將 B 語言重寫改成 C 語言,再用 C 語言重新改寫 Unics 的內(nèi)核,最后發(fā)行出 Unix 的正式版本。

4、Unix 的重要分支 —— BSD

1977年,因為 Unix 用C語言編寫,所以可移植性較強(qiáng)。于是 Unix 與學(xué)術(shù)界合作開發(fā),最重要的接觸是 Berkeley 大學(xué)的合作。最后 Berkeley 的 Bill Joy 開發(fā)出一套系統(tǒng),命名為 Berkeley SoftWare Distribution (BSD) 。Bill Joy 也是 Sun 公司的創(chuàng)始人。

BSD UNIX 最終版本即 BSD 4.3 ,它是混合開源的,即有開源部分也有閉源部分。由 BSD UNIX 衍生出最初的 SCO Xenix( Microsoft 及 SCO 共同開發(fā))、Sun OS( SunMicroSystems 開發(fā),即 Solaris 前身)、 NEXTSTEP( NeXT 開發(fā))等 UNIX 版本,這些 UNIX 版本均閉源且受專利保護(hù)。

BSD UNIX 對現(xiàn)代操作系統(tǒng)的產(chǎn)生與發(fā)展產(chǎn)生了巨大的影響,并將開源閉源的爭議擺在了人們面前。擁護(hù)閉源專利的代表 Bill Gates 領(lǐng)導(dǎo)創(chuàng)建了 Windows 等軟件獲得了巨大成功,并壟斷了桌面以及服務(wù)器市場,從而極大豐富了軟件產(chǎn)業(yè)。而捍衛(wèi)開源共享的代表 Richard Stallman 開展自由軟件運動,創(chuàng)建 GNU 工程,使自由軟件精神深入人心,并促使了 GNU/Linux 等開源操作系統(tǒng)的普及。

5、版權(quán)糾紛

因為 Unix 的高度可移植性與強(qiáng)大的性能,且當(dāng)時并沒有版權(quán)的糾紛,所以很多商業(yè)公司都開發(fā) Unix 。但 Bell 實驗室所隸屬的美國電話電報公司 AT&T 出于商業(yè)的考慮,將 Unix 的版權(quán)收回。

1990年, AT&T 起訴 BSD 侵犯了 Unix 的版權(quán),這也是當(dāng)代版權(quán)制度最惡劣的應(yīng)用之一。

首先,起訴者其實與 Unix 毫無關(guān)系。這是 AT&T 經(jīng)理層的決定,而不是開發(fā)者的決定。事實上,包括 Ken Thompson 在內(nèi)的技術(shù)人員一直希望公司能夠公開源碼。他們完全有理由這么要求,因為 Unix 從來不是 AT&T 的業(yè)務(wù)重點,最初是個人項目,后來也沒有占用公司太多資源。銷售 Unix 的利潤,在公司全部業(yè)務(wù)中,幾乎可以忽略不計。何必為了一點點錢,去打擊一個使許多人受益的產(chǎn)品呢?

其次,AT&T 根本不關(guān)心 Unix 的發(fā)展。它真正關(guān)心的是金錢和削弱對手。1994年,官司還沒有結(jié)束,它就把 Unix 賣給了 Novell 公司,從此不再與 Unix 發(fā)生關(guān)系,官司也因此不了了之。既然這個產(chǎn)品可有可無,當(dāng)初為什么要提起訴訟呢?

最后,所謂的侵權(quán)幾乎是不存在的。因為 Novell 從 AT&T 買下 Unix 版權(quán)后,檢查了 BSD 的源碼,在18000個組成文件中刪除了3個,并對其他文件做了一些小修改,然后 BSD 就重新獲得了自由發(fā)布源碼的許可。這意味著,至多只有千分之一的 BSD 代碼有版權(quán)問題,但是就因為這千分之一的問題,導(dǎo)致百分之百的產(chǎn)品被迫中斷,完全不符合比例原則。

所以,這場版權(quán)官司就是一家利益至上的公司,以微不足道的理由,為了一個自己根本不在乎的產(chǎn)品,悍然發(fā)動一場損人不利己的戰(zhàn)爭。

這場戰(zhàn)爭給 Unix 和 BSD 帶來毀滅性的打擊。

從八十年代中后期開始,AT&T 固執(zhí)地捍衛(wèi) Unix 版權(quán),完全不顧它的創(chuàng)造者和開發(fā)者的愿望,導(dǎo)致 Unix 喪失活力、一蹶不振,大量開發(fā)者無法參與,只好離開了這個平臺。

而 BSD 在1992~1994年期間,開發(fā)處于停滯,錯過了發(fā)展的黃金時機(jī)。官司結(jié)束以后,又不幸發(fā)生分裂,變成了 FreeBSD、NetBSD 和 OpenBSD 三個版本。這些原因?qū)е?BSD 直到今天,都還在操作系統(tǒng)的競爭中處在落后地位。

如果換個時間,官司的損失也許還沒這么大。偏偏90年代初是計算機(jī)工業(yè)決定性的年代,錯過了那幾年,從此就很難翻身了。因為從80年代末期開始,Intel 的 80x86 芯片有巨大的發(fā)展,性能快速上升,而成本快速下降,個人電腦的年代就要到來了。市場迫切需要能夠運行在386芯片上的操作系統(tǒng),但是 Unix 和 BSD 忙于打官司,都沒有去做移植操作系統(tǒng)這件事。其他兩個這樣做的人,改變了人類歷史。

一個是比爾·蓋茨,他推出了Windows,占領(lǐng)了個人電腦市場,后來賺了幾百億美元。另一個是芬蘭大學(xué)生 Linus Torvalds ,他想學(xué)習(xí) Unix ,但是買不起工作站,就自己寫了一個能在386上運行的 Linux 操作系統(tǒng),現(xiàn)在全世界超過一半的網(wǎng)絡(luò)服務(wù)器都在使用這個系統(tǒng)。Linus Torvalds 后來說,如果他早知道 BSD 沒有法律問題,并且可以被移植到386,他就會加入 BSD 的開發(fā),而不是自己寫一個。

Novell 買到 Unix 版權(quán)后,也沒在手里放多久,1995年又轉(zhuǎn)手賣給了別人。從此,Unix 原始版本的開發(fā)正式結(jié)束。

以后的發(fā)展集中在兩個方向,一個是各個商業(yè)公司自己修改的 Unix 版本,比如 Sun 的 Solaris ,HP 的 HP-UX ,IBM 的 AIX ,另一個則是開源項目的開發(fā),比如 BSD 和 Linux 。

6、X86 架構(gòu)的 Minix

1979年,AT&T 由于在商業(yè)上的考慮,以及在當(dāng)時現(xiàn)實環(huán)境下的思考,于是想將 Unix 的版權(quán)收回去。因此, AT&T 在1979年發(fā)行的第七版 Unix 中,特別提到了不可對學(xué)生提供源碼的嚴(yán)格限制。

1984年,一位大學(xué)教授 Andrew Tanenbaum 譚寧邦為了教學(xué),在完全不看 Unix 核心源代碼的情況下,開發(fā)出了能夠兼容 Unix 的Minix ( mini unix )。

7、GNU 項目

Richard Mathew Stallman(史托曼)在1984年發(fā)起 GNU 項目,對于現(xiàn)今的自由軟件風(fēng)潮有不可磨滅的地位。GNU 項目的目的是創(chuàng)建一個自由、開放的Unix操作系統(tǒng)(Free Unix)。GNU 是GNU is not Unix的縮寫。(無限遞歸定義)

為了避免GNU所開發(fā)的自由軟件被其他人所利用而成為專利軟件,所以擬定了有名的通用公共許可證(General public license,GPL)。

GNU 幾個重要的軟件:

Emacs

GNU C Complier(GCC)

GNU C Library (GLIBC)

Bash Shell

在譚寧邦教授撰寫minix 時,同時進(jìn)行的還有另外一件事。那就是 GNU 計劃。GNU 計劃是由Richard Mathew Stallman (史托曼) 發(fā)起的,這個計劃對于現(xiàn)今的自由軟件風(fēng)潮,具有不可磨滅的作用。

Richard Mathew Stallman (生于1953年) 從小就很聰明。他在1971 年的時候,進(jìn)入黑客圈中相當(dāng)出名的人工智能實驗室(AI Lab.),當(dāng)時的黑客圈對于軟件的著眼點幾乎都是在"分享",所以并沒有專利方面的困擾, 這個特色對于史托曼影響很大。不過,后來由于管理階層的問題,導(dǎo)致實驗室里優(yōu)秀黑客離開該實驗室, 并進(jìn)入其他商業(yè)公司繼續(xù)發(fā)展優(yōu)秀的軟件。但史托曼不服輸,仍然持續(xù)在原來的實驗室開發(fā)新的程序和軟件。 后來,他發(fā)現(xiàn)自己一個人無法完成所有的工作,于是想要成立一個開放的團(tuán)隊來繼續(xù)努力。

1983 年以后,因為實驗室硬件的更換,使得史托曼無法繼續(xù)以原有的硬件和操作系統(tǒng)繼續(xù)自由程序的撰寫。 而且他進(jìn)一步發(fā)現(xiàn)到,過去他所使用的 Lisp 操作系統(tǒng),是麻省理工學(xué)院的專利軟件, 是無法共享的,這對于想要成立一個開放團(tuán)體的史托曼是個阻礙。于是他便放棄了 Lisp 這個系統(tǒng)。 后來,他接觸到 Unix 系統(tǒng),并且發(fā)現(xiàn),Unix 在理論上與實際上,都可以在不同的機(jī)器間進(jìn)行移植。雖然 Unix 依舊是專利軟件, 但至少 Unix 架構(gòu)上還是比較開放的!于是他開始轉(zhuǎn)而使用 Unix 系統(tǒng)。

1984 年,史托曼開始 GNU 計劃, 這個計劃的目的是:建立一個自由、開放的 Unix 操作系統(tǒng)(Free Unix) 。 但是建立一個操作系統(tǒng)并不容易。尤其是當(dāng)時的 GNU 只有史托曼孤軍奮戰(zhàn)。

聰明的史托曼干脆反其道而行,既然操作系統(tǒng)太復(fù)雜,史托曼便先寫可以在 Unix 上面運行的小程序。史托曼開始參考 Unix 上面現(xiàn)有的軟件,并依據(jù)這些軟件的作用開發(fā)出功能相同的軟件,在開發(fā)期間史托曼絕不看其他軟件的原始碼, 以避免吃上官司。后來大家知道有免費的 GNU 軟件,開始實際使用后發(fā)現(xiàn)與原有的專利軟件相比差不了太多,于是便轉(zhuǎn)而使用 GNU 軟件, GNU 計劃逐漸打開知名度。

雖然 GNU 計劃漸漸打開知名度,但是能見度還是不夠。這時史托曼又想:不論是什么軟件, 都得要事先編譯成為二進(jìn)制文件 ( binary program ) 后才能夠執(zhí)行,如果能夠?qū)懗鲆粋€不錯的編譯程序,那不就是大家都需要的軟件了嗎? 因此他便開始撰寫 C 程序的編譯程序,那就是現(xiàn)在相當(dāng)有名的 GNU C Compiler (gcc) ,它是 linux 著名的編譯器。在撰寫過程中,他成立自由軟件基金會 ( FSF, Free Software Foundation ) 。此外,他還撰寫了更多可以被呼叫的 C 函式庫 ( GNU C library ) ,以及可以被使用來操作操作系統(tǒng)的基本接口 Bash Shell 。這些都在 1990 年左右完成了!

到了 1985 年,為了避免 GNU 所開發(fā)的自由軟件被其他人所利用而成為專利軟件, 所以他與律師草擬了有名的通用公共許可證 ( General Public License, GPL ), 并且稱呼他為 copyleft ( 相對專利軟件的 copyright ) 。

由于有 GNU 所開發(fā)的幾個重要軟件( 比如 GCC,Glibc , bash shell )造成后來很多的軟件開發(fā)者可以藉由這些基礎(chǔ)的工具來進(jìn)行程序開發(fā),進(jìn)一步壯大了自由軟件團(tuán)體。不過,對于 GNU的最初構(gòu)想“建立一個自由的 Unix 操作系統(tǒng)”來說,這些優(yōu)秀的程序是仍無法滿足。 因為,當(dāng)下并沒有“自由的 Unix 核心”存在。所以這些軟件仍只能在那些專利的 Unix 平臺上工作,一直到 Linux 的出現(xiàn)。

1991 年,芬蘭的赫爾辛基大學(xué)的的 Linus Torvalds 在 BBS 上面貼了一則消息, 宣稱他以 bash ,gcc 等工具寫了一個小小的核心程序,這個核心程序可以在 Intel 的 386 機(jī)器上面運作, 讓很多人很感興趣!從此開始了 Linux 不平凡的路程!

Linus Torvalds ( 托瓦茲, 1969 年出生 )的外祖父是赫爾辛基大學(xué)的統(tǒng)計學(xué)家, 他的外祖父為了讓自己的小孫子能夠?qū)W點東西,所以很小就將托瓦茲帶到身邊來管理一些微計算機(jī)。 在這個時期,托瓦茲接觸了匯編語言(Assembly Language),那是一種直接和芯片對談的程序語言,也就是所謂的低級語言。必須要很了解硬件的架構(gòu),否則很難以匯編語言編寫程序。

在 1988 年間,托瓦茲順利地進(jìn)入了赫爾辛基大學(xué),幵選讀了計算機(jī)科學(xué)系。在就學(xué)期間,因為學(xué)業(yè)的需要和自己的興趣, 托瓦茲接觸到了 Unix 這個操作系統(tǒng)。當(dāng)時整個赫爾辛基只有一部最新的 Unix 系統(tǒng),同時僅提供 16 個終端機(jī) ( terminal )。 早期的計算機(jī)僅有主機(jī)具有運算功能,terminal 僅負(fù)責(zé)提供 Input/Output 而已。在這種情況下, 實在很難滿滿足托瓦茲的需求,因為光是等待使用 Unix 的時間,就很耗時。為此,他不禁想到:我何不自己弄一部 Unix 來用?不過,就如同 Stallman 當(dāng)年的 GNU 計劃一樣,要寫核心程序,談何容易~不過,幸運之神并未背離托瓦茲,因為不久之后,他就知道有一個類似 Unix 的系統(tǒng), 并且和 Unix 完全兼容,還可以在 Intel 386 (就是教科書上的 I386 咯) 機(jī)器上面跑的操作系統(tǒng), 那就是我們上面提過的,譚寧邦教授為了教育需要而撰寫的 Minix 系統(tǒng)!他在購買了最新的 Intel 386 的個人計算機(jī)后,就立即安裝了 Minix 這個操作系統(tǒng)。 另外,Minix 這個操作系統(tǒng)是有附上原始碼的, 所以托瓦茲也經(jīng)由這個原始碼學(xué)習(xí)到了很多的核心程序的設(shè)計概念。

托瓦茲跟在研究Minix的過程中,發(fā)現(xiàn) Minix 雖然真的很棒,但是譚寧邦教授就是不愿意進(jìn)行功能的加強(qiáng),導(dǎo)致一堆工程師在操作系統(tǒng)功能上面達(dá)不到需求。 這時,年輕的托瓦茲想:既然如此,那我何不自己來改寫一個我想要的操作系統(tǒng)?于是他開始了操作系統(tǒng)核心程序的撰寫。

撰寫程序需要什么呢?首先需要的是能夠進(jìn)行工作的環(huán)境,再來則是可以將原始碼編譯成為可執(zhí)行文件的編譯程序。 好在有 GNU 計劃提供的 bash 工作環(huán)境軟件以及 gcc 編譯程序等自由軟件, 讓托瓦茲得以順利地撰寫核心程序。他參考 Minix 的設(shè)計理念和書上的程序代碼,然后仔細(xì)研究出 386 個人計算機(jī)的性能優(yōu)化, 然后使用 GNU 的自由軟件將核心程序代碼和 386 緊緊地結(jié)合在一起,最終寫出他所需要的核心程序。 而這個小玩意竟然真的可以在 386 上面順利地跑起來,還可以讀取 Minix 的文件系統(tǒng)。 真是太好了!不過還不夠,他希望這個程序可以獲得大家的一些修改建議, 于是他便將這個核心代碼放置在網(wǎng)絡(luò)上提供給大家下載,同時在 BBS 上面貼了一則消息:(這就是 Linux 出現(xiàn)時的宣言吧)

Hello everybody out there using minix. I'm doing a (free) operation system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. I've currently ported bash (1.08) and gcc (1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people want. Any suggestions are welcome, but I won't promise I'll implement them :-)

他說,他完成了一個小小的操作系統(tǒng),這個核心是用在 386 機(jī)器上的, 同時,他真的僅是好玩,并不是想要做一個跟 GNU 一樣大的計劃! 另外,他希望能夠得到更多人的建議與回饋來發(fā)展這個操作系統(tǒng)!這個概念跟 Minix 剛好背道而馳。 這則新聞引起很多人的注意,他們也去托瓦茲提供的網(wǎng)站上下載了這個核心來安裝。 有趣的是,因為托瓦茲放置核心的那個 FTP 網(wǎng)站的目錄為:Linux, 因此,大家便稱這個核心為 Linux 了。(此時的 Linux 只是現(xiàn)在 linux 的 kernel )

關(guān)于 Linux 的吉祥物,也有個有趣的故事:托瓦茲因為小時候去動物園被企鵝咬了一口念念不忘, 而正式的Linux 2.0 推出時,大家要他想一個吉祥物。他在想也想不到什么動物的情況下, 就將這個念念不忘的企鵝當(dāng)成Linux的吉祥物了。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁名稱:【正厚軟件】0基礎(chǔ)學(xué)IT,來Linux的發(fā)展歷史吧-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article38/ddsipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航網(wǎng)頁設(shè)計公司、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計