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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

計算機天才1個月寫了個操作系統

Linux愛好者 ? 來源:技術領導力 ? 作者:Mr.K ? 2021-06-02 11:29 ? 次閱讀

1983 年,美國計算機協會將圖靈獎授予肯·湯普森和與丹尼斯·里奇。

獲獎理由是:“For their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.”

翻譯過來就是:

“授予肯·湯普森和與丹尼斯·里奇圖靈獎,以表彰其在通用操作系統理論領域的貢獻,特別是UNIX操作系統的開發(fā)與實現。”

老讀者知道,老K每次裝逼都會引用一段英文,不過這次不是要顯擺自己,而是要介紹本文的主人公,肯·湯普森。

在許多讀者都還沒出生的年代,他就已經取得了計算機界的最高榮譽--圖靈獎。

01

計算機天才養(yǎng)成記

肯·湯普森出生于1943年。在他小學的時候,有一堂課講到了二進制,喜歡邏輯的他立刻被吸引住了,在興趣的驅使下,他做了很多相關的二進制計算,并借助一臺十進制計算器將其擴展到各種進制。

其實,老K小時候也有類似的經歷,我上初中的時候對物理非常著迷,很早就開始研究,牛頓的頭發(fā)是在哪燙的?我想,我的物理老師,就是從那個時候開始有心理陰影的。

肯·湯普森,從小就是妥妥的學霸一枚,邊玩邊學,輕松考上了加州大學伯克利分校,攻讀電子工程學士學位。

雖然,國外的大學不像國內這么輕松,隨便放飛自我。但是,對于肯·湯普森這樣的大神來說,課程so easy,哪里不會點哪里。

于是他迷上了一個新玩意:計算機。

每天晚上,趁著沒人的時候,他就偷偷溜進機房,自學了編程,編寫游戲、玩游戲,嗨到不行。

大四那年,大神心里還是有點B Tree的,因為覺得自己不務正業(yè),都在玩游戲和編程,電子工程沒怎么好好學,所以沒有申請讀研究生。

正當他準備卷鋪蓋畢業(yè)的時候。一位教過他的老師Berlekamp教授替他申請了研究生,并且通過了,多好的教授??!

回想起老K大學時候的教授,我的論文改了八回,答辯兩次才勉強畢業(yè)。同樣都是教授,怎么差別就這么大呢?當然了,同樣是學生,差別就是這么大。

在研究生階段,肯·湯普森只用了一年就畢業(yè)了,你沒看錯,他只用了一年就拿到了電子工程和計算機科學的碩士學位。

02

加入貝爾實驗室

研究生畢業(yè)后,肯·湯普森的才華驚動了當時大名鼎鼎的貝爾實驗室,并且向他伸出來橄欖枝。但是,肯·湯普森卻看不上,他心想我這么年輕,有才華,又有頭發(fā),應該有機會改變世界的。

但是,在貝爾實驗室的再三邀請之下,他還是勉強答應去參觀一下。

這一參觀不要緊啊,他發(fā)現漢明碼發(fā)明人、信息論發(fā)明人、晶體管發(fā)明人......這些牛逼閃閃的人物,都出自貝爾實驗室。

肯·湯普森心想,像我這樣的天才不就應該來這里嗎?于是他接受了貝爾實驗室的Offer。

03

搞砸“Multics操作系統”項目

1966 年,肯·湯普森加入貝爾實驗室,與丹尼斯·里奇(就是文章開頭,一同獲得圖靈獎的另一位大神)一起參與名為 “Multics操作系統”的項目開發(fā)。

那個時代的計算機系統還處在批處理的階段,只能在既慢又笨重的大型機器上工作,要先將程序卡片裝入設備,然后等1個小時后才能取運算的結果。不僅慢,還很廢紙。

因此,貝爾實驗室聯合麻省理工學院,以及通用電氣公司,想建立一套可以多人使用、多任務、多層次的 Multics 操作系統。

但是,由于大家太過追求完美,導致開發(fā)周期過長,成本高,短期內看不到產出。論敏捷交付的思想的重要性啊,可惜那個年代大家并不那么想。

1969 年的時候,貝爾實驗室忍無可忍,決定退出這個項目。

對于程序員來說,搞砸一個項目是很稀松平常的事情,就像老K這10幾年的職場生涯搞垮過的項目,都可以寫出“搞垮系列”了。

但是讓肯·湯普森失望的是,再也不能玩自己寫的名為“star travel”的游戲了,因為這個游戲完全是基于 Multics 的。你看看大神,玩游戲才是主業(yè),上班只是兼職而已。

