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

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

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

linux之父是誰_linux之父簡介

lhl545545 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-02-10 10:10 ? 次閱讀

林納斯·本納第克特·托瓦茲——linux之父概況

著名的電腦程序員、黑客。Linux內(nèi)核的發(fā)明人及該計劃的合作者。托瓦茲利用個人時間及器材創(chuàng)造出了這套當(dāng)今全球最流行的操作系統(tǒng)(作業(yè)系統(tǒng))內(nèi)核之一。現(xiàn)受聘于開放源代碼開發(fā)實驗室(OSDL:Open Source Development Labs, Inc),全力開發(fā)Linux內(nèi)核。

人物經(jīng)歷

托瓦茲1969年12月28日出生于芬蘭赫爾辛基市。父親尼爾斯·托瓦茲(Nils Torvalds)是一名活躍的共產(chǎn)主義者及電臺記者,曾當(dāng)選芬蘭共產(chǎn)黨中央委員會委員。托瓦茲家族屬于在芬蘭占6%的少數(shù)民族芬蘭瑞典人。他畢業(yè)于赫爾辛基大學(xué)計算機(jī)系,1997年至2003年在美國加州硅谷任職于全美達(dá)公司(Transmeta Corporation),現(xiàn)受聘于開放源代碼開發(fā)實驗(OSDL:Open Source Development Labs, Inc),全力開發(fā)Linux內(nèi)核。與妻子托芙(Tove,芬蘭前女子空手道冠軍)育有三個女孩。

與很多其他黑客不同,托瓦茲行事低調(diào),一般很少評論商業(yè)競爭對手(例如微軟)產(chǎn)品的好壞,但堅持開放源代碼信念,并對微軟等對手的FUD戰(zhàn)略大為不滿。

例如,在一封回應(yīng)微軟資深副總裁Craig Mundie有關(guān)開放源代碼運動的評論(Mundie批評開放源代碼運動破壞了知識產(chǎn)權(quán))的電子郵件中,托瓦茲寫道:“我不知道Mundie是否聽說過艾薩克·牛頓(Isaac Newton)爵士?他不僅因為創(chuàng)立了經(jīng)典物理學(xué)(以及他和蘋果的故事)而出名,也還因為說過這樣一句話而聞名于世:我之所以能夠看得更遠(yuǎn),是因為我站在巨人肩膀上的緣故?!蓖型咂澯终f道:“我寧愿聽牛頓的也不愿聽Mundie的。他(牛頓)雖然死了快300年了,卻也沒有讓房間這樣得臭氣熏天。”

現(xiàn)年47歲的林納斯目前受聘于開放源代碼開發(fā)實驗室(OSDL,Open Source Development Labs),全身心的開發(fā)Linux內(nèi)核。盡管這位年輕人看上去毫不起眼,比如林納斯曾在他的自傳《樂者為王》(Just for Fun)中自嘲:“我是一個長相丑陋的孩子,凡是見過我小時候照片的人,都會覺得我的相貌酷似河貍。再想象一下我不修邊幅的衣著,以及一個托瓦茲家族祖祖輩輩遺傳下來的大鼻子,這樣,在你腦海中我的模樣就形成了?!钡@絲毫也影響不了林納斯對整個商業(yè)社會的巨大價值—Linux代表著網(wǎng)絡(luò)時代新形式的開放知識產(chǎn)權(quán)形態(tài),這將從根基上顛覆以Windows為代表的封閉式軟件產(chǎn)權(quán)的傳統(tǒng)商業(yè)模式。更重要的是,這樣的顛覆早已悄悄的出現(xiàn)在了商業(yè)社會的各個角落

托瓦爾茲對成功的獨特見解

當(dāng)在科技行業(yè)談到實現(xiàn)名利的時候,一個有遠(yuǎn)見的,像史蒂夫·喬布斯一樣偉大的人物浮現(xiàn)在我的腦海里,他通常能夠設(shè)計出令人想不到的產(chǎn)品。但這也不是LinusTorvalds能夠成為世界上最知名的程序員的理由(他經(jīng)常與好萊塢明星在奧斯卡頒獎典禮上上親密交談)。

