0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux牛X簡史:Linux是如何開發(fā)出來的?

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-08-31 16:57 ? 次閱讀

幾天前,Linux迎來了它的27歲生日。從最初誕生在芬蘭的一間臥室里,到現(xiàn)在成為,全球網(wǎng)民都離不開的操作系統(tǒng)。絕對堪稱神話般的存在!

先來看個Linux牛X簡史。

迄今為止,在全球范圍內(nèi):

80%以上智能手機(jī),均使用基于Linux內(nèi)核的Android系統(tǒng)。

全球排名前500超算中,98%在用Linux。

紐交所、納斯達(dá)克等證券交易市場,都在用Linux。

75%的云計算企業(yè)報告平臺,也在用Linux。

全球主機(jī)行業(yè)33.8%的服務(wù)器用Linux。

亞馬遜、沃爾瑪?shù)入娚唐脚_都在用Linux。

可以說,每一次程序員的女票去淘寶“敗家”,都受恩惠于Linux。不過,Linux,卻被一位來自圣誕老人故鄉(xiāng)芬蘭的60后大叔,因著Just for fun的緣故,開發(fā)于“一個窗簾緊閉黑燈瞎火的芬蘭少年的臥室中”。

芬蘭風(fēng)光

如今,Linux的父親——李納斯·本納第克特·托瓦茲(Linus Benedict Torvalds,以下簡稱“李納斯”),也已49歲。

李納斯近照

能親眼見證自己的“兒子”,如此惠及全球,一定很有成就感。然而,他開發(fā)出Linux,卻不過是興趣使然。

一個有電腦的外公

李納斯的外公,在赫爾辛基大學(xué)當(dāng)教授,近水樓臺先得月,李納斯因此可以使用外公單位發(fā)的電腦。

小李納斯

這臺Commodore VIC-20計算機(jī),唯一能做的事,就是用Basic語言,在上面編程序。