04

為了玩游戲,開發(fā)了UNIX

既然這樣,那就自己開發(fā)個操作系統吧,這樣就可以繼續(xù)玩游戲了。


有技術就是任性啊,一言不合就開發(fā)個操作系統。所以千萬不要把程序員逼急了,他們連操作系統都能做,還有什么事情做不出來?


肯·湯普森找到了一臺廢棄已久的老式 PDP-7小型機,雖然稱為小型機,那時候也有一個房間那么大!在這臺機器上他首先重寫了游戲,游戲有了后,肯·湯普森還想著要開發(fā)一個全新的操作系統。

正好這個時候,他的老婆帶著孩子回娘家住3個禮拜,也就是說他有完整的3個禮拜沒有人打擾的時間。

于是他決定利用這段時間開發(fā)操作系統,基于之前搞砸“Multics系統”的經驗,他很快完成了內核系統、文件系統、編輯器、編譯系統,一個月時間竟然編寫完了操作系統的內核。

這個故事告訴我們,一個男人想要搞大事,老婆不在家是多么的重要!K嫂你看到了嗎?看到了嗎?老K這把年紀一事無成,是有原因的。一天查崗八回,就算你是王者,也榮耀不起來???

話說這個系統做完后,肯·湯普森將其命名為 UNiplexed Information and Computing System,縮寫為 UNICS 。但是怎么念都拗口,后來改名為UNIX,陸續(xù)做了一些改動后,第一版UNIX操作系統誕生了。

那一年,肯·湯普森年僅26歲。

05

UNIX 跟C語言更配

1973 年的 10 月,在 IBM 舉辦的操作系統原理專題研討會上 ,UNIX首次向世界問好,當肯·湯普森和與丹尼斯·里奇向人們宣讀論文并展示了UNIX后,整個會場轟動了,人們驚呼:臥槽,牛逼,還能這么玩!


后來隨著UNIX的用戶越來越多,肯·湯普森和與丹尼斯·里奇決定將UNIX進一步改寫,以便可以移植到各種不同的硬件系統。


由于UNIX的源碼中不少是用匯編完成,不具備良好的移植性,正好丹尼斯·里奇在 1973 年在 B 語言的基礎上開發(fā)出了 C 語言。C 語言靈活,也更高效,與硬件無關,并且不失其簡潔性,正是UNIX移植所需要的法寶。

于是舊版的UNIX與 C 語言完美結合在一起,產生了新的可移植的UNIX系統。隨著UNIX的廣泛使用,C 語言也成為了當時最受歡迎的編程語言,一直延續(xù)至今。

UNIX經典的設計哲學KISS,就是在那個時候被提出來的——Keep It Simple, Stupid。

06

黑客與“后門”

肯·湯普森還有一個備受爭議的行為,就是在UNIX里留后門。是的,這哥們竟然在代碼里下毒。

最開始的時候,UNIX系統在貝爾實驗室是供大家免費使用的。有人發(fā)現,肯·湯普森總能進入每個人的賬戶,于是一位同事就分析UNIX代碼,重新編譯了系統。

令人意想不到的是,肯·湯普森還是能進入他們的賬戶,貝爾實驗室的科學家們卻對此束手無策。


直到1983年,肯·湯普森在他的圖靈獎獲獎感言里揭示了這一秘密,原來,讓他輕松“侵入”各位同事賬戶的秘訣不在UNIX代碼,而在編譯UNIX代碼的C編譯器里,而肯·湯普森正是編譯器的開發(fā)者。這個操作666,你以為看透了大神,可你就是玩不過他。

那位頭發(fā)比他多,胡子跟他一樣長的自由軟件之父、著名黑客--理查德·斯托爾曼,曾這樣定義過黑客,一名黑客必須包含三個特點:好玩、高智商、探索精神,而且三項必須同時滿足。

黑客追求的不是實用性技術或金錢。老K作為一名技術從業(yè)者,經過多年的努力,我已經滿足了黑客精神的其中一點:好玩。當然了,主要是被別人玩。

自由軟件之父 理查德·斯托爾曼

或許從這個角度,更能理解肯·湯普森的行為,他并非違背了道德準則,對他來說這個事就是一逗樂。不難發(fā)現,黑客的價值觀跟德云社還挺配的。

07

加盟Google,參與Golang語言開發(fā)

2000年,57歲的肯·湯普森在貝爾實驗室退休。是的,這哥們的整個職場生涯都是在貝爾實驗室度過的,期間有幾年去了大學教UNIX系統課程。