當(dāng)托瓦爾茲還是個大學(xué)生,他發(fā)明了開源的操作系統(tǒng)Linux,在當(dāng)今世界的操作系統(tǒng)領(lǐng)域是最具生命力的(包括谷歌和Facebook均采用該操作系統(tǒng))。世界上最快的超級計算機(jī)也采用該系統(tǒng),同時,也是Android的核心。

他于1991年發(fā)明該操作系統(tǒng),描述該系統(tǒng)為“開源的操作系統(tǒng),只是因為愛好,并且不會把它做得很大很專業(yè)”。Linux因為它的大和專業(yè)在當(dāng)今世界是如此的重要。這是開源項目的典范,或者任何人都可以做出自己的貢獻(xiàn)。自2005年以來,來自1200公司的近12000名程序員把他們的代碼添加到主要的Linux操作系統(tǒng)(稱為內(nèi)核)。除了發(fā)明了操作系統(tǒng),托瓦爾茲也發(fā)明了一種方,很多人一起工作在一個電腦程序項目。他發(fā)明的方法叫做Git,Git本身創(chuàng)建了自己的行業(yè)(從Torvalds沒有獲得任何幫助的情況下),但是如Github,提供給Git價值20億美元的啟動資金。

托瓦爾茲說,如果他是一個有遠(yuǎn)見的人,那么這一切就不會發(fā)生。當(dāng)他在一次和來自IEEE的斯蒂芬·卡斯采訪中說到(和我們強(qiáng)調(diào)):我相信,為了linux的成功,我不知道我自己究竟做了哪些。當(dāng)我開始的時候,如果我堅信有一天我能成功,所以到現(xiàn)在我一直在堅持下去。有時候普你需要很多的自信,相信你能做到……

事實上,我真的不知道它最終什么時候能夠?qū)崿F(xiàn),意味著我會一直做下去。我可能會聽取他人的建議,聽取外部的意見,其他人加入該項目,我認(rèn)為這樣更容易,更有趣。有時候人們不需要別人的同意,但可以一直做自己喜歡的事情。

Linux之父話糙理不糙

Linus Torvalds曾經(jīng)在十多年前嘗試用C++來開發(fā)Linux內(nèi)核,由于種種原因,很快失敗了。自那時起他就不時表達(dá)對C++的不滿。劉江blog上的記錄的這個事件只是最近的一次而已。盡管言辭激烈,但其實話糙理不糙。

時至今日,在一般的場合下,C和C++語言的主要用途就是系統(tǒng)級軟件的開發(fā)。具體地說,C/C++寫平臺、工具和基礎(chǔ)庫,支持高層的語言來完成應(yīng)用邏輯。 在9月份《程序員》雜志上刊登的一篇《微軟架構(gòu)師談編程語言發(fā)展》的文章里,Brian Beckman直截了當(dāng)?shù)卣f,C++語言主要是用來開發(fā)別的語言的。這話片面一點,如果改成 “C++語言主要是用來支持別的語言的”,那就大體沒錯了。

做系統(tǒng)軟件開發(fā)的時候,重要的是理解系統(tǒng)的運作方式,那些漂亮的抽象手法和高級特性是次要的。