外公經(jīng)常在上面做數(shù)學(xué)運(yùn)算,因?yàn)檠刍ň妥尷罴{斯,幫自己錄程序。而這也建立了李納斯的數(shù)學(xué)認(rèn)知,并學(xué)會了編寫小游戲。

整個中學(xué)年代,李納斯都是在電腦前度過的,期間還掌握了匯編語言。

李納斯年輕時用過的電腦

一本書,一輩子

考入赫爾辛基大學(xué)后,他遇到了影響一生的那本書——《操作系統(tǒng):設(shè)計和實(shí)現(xiàn)》,作者是Andrew S. Tanenbaum。李納斯曾如此美譽(yù)該書,“這本書把我推上了生命的高峰”。

《操作系統(tǒng):設(shè)計和實(shí)現(xiàn)》中文版

那時, Unix已開發(fā)出來。Unix最早是用匯編寫的,開發(fā)過程中,Unix的兩位創(chuàng)始人肯·湯普遜和丹尼斯·里奇,覺得用匯編寫程序,實(shí)在太痛苦了!

于是,哥倆決定用高級語言,來完成下一個版本,他們先后嘗試了Fortran和B語言,卻只遇見了成功他媽——失??!

這其中,哥倆中的丹尼斯,收拾好情緒,繼續(xù)改造 B 語言。丹尼斯為B增加了數(shù)據(jù)類型,并讓B語言,能直接編譯為機(jī)器碼,然后又以「New B」來命名這門語言(好名字

后來,丹尼斯把「New B」改為C語言,并用C語言,重新編寫Unix的內(nèi)核,從此,Unix與C白首不相離。

盡管Unix可以完成很多操作,但是必須由人來完成。正是這一bug,催促著靈魂不安分的李納斯,想去優(yōu)化它。

拋磚引玉:Unix的不完美,催生“寶玉”Linux

1991年初,22歲的李納斯,花3500美元,分期付款買了臺雜牌組裝電腦,然后又買了MINIX(Mini Unix的縮寫)操作系統(tǒng)。

李納斯在摸清MINIX 的優(yōu)點(diǎn)缺點(diǎn)后,把MINIX系統(tǒng)改成了自己得心應(yīng)手的「戰(zhàn)斗機(jī)」。也就是在這臺電腦上,Linux的初始版本誕生了。

Linux的形象是一個企鵝,之所以用企鵝,是因?yàn)槔罴{斯曾被企鵝咬過

事后回憶這段經(jīng)歷,李納斯說,“這花費(fèi)了我大量的精力:編程-睡覺-編程-睡覺-編程-吃飯(餅干)-編程-睡覺-編程-洗澡(沖沖了事)--編程”。

熬了四五個月昏天黑地的日子后,這位剛過弱冠之年的北歐大鼻子青年,開發(fā)出了Linux 0.01。自此,他成了那個時代,被追捧的程序員偶像。

青年李納斯

不過,比生孩子更重要的,是養(yǎng)孩子。Linux之所以成功,主要憑借它的開源特點(diǎn)。

Linux從出生,就打著開源的烙印,這對Linux的后續(xù)發(fā)展至關(guān)重要。從1991年,內(nèi)核0.01版本發(fā)布,到1994年1.0版本登場,世界各地?zé)o數(shù)的開發(fā)者,都為Linux提交了代碼。

李納斯還為Linux建立了討論組comp.os.linux,吸引全世界的程序員,不斷地推進(jìn)Linux長成巨人。

comp.os.linux討論組截圖

對于Linux的成功,他“歸功”于自己的缺點(diǎn):1.他很懶散;2.他喜歡授權(quán)給其他人。

作為版權(quán)所有者,李納斯如此制定Linux規(guī)則:1.可免費(fèi)使用該操作系統(tǒng),但不得將它作為商品。2.對其所作的改動和改進(jìn),必須以源代碼的形式,將其公開(而不是二進(jìn)制,這是不公開的)。3.如不同意以上規(guī)定,則無權(quán)對它進(jìn)行復(fù)制或從事任何行為。

硅谷多了個小李子

1996年底,李納斯在接到Transmeta(全美達(dá))這家在美國并不知名公司的offer后,離開芬蘭飛赴美國。在全美達(dá),一待就是六年。

某種程度上,這六年,嚴(yán)重影響了Linux操作系統(tǒng)的前進(jìn),因?yàn)槔罴{斯成了“硅谷小李子·沒時間·分身乏術(shù)打工男”。

好在李納斯在離開全美達(dá)后,開始為開放源代碼開發(fā)實(shí)驗(yàn)室(OSDL : Open Source Development Labs, Inc)工作。

這一次,Linux終于迎來系統(tǒng)人生第二春。

交惡微軟,拒絕蘋果

Linux出現(xiàn)前,桌面操作系統(tǒng)基本由微軟和蘋果控制。Linux出現(xiàn)后,桌面操作系統(tǒng)的蛋糕格局,依舊變化甚小,但服務(wù)器端市場卻是瞬息萬變。

最初,微軟希望在服務(wù)器領(lǐng)域,復(fù)制桌面操作系統(tǒng)的輝煌,然而半路殺出的 Linux竟在后來,占據(jù)了服務(wù)器市場半壁江山。

商場如戰(zhàn)場,李納斯也因此,和微軟結(jié)下梁子。他的頭像,被釘在了微軟公司的飛鏢靶心上。李納斯對此調(diào)侃道,“一定是我的大鼻子太好瞄準(zhǔn)了?!?/p>

大鼻子·李

而李納斯和蘋果之間,就沒那么劍拔弩張,畢竟Linux和OS X也算是一起從前輩Unix那里一起學(xué)(mo)過(fang)的同門師兄。

而且,他還收到了喬布斯發(fā)來的工作邀約,前提是——停止開發(fā)Linux。

面對喬幫主邀約,李納斯果然沒有......接受,他說,“為什么我要關(guān)心這些?為什么我要對蘋果公司的故事表現(xiàn)出興趣?我不覺得蘋果公司所做的事情有什么吸引我的地方。我一生的目標(biāo)也不是占領(lǐng)什么面操作系統(tǒng)的市場(的確,雖然我馬上就要做到這點(diǎn)了,但這從來就不是我的生活目標(biāo))?!?/p>

這次“談判”雖不愉快,卻影響了后續(xù)的IT格局。被拒了的蘋果,從關(guān)注Linux轉(zhuǎn)向BSD。

與此同時,Linux的開源模式,也紅得發(fā)紫。Linux 1.0版本推出后,很多基于Linux操作系統(tǒng)的公司紛紛冒出,“紅帽”公司便是典型代表,連IBM和英特爾,也給Linux打call。1999年,IBM還花費(fèi)10億美元來推廣Linux。

本鵝就是這么紅,紅紅紅紅

Linux以開源、獨(dú)立、自由之風(fēng),在服務(wù)器端大獲成功,甚至可以說,沒有Linux,就沒有互聯(lián)網(wǎng)的今天。

再后來,移動互聯(lián)網(wǎng)時代來了。OS X發(fā)出了新枝——iOS,Linux則誕生了 Android,而這兩位共同的祖父,就是Unix。

或許,這就是命吧!

當(dāng)初,喬布斯和李納斯的一次不愉快談話,讓OS X和Linux井水不犯河水。十幾年后的今天,它們的“后代”,終于還是成了肩并肩行走在移動互聯(lián)網(wǎng)時代的雙子星。

不愛名利愛代碼

憑借Linux,李納斯獲得了無數(shù)成就和榮譽(yù)。其中,曾兩次給李納斯頒發(fā)獎項(xiàng)的美國《時代》周刊,對其給出了極高的評價:

“有些人生來就具有統(tǒng)率百萬人的領(lǐng)袖風(fēng)范;另一些人則是為寫出顛覆世界的軟件而生。唯一一個能同時做到這兩者的人,就是托瓦茲(李納斯的姓氏)”。

甚至,在《時代》周刊根據(jù)讀者投票,評選出的二十世紀(jì)100位最重要人物中,林納斯竟排到第15位,而從20世紀(jì)的最后幾年,就開始霸占全球首富稱號的比爾·蓋茨,是第17位。

然而,他卻是一個不像名人的名人,他和妻子——芬蘭空手道冠軍托夫、以及兩個女兒,住在圣克拉拉的一個公寓里。對于“Linux之父”的美譽(yù),他聲稱自己發(fā)明LINUX“只是為了好玩”。

而他的名為《Just for Fun》的自傳,也呼應(yīng)了他的淡泊。

李納斯的自傳《Just for Fun》

如果說他有啥缺點(diǎn)的話,大概就是會在社交媒體爆粗口、以及會因?yàn)榧夹g(shù)問題而在演講中豎中指。