然而,退休后這位老爺子也閑不住。


2006 年,肯·湯普森加入了 Google 公司??纯窗?,誰說程序員做到35歲以后就找不到工作?關鍵還是技術過硬,別做了10幾年技術還是寫CRUD。玩技術的要么越鉆越底層,要么就高屋建瓴搞架構,千萬別原地踏步。

加入谷歌后,肯·湯普森又搞了一件大事。

他跟其它優(yōu)秀的科學家一起開發(fā)了Go語言,也就是Golang。主要開發(fā)者有:肯.湯姆遜(Ken Thompson)、羅布.派克(Rob Pike)和羅伯特.格里澤默(Robert Griesemer)。另外兩位也是大神,有機會再仔細寫寫。

Go語言不用多介紹了,有人形容Go語言:Go = C + Python , 說明Go語言既有C靜態(tài)語言程序的運行速度,又能達到Python動態(tài)語言的快速開發(fā)。

國內不少科技公司都是Go的擁護者。比如七牛云的CEO許式偉,就是國內較早一批Go的使用者,他還出版了《Go語言編程》一書。

08

寫最騷的代碼,開最酷的飛機

肯·湯普森并沒有像許多技術大神那樣,走上技術創(chuàng)業(yè)的道路,成就更大的商業(yè)夢想。

他在貝爾實驗室、谷歌,一直從事自己熱愛的開發(fā)工作。

除了寫程序之外,肯·湯普森是一位狂熱的飛行愛好者,并且還獲得了飛行執(zhí)照。

閑暇之余,他會跟同事們一起自駕,來一場說走就走的飛行。你不用羨慕大神的生活,其實你也可以擁有,但首先你得有架飛機。

沒有飛機也不用沮喪,說不定哪天,你用滴滴打飛機,就能叫到他。

你以為大神光是開私人飛機就完事了?肯·湯普森就算是愛好也要玩到極致。

1992年他特意到莫斯科,玩了一把米格29戰(zhàn)斗機。不想開戰(zhàn)斗機的飛行員不是好騎手。有錢、有閑、有膽,就這么任性,你有辦法嗎?

09

結語

肯·湯普森,對計算機軟件業(yè)的發(fā)展,貢獻是巨大的。不僅是UNIX系統發(fā)明人,在他的職業(yè)生涯里還開發(fā)了B程序語言(C語言的前身),UTF-8編碼,ed文本編輯器,以及參與開發(fā)了Go程序語言。

除了獲得圖靈獎之外,他還先后獲得了多項至高榮譽:

1994年,他獲得了IEEE(電氣和電子工程師協會)計算機學會先鋒獎。

1998年,被授予美國國家科技獎章。

1997年,入選計算機歷史博物館名人錄。

......

最后,以作家羅蘭的一句名言與你共勉:“成功的意義應該是發(fā)揮了自己的所長,盡了自己的努力之后,所感到的一種無愧于心的收獲之樂,而不是為了虛榮心或金錢。”

原文標題:他是世界上最杰出程序員之一,1 個月寫了個操作系統,退休后去做飛行員!

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    19

    文章

    7174

    瀏覽量

    87158
  • 操作系統
    +關注

    關注

    37

    文章

    6545

    瀏覽量

    122744
  • 代碼
    +關注

    關注

    30

    文章

    4671

    瀏覽量

    67767