有一個有趣的現(xiàn)象,不少做系統(tǒng)軟件的老手,在用過一段C++之后,又回到C。因為在這個層次上,C++對于C的優(yōu)勢就不突出了。那些高級的抽象結(jié)構(gòu)往往是 不必要的,反而是由于抽象層次的提高,使得開發(fā)者要弄清楚“下面實際發(fā)生的事情”變得不太容易了。所以很多老手實際上覺得用C語言控制力更強(qiáng)一些,更得心 應(yīng)手一些。真正的C語言高手,對于語言和編譯器都很熟悉了,基本上在寫C時候就已經(jīng)知道編譯器優(yōu)化以后產(chǎn)生匯編代碼是個什么樣子,甚至可以改變C代碼來引 導(dǎo)編譯器產(chǎn)生最優(yōu)化的機(jī)器碼。而C++的機(jī)制很豐富,很多機(jī)制是為了滿足高層應(yīng)用和框架的需求而準(zhǔn)備的,在這個層次上發(fā)揮不出來,反而把清晰性給犧牲掉 了。很多時候,一個簡單的語句,到底背后會發(fā)生什么,即使是老手也說不清。比如:

std::string s(“Linux Torvalds“);

std::string scopy = s;

上面這段代碼不過是創(chuàng)建兩個內(nèi)容相同的字符串副本,但是沒有任何一個人能夠在不了解更多信息的情況下清楚地描述背后所發(fā)生的事情,因為不同的STL對于 string的實現(xiàn)方式不同,因此在copy assignment時表現(xiàn)也不同,有的可能是簡單地復(fù)制字符串對象,有的可能具有ref-counting機(jī)制,需要創(chuàng)建對象、設(shè)定對象值、增加引用計 數(shù),有的沒有考慮線程安全性,有的考慮了線程安全性,還得加鎖解鎖,對不起,加解鎖也還有很多做法。創(chuàng)建新的string對象時,有時還需要調(diào)用內(nèi)存分配 器,而這個東西的實現(xiàn)又五花八門,有的直接new char[],有的從內(nèi)建的memory pool申請,memeory pool是不是線程安全的?對不起,這次可能又要涉及加解鎖問題。memeory pool會不會已經(jīng)滿了?要不要次第調(diào)用new/malloc申請新的內(nèi)存塊?總之,后面的事情夠多夠復(fù)雜,沒有相當(dāng)功力,對平臺了解不夠深入,很難說出個子午卯酉來。

一個字符串復(fù)制尚且如此,別的高級特性就更不用說了。所以很多人寧可麻煩一點,也不愿意使用C++,這還是可以理解的。