在中國,有無可能成為“XX之父”?

中國晚于歐美“觸網(wǎng)”,所以國內(nèi)也相對缺少,能成為程序員們的壓倒性偶像的人物。

不過在中國,比李納斯大5歲的、有著“WPS之父”之稱的求伯君,曾于1988年,獨(dú)自開發(fā)出WPS,時年僅24歲。

求伯君

巧合是,兩個人創(chuàng)立傳奇的工具都是386電腦,或許,是時代造就了李納斯和求伯君這樣的獨(dú)立軟件英雄。

當(dāng)然,仁者見仁,或許每個程序員心中,都有一個專屬自己的榜樣。

當(dāng)下,中國已是僅次于美國的互聯(lián)網(wǎng)第二大國,沒準(zhǔn)看文章的你,就是下一個“XX之父”呢?愿未來可期!

最后,生日快樂,Linux!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208722
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6689

    瀏覽量

    123141

原文標(biāo)題:交惡微軟、拒絕喬布斯,21 歲的他是如何開發(fā)出 Linux 的?

文章出處:【微信號:FPGAer_Club,微信公眾號:FPGAer俱樂部】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境下開發(fā)和運(yùn)行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?161次閱讀

    用dsp28335讀取SD卡中的WAV文件通過AIC32放歌,發(fā)出來的都是噪聲,為什么?

    我想用dsp28335讀取SD卡中的WAV文件,然后通過AIC32放歌,但是現(xiàn)在發(fā)出來的都是噪聲,請問wav文件的內(nèi)容需要做什么處理嗎
    發(fā)表于 10-12 08:07

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動開發(fā)、應(yīng)用程序開發(fā)等多個方面。以下是嵌入式Linux
    的頭像 發(fā)表于 09-02 09:11 ?349次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺。它通常包括一個處理器、內(nèi)存、存儲器、輸入/輸出接口等硬件組件,以及一個基于L
    的頭像 發(fā)表于 09-02 09:09 ?305次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺,它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式Linux
    的頭像 發(fā)表于 09-02 09:07 ?302次閱讀

    linux開發(fā)板與樹莓派的區(qū)別

    定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開發(fā)板,通常用
    的頭像 發(fā)表于 08-30 15:34 ?651次閱讀

    linux開發(fā)板和單片機(jī)開發(fā)的區(qū)別

    硬件架構(gòu) Linux開發(fā)板和單片機(jī)開發(fā)在硬件架構(gòu)上有很大的區(qū)別。Linux開發(fā)板通?;贏RM、x
    的頭像 發(fā)表于 08-30 15:30 ?571次閱讀

    Linux 驅(qū)動開發(fā)與應(yīng)用開發(fā),你知道多少?

    一、Linux驅(qū)動開發(fā)與應(yīng)用開發(fā)的區(qū)別開發(fā)層次不同:Linux驅(qū)動開發(fā)主要是針對硬件設(shè)備進(jìn)行編程
    的頭像 發(fā)表于 08-30 12:16 ?520次閱讀
    <b class='flag-5'>Linux</b> 驅(qū)動<b class='flag-5'>開發(fā)</b>與應(yīng)用<b class='flag-5'>開發(fā)</b>,你知道多少?

    QNX與Linux基礎(chǔ)差異對比

    對于QNX系統(tǒng)和Linux系統(tǒng)的內(nèi)核差異,我們拋開宏內(nèi)核、微內(nèi)核之類的爭議不談。單純從開發(fā)應(yīng)用的角度而言,QNX和Linux系統(tǒng)的差異到底有多大,在開發(fā)的時候需要注意哪些細(xì)節(jié)問題?
    發(fā)表于 04-17 10:52 ?658次閱讀

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺,各自具有不同的特點(diǎn)和應(yīng)用場景。在以下的文章中,我將詳細(xì)介紹FPGA開發(fā)板和
    的頭像 發(fā)表于 02-01 17:09 ?2025次閱讀

    TLT507-Linux-RT應(yīng)用開發(fā)案例

    TLT507-Linux-RT應(yīng)用開發(fā)案例
    的頭像 發(fā)表于 01-26 09:46 ?641次閱讀
    TLT507-<b class='flag-5'>Linux</b>-RT應(yīng)用<b class='flag-5'>開發(fā)</b>案例

    TLT507-Linux應(yīng)用開發(fā)手冊

    TLT507-Linux應(yīng)用開發(fā)手冊
    的頭像 發(fā)表于 01-26 09:34 ?642次閱讀
    TLT507-<b class='flag-5'>Linux</b>應(yīng)用<b class='flag-5'>開發(fā)</b>手冊

    TL3588-Linux應(yīng)用開發(fā)手冊

    TL3588-Linux應(yīng)用開發(fā)手冊
    的頭像 發(fā)表于 01-24 10:58 ?405次閱讀
    TL3588-<b class='flag-5'>Linux</b>應(yīng)用<b class='flag-5'>開發(fā)</b>手冊

    嵌入式Linux開發(fā)的三種方式

    嵌入式Linux開發(fā)主要有三種方式:裸機(jī)開發(fā)、SDK開發(fā)和驅(qū)動開發(fā)
    的頭像 發(fā)表于 01-22 14:22 ?900次閱讀

    DIY個人的Linux開發(fā)板教程

    作者簡介:大佬已在硬創(chuàng)社開源了近50款開發(fā)板,動手能力極強(qiáng),于去年年底開始接觸學(xué)習(xí)Linux,并由全志V3s、F1C200S等芯片開始上手DIY個人的Linux開發(fā)板。
    的頭像 發(fā)表于 01-07 09:52 ?1901次閱讀
    DIY個人的<b class='flag-5'>Linux</b><b class='flag-5'>開發(fā)</b>板教程