原文標題:他是世界上最杰出程序員之一,1 個月寫了個操作系統,退休后去做飛行員!

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    工控機支持什么操作系統

    工控機,全稱工業(yè)控制計算機(Industrial Personal Computer, IPC),支持多種操作系統以滿足不同行業(yè)和應用場景的需求。具體來說,工控機常見的操作系統包括:
    的頭像 發(fā)表于 09-11 09:24 ?120次閱讀

    晶體管計算機和電子管計算機有什么區(qū)別

    晶體管計算機和電子管計算機作為計算機發(fā)展史上的兩重要階段,它們在多個方面存在顯著的區(qū)別。以下是對這兩類計算機在硬件、性能、應用以及技術發(fā)展
    的頭像 發(fā)表于 08-23 15:28 ?441次閱讀

    Windows操作系統是什么?它有哪些特點?

    更新和版本迭代,逐漸發(fā)展成為全球應用最廣泛的操作系統之一。Windows系統提供了一用戶友好的圖形用戶界面(GUI),使用戶能夠通過鼠標、鍵盤和觸摸屏等輸入設備來與計算機進行交互,從
    的頭像 發(fā)表于 08-07 16:30 ?388次閱讀

    計算機系統的組成和功能

    計算機系統是一復雜而龐大的概念,它涵蓋了計算機硬件、軟件以及它們之間相互作用的所有元素。為了全面而深入地探討計算機系統,本文將從定義、組成、功能、發(fā)展歷程以及未來趨勢等方面進行詳細闡
    的頭像 發(fā)表于 07-24 17:41 ?401次閱讀

    本源超導量子計算機自主制造鏈11類產品系列之八:中國第一款量子計算機操作系統

    使用。中國第一款量子計算機操作系統操作系統是管理計算機軟硬件的“大管家”,也是決定其性能的關鍵技術領域。如果把量子芯片比喻成人的心臟,量子計算機
    的頭像 發(fā)表于 05-28 08:22 ?298次閱讀
    本源超導量子<b class='flag-5'>計算機</b>自主制造鏈11類產品系列之八:中國第一款量子<b class='flag-5'>計算機</b><b class='flag-5'>操作系統</b>

    這些操作系統是否適用于機載系統計算機?

    操作系統主要功能是管理計算機上的軟件(如應用程序、驅動程序)和硬件(如處理器、存儲器等),為用戶提供服務。
    的頭像 發(fā)表于 04-12 09:25 ?427次閱讀
    這些<b class='flag-5'>操作系統</b>是否適用于機載<b class='flag-5'>系統計算機</b>?

    韓國3出口持續(xù)6個月增長,半導體出口額創(chuàng)21個月新高

    在四主要IT產品類別中,半導體出口額高達117億美元,同比增長了35.7%,連續(xù)五個月維持了增長。顯示器出口額上漲16.2%;計算機出口額提高24.5%;
    的頭像 發(fā)表于 04-01 17:05 ?668次閱讀

    【量子計算機重構未來 | 閱讀體驗】+ 了解量子疊加原理

    )。通過邏輯門來執(zhí)行操作二進制數據,邏輯門是一種基本電路,它可以將一或多個輸入轉換為輸出。邏輯門包括與門、或門、非門等等,將許許多多邏輯門組合起來就可以構建復雜的電路來執(zhí)行各種操作,電子計算
    發(fā)表于 03-13 17:19

    【量子計算機重構未來 | 閱讀體驗】+ 初識量子計算機

    欣喜收到《量子計算機——重構未來》一書,感謝電子發(fā)燒友論壇提供了一讓我了解量子計算機的機會! 自己對電子計算機有點了解,但對量子計算機
    發(fā)表于 03-05 17:37

    中國第一款量子計算機操作系統獲官方“三新”認定

    操作系統"本源司南"成功入選。"本源司南"是中國首個量子計算操作系統,該系統在國內首次支持量子計算任務批處理,能夠支持量超協同
    的頭像 發(fā)表于 02-19 12:50 ?228次閱讀
    中國第一款量子<b class='flag-5'>計算機</b><b class='flag-5'>操作系統</b>獲官方“三新”認定

    計算機系統如何應對大模型時代的挑戰(zhàn)與機遇

    操作系統管理著計算機的資源和進程,以及所有的硬件和軟件。計算機操作系統讓用戶在不需要了解計算機語言的情況下與
    發(fā)表于 01-23 11:06 ?369次閱讀
    <b class='flag-5'>計算機系統</b>如何應對大模型時代的挑戰(zhàn)與機遇

    深度解析全球操作系統格局

    操作系統是負責協調、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統軟件。 按照操作系統面向的設備類型,通用
    的頭像 發(fā)表于 01-18 15:00 ?717次閱讀
    深度解析全球<b class='flag-5'>操作系統</b>格局

    工業(yè)計算機和PLC的區(qū)別

    存在一些區(qū)別。 首先,工業(yè)計算機是一種高性能的通用計算機,它具有強大的計算、存儲和通信能力。工業(yè)計算機一般采用標準的x86架構,可以運行各類通用操作
    的頭像 發(fā)表于 12-15 10:10 ?746次閱讀

    操作系統的演變1#計算機

    互聯網計算機操作系統
    未來加油dz
    發(fā)布于 :2023年11月15日 16:05:37

    開源操作系統大全

    運行程序。 2、ToAruOS ToAruOS 是一由伊利諾伊大學計算機科學本科生開發(fā)的業(yè)余愛好操作系統,其代碼托管在 GitHub 上。ToAruOS 可在 P OSIX 和 x86 架構上運行,其
    發(fā)表于 10-27 15:13