就我個人來說,我還是愿意用C++的,特別是在C里寫一遍又一遍realloc的時候,就想起 string::operator+=()的好處來了。大概是STL給我的印象太深了,寫算法程序的時候,不用STL就覺得不爽,一個transform 就可以搞定的事情,非要用for循環(huán),這會讓我感覺渾身不自在。所以一般情況下,拿到一個什么問題,我還是會用C++去解決的。對我來說, Torvalds的話其實是很中肯的,即使是用C++,也要盡可能搞清楚其背后發(fā)生的事情,這樣在寫low level程序的時候才會有把握。如果是設(shè)計應(yīng)用級別的程序,就盡可能不用C/C++,把底層的事情都忘掉,專心專意做好應(yīng)用層的設(shè)計才是正道。

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

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208721
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    Linux實用命令大全

    Linux實用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?165次閱讀
    <b class='flag-5'>Linux</b>實用命令大全

    Linux內(nèi)核測試技術(shù)

    Linux 內(nèi)核是Linux操作系統(tǒng)的核心部分,負(fù)責(zé)管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux 內(nèi)核的不斷發(fā)展和更新,其復(fù)雜性和代碼規(guī)模也在不斷增加。因此,確保內(nèi)核的穩(wěn)定性和可靠性變得尤為重要
    的頭像 發(fā)表于 08-13 13:42 ?406次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核測試技術(shù)

    freebsd和linux哪個好用

    操作系統(tǒng)歷史和起源: FreeBSD和Linux都是基于UNIX的操作系統(tǒng)。FreeBSD起源于加州大學(xué)伯克利分校的BSD項目,而Linux則是由Linus Torvalds在1991年創(chuàng)建
    的頭像 發(fā)表于 08-08 10:29 ?527次閱讀

    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次閱讀

    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實時 Linux 內(nèi)核

    盟通技術(shù)干貨構(gòu)建實時Linux內(nèi)核簡介盟通技術(shù)干貨Motrotech如果需要在Linux中實現(xiàn)實時計算性能,進(jìn)而有效地將Linux轉(zhuǎn)變?yōu)镽TOS,那么大多數(shù)發(fā)行版都可以打上名為PREE
    的頭像 發(fā)表于 04-12 08:36 ?2097次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實時 <b class='flag-5'>Linux</b> 內(nèi)核

    linux多線程編程實例

    linux線程
    的頭像 發(fā)表于 02-15 21:16 ?402次閱讀
    <b class='flag-5'>linux</b>多線程編程實例

    linux和windows的區(qū)別 linux系統(tǒng)一般用來干嘛

    Linux和Windows是兩種不同的操作系統(tǒng),有著不同的設(shè)計理念和用途。本文將對Linux和Windows的區(qū)別進(jìn)行詳細(xì)分析,并介紹Linux系統(tǒng)的常見用途。 一、設(shè)計理念和架構(gòu) 1.1
    的頭像 發(fā)表于 02-05 14:06 ?844次閱讀

    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>開發(fā)板教程

    基于Debian的Sparky Linux 7.2的亮點

    Linux kernel 6.1 LTS 提供支持,Sparky Linux 7.2采用 LXQt 1.2.0 和 KDE Plasma 5.27.5,現(xiàn)在提供 ARMHF 和 ARM64 鏡像。
    的頭像 發(fā)表于 12-14 10:13 ?550次閱讀
    基于Debian的Sparky <b class='flag-5'>Linux</b> 7.2的亮點

    ubuntu和linux的區(qū)別

    Ubuntu和Linux是兩個相關(guān)但不完全相同的概念,它們之間有著一些區(qū)別。在開始深入討論Ubuntu和Linux之間的區(qū)別之前,讓我們首先了解一下這兩個概念的含義。 Linux是一種開源操作系統(tǒng)
    的頭像 發(fā)表于 11-27 17:06 ?2261次閱讀

    linux的常用命令

    Linux入門 1.1 Linux的介紹 (1)linux是一款操作系統(tǒng),免費開源,安全高效,穩(wěn)定,能處理高并發(fā) (2)企業(yè)級的項目部署到linux/unix服務(wù)器運行 1.2
    的頭像 發(fā)表于 11-24 16:04 ?548次閱讀
    <b class='flag-5'>linux</b>的常用命令

    linux docker安裝部署

    了解如何在Linux上安裝和部署Docker。 一、安裝Docker 在開始之前,請確保您的Linux系統(tǒng)滿足以下要求: 64位版本的Linux操作系統(tǒng),包括Ubuntu、CentOS等。 L
    的頭像 發(fā)表于 11-23 09:27 ?1022次閱讀

    linux安裝網(wǎng)卡驅(qū)動教程

    Linux系統(tǒng)中安裝網(wǎng)卡驅(qū)動是一個比較基礎(chǔ)的操作,下面我將為你詳細(xì)講解如何安裝網(wǎng)卡驅(qū)動。 第一步,檢查網(wǎng)卡型號和驅(qū)動支持情況:首先,你需要確定你的網(wǎng)卡型號,并查看該網(wǎng)卡型號在Linux系統(tǒng)中的驅(qū)動
    的頭像 發(fā)表于 11-17 11:11 ?3825次閱讀

    linux系統(tǒng)基礎(chǔ)入門教程

    Linux是一種開源的操作系統(tǒng),它被廣泛應(yīng)用于服務(wù)器、嵌入式系統(tǒng)以及個人電腦上。本篇文章將帶領(lǐng)讀者從入門的角度,詳細(xì)介紹Linux系統(tǒng)的基礎(chǔ)知識。 Linux的起源和特點 Linux
    的頭像 發(fā)表于 11-16 16:45 ?993次閱讀