尼爾·蓋曼有部小說《美國眾神》,這是一本很有意思的書。它說的是在美國這片歷史并不長的土地上,隨著移民文化而到來的各路新舊大神,彼此之間的陰謀與斗爭。
書中有一個讓我覺得很新奇的設定,就是新生事物也有著各自的神。例如高速公路之神、計算機之神、互聯網之神等。這些神所獲得的祭祀,就是來自人類頻繁的使用。
當我看到布萊恩·W·克尼漢(Brian W. Kernighan)所著的《Unix傳奇》一書時,我忽然發現,現代操作系統終于也有了自己的神。
不過,這并不是某一個人的故事,而是前后幾十年間,一批又一批頂尖智慧的頭腦共同創造出一個新世界的傳奇。就是這樣一群卓爾不凡之人,可稱為Unix操作系統的眾神。
這是一長串閃耀著光芒的名字,在這串智慧珍珠之中最耀眼的有肯·湯普森、丹尼斯·里奇、道格·麥基爾羅伊、阿爾·阿霍、彼得·溫伯格、比爾·喬伊,還有布萊恩·克尼漢……
要講述眾神創世的故事,自然要先從他們的神殿說起。
從美國的金融中心紐約市出發,向北30多公里就會到達新澤西州的墨里山。此處風光秀麗,景色迷人,誰能想到聞名世界的科技殿堂就座落于此,這就是著名的貝爾實驗室。
貝爾實驗室由AT&T(美國電話電報公司)創建,其初衷是為了解決建設全國電話系統時遇到的科技問題。隨著時間的推進,以及科技的不斷發展,貝爾實驗室在計算機科學領域做出了諸多開創性的貢獻。
要說這個實驗室有多牛叉,先上一組數字,這里誕生了9項諾貝爾獎和5項圖靈獎。可以想象,在這里能占著一張辦公桌的,那都是頂尖的人物。
那么,為什么貝爾實驗室能吸引到如此之多的大神,而且還能引領計算機科學的創新呢?
答案就是寬松的研究環境、開放自由的學術氛圍,以及由技術專家擔任的管理團隊。當然,充足的資金和優渥的待遇也是重要條件,反正AT&T公司是不差錢的主。
在貝爾實驗室,管理層不會下達明確的目標和指令,研究者完全可以按照自己的意愿去工作。這看起來似乎有些不可思議,連要做什么都不知道,誰能保證投的錢不會打水漂,會不會有人上班就是在摸魚呢。
這就是前沿科學的特點,它無法被設計,研究成果大多是在頂級的智慧群體之中交流、碰撞出來。所以在貝爾實驗室想要站住腳,光靠腦子好使還不行。必須要充分融入這個集體之中,能提出自己獨到的見解,也能無私地為他人提供幫助。
因此貝爾實驗室根本不擔心會有人在摸魚,拿不出成果的人在這里自然也待不下去。能留下的,也會不斷成長,最終成為神殿里的一員大神。
這樣看來,大神們做的就是極具難度的開創性研究,出成果確實不容易。但研究成功,則是改變世界的創新。從投資的角度看,十個項目里能成功一個,就足以在業界保持領先了,付出的成本對AT&T來說還是很劃算的。
這就是貝爾實驗室能夠獲得成就的原因所在。接下來我們要說的就是眾神開發Unix的創世之旅。
計算機最基礎的軟件是操作系統,它可以看成是機器與人之間的一層接口。操作系統本就是計算機的一部分,沒有操作系統的機器,則空有強大的計算能力卻發揮不出應有的效能來。
麻省理工學院在1964年推出了CTSS(兼容分時系統),就是將CPU的算力按時間分片,可以支持多人同時操作。那時計算機是非常寶貴的資源,這一設計可以讓更多人使用計算機,自然CTSS得到了許多關注。
麻省理工的研究者們決定趁熱打鐵,他們要在CTSS的基礎上研發一套更好的操作系統,稱之為Multics。目標是可以成為通用的信息處理系統。同時麻省理工也希望,其他有實力的研究機構與企業能參與到研發與生產中來。
因為貝爾實驗室在很早就開始了對計算機操作系統的研究,因此獲得了麻省理工學院的青睞,由貝爾實驗室來負責操作系統軟件的開發。而通用電氣則負責計算機硬件的制造和生產。
在為Multics進行設計的時候,麻省理工的研究員們將自己諸多的美好理想都加了進去。這樣其實會產生一個問題,就是新系統會被過度設計,而太復雜的設計是很難被開發出來的。
這種現象就是“第二系統效應”,第一版的成功會讓人過于自信,從而在第二版上又過于超前,結果導致系統開發出來復雜難用。
果然,經過三年的辛苦開發,Multics復雜得連貝爾實驗室的諸位大神都看不下去,以致于貝爾實驗室宣布退出Multics的開發工作。實在是不想再把寶貴的人力搭進這樣一個華而不實的系統里去了。
雖然Multics未獲成功,但參與過此項目的大神們動了念頭想自己搞一個操作系統出來。這個意料之外的產物就是后來對業界影響巨大的Unix操作系統。
參與過Multics項目的肯·湯普森,決心繼續進行操作系統的開發。但貝爾實驗室被Multics搞得精疲力盡,不愿意再支持肯的想法。
于是肯自己找了一臺過時的DEC PDP-7計算機,開始搗騰起操作系統來。這里需要說明的是,在上世紀六十年代的時候,計算機的配置相比于現在是極低的,而且造價高昂。
PDP-7只有16K字節的內存,今天一個中等配置的手機內存也是它的一百萬倍。要在這樣的設備上實現操作系統功能,就必須要擁有高超的編程技巧與算法功底。幸好,肯·湯普森就是這樣一位大神。
更為傳奇的是,肯實現最初版本的這套操作系統只花了三周時間,還正好是趁他太太帶著孩子去度假的空暇。從某種意義上說,全人類都要感謝肯的太太獨自帶娃所做出的貢獻。
系統有了,接下來就是得給它取個響亮的名字了。在一次同事之間工作中的閑聊中,布萊恩·克尼漢對此發表了自己的看法。
他認為之前做的Multics取名就是野心太大,因為其含有“包羅萬象”之意,結果迷失在復雜性的迷宮里。那么這套新的操作系統應該是簡潔而功能聚焦的,要用“uni”代替“multi”,叫“UNICS”會比較有意義。
顯然,克尼漢的見解得到了諸位大神的肯定,“UNICS”的命名得以保留,并在后來調整為更合適的“UNIX”。而布萊恩·W·克尼漢也享受了Unix命名者的殊榮。
這一命名完美地契合了Unix系統所具有的獨特設計哲學,那就是簡潔、專注。
肯·湯普森開發出來的原型Unix系統,深得貝爾實驗室這幫大佬們的青睞。Unix的另一位熱心開發參與者丹尼斯·里奇,他和肯都希望能購置一臺比PDP-7更好的計算機。
但貝爾實驗室的管理層被失敗的Multics搞得心有余悸,說什么也不肯批這個條子。不過你以為這就讓能諸位大神們輕言放棄嗎?不可能的,大神們有的是暗渡陳倉的辦法。
因為貝爾實驗室每年要編寫提交許多專利文件,因此在文字處理上有著迫切需求。喬·奧桑納抓住了這個痛點,提出可以采購PDP-11用于編寫專利材料,Unix小組可以為其提供軟件。
肯·湯普森和丹尼斯·里奇如愿以償地拿到了比PDP-7更好的PDP-11,兩位大神立即在新機器上展開工作。由此,在PDP-11機器上Unix完成了從原型到初版的開發。
在此之后,Unix就一直在實驗室里迭代。1975年5月,第六版Unix發布,從這一版本開始,Unix逐漸為外界所知,隱然有走紅之勢。
為什么這一版具有如此魅力?
因為現代操作系統的設計哲學(套路)就此形成,并穩定下來了。這一哲學包含兩個方面,第一是簡潔,第二是專注。
先說簡潔,Unix的文件系統就是最佳示范。在Unix的世界里,一切皆文件。說到文件,我們首先想到的可能是打開一個文檔,并在里面輸入內容,最后保存關閉。這是一個關于普通文件的典型操作過程,只需要五個系統調用(creat, open, read, write, close)就可以全部完成。
那么,對于其他外接的設備,也可以將其視為一個特殊文件,只需要用五個系統調用組合使用,就能完成讀寫數據的工作。
這一理念有多么偉大,打個簡單的比方就好理解了。拿開車來說,如果每個品牌的汽車駕駛方法都不一樣,你想學車,就要把所有的開車方法都學一遍,你肯定會認為這是吃飽了撐的。
五個基本的系統調用就是統一的駕駛方法,不同的設備就像不同品牌的汽車。你不必關心汽車之間的差異,反正你坐進駕駛室就知道應該掛檔、踩油門、上路。
再說專注,Unix系統里有許多程序,這些程序各司其責,只將一件事做好。例如echo就是回顯文本;cat就是顯示文件內容;ls就是顯示磁盤目錄內容。
那么,要實現復雜的功能怎么辦?答案是借助于shell、管道與重定向機制,將獨立的小程序組合起來,實現想要的功能。
這就是一種典型的分工合作思想。還是以汽車來說,現在的汽車廠商不可能自己生產所有的零部件,都是從零配件廠商采購之后,組裝成車。
這里面shell是供程序所運行的環境,管道是程序間數據流通的通道。管道機制是真正的神來之筆。道格·麥基爾羅伊最初有這個想法,但總是被實現問題所困擾,直到有一天啟發了肯·湯普森的思考。
如同被上帝親吻了腦門,肯猛然省悟了管道的機理。他只用了一個小時就在系統調用中實現了管道。這就是將程序的孤島給連接起來的豎線符:“|”。
舉例來說,ls可以顯示目錄下的文件名。但如果你想知道目錄下有多少個文件,你顯然不愿意在ls里加一段代碼再重新編譯一遍。那么正好還有一個wc程序,它可以統計空格或換行分隔開的單詞數。
你可能想到,要是能把這兩個程序組合起來使用,那不就解決問題了嗎?是的,一行命令就可以搞定:ls | wc
這就是Unix的迷人之處。
現在要說一下開發操作系統所使用的編程語言了。如果說操作系統是一座金碧輝煌的大廈,那么編程語言就是用來建造它的工具。
在上世紀七十年代初期,貝爾實驗室的大神們是為此困擾不已的,因為他們沒有稱手好用的工具。其實IBM早在1964年就創建了PL/I,作為系統級的編程語言。但因為它也是中了“第二系統效應”的毒,包括了太多特性,以至于復雜難用。
后來劍橋大學教授馬丁·理查茲設計開發了一款名為BCPL(Basic Combined Programming Language)的系統編程語言。它比PL/I要簡單得多,因此Unix小組的成員們還能湊合著用。
但肯·湯普森這樣的大神是會止步于此的,基于PDP-7的環境,他自己又重新設計并開發了一門新的語言,稱之為B語言。從語言特性上來看,它和BCPL是非常接近的。
當性能更好的PDP-11計算機到貨以后,好伙伴丹尼斯·里奇又對B語言進行了改造,使之能將新機器的性能發揮出來。這門語言被稱為“NB”,它是“New B”的縮寫。
我想作為一名中文閱讀者,你此刻一定忍不住響亮地念了出來,然后一種爽快感令身心通透。很好,我的感覺也是這樣。
這門叫“New B”的語言在后來經過改進,正式定名為“C”語言,人類歷史從此翻開了新的篇章。這可以說就像普羅米修斯從太陽神的馬車上取得火種之后,將之獻給人類一樣偉大。
這不是我在唬人吹牛,C語言的出現,將系統編程語言從石器時代帶入了鐵器時代。C語言簡單易用,而且功能強大。首先就用在了開發新版本的Unix,這大大地提高了效率,還保證了穩定性。
其次,C語言使得系統移植變得輕而易舉了。在早先的年代,硬件的架構是千差萬別的,在不同的機器上如果要開發相同的功能,就得寫出兩套代碼來。良好的可移植性,這也是Unix能夠流行起來的重要原因。
最后,也是最重要的,C語言在貝爾實驗室之外獲得了廣泛的使用。這讓全世界的專業人士以及業余愛好者們可以共同為Unix開發軟件,從而形成了一個強大的生態環境。
在上世紀九十年代初的芬蘭赫爾辛基大學計算機系,一位長著大鼻子的自卑青年,就是用C語言開發出了改變世界的Linux操作系統,其實Linux本身也是遵循Unix系統調用接口規范的變種。這位青年就是Linus Torvalds。
即使直到今天,C語言也是系統編程領域的首選。尤其是當下物聯網(IoT)概念火熱,C語言在諸多低功耗嵌入式系統中被廣泛應用,居然還把這門40年前的語言捧上了編程語言排行榜的榜首位置。
C語言,真的很“New B”。
貝爾實驗室在對各位技術大神的管理上,還有一點是為人所稱道的,就是鼓勵大家勤奮地寫作,出版圖書,積極傳播技術價值。這對于Unix系統的發展,以及C語言的普及都產生了強大的推動作用。
一項技術被發明出來,只有被廣泛使用才會有價值。貝爾實驗室的管理層是深知這個道理的,所以實驗室對于技術寫作的支持并沒有停留在口頭上,而是建立了有效的機制和可靠的保障。
首先,實驗室允許大神們在一段時期內專心從事寫作,工資照發不誤。這樣一部優秀的技術圖書可以盡可能快地得到出版。如果大神們白天要上班,只能在晚上或周末來寫書,那就不知道會拖成什么樣。
其次,圖書出版后,作者是可以獲得版稅的。當然,版權還是屬于貝爾實驗室,但要是出的書爆款了,這收入也是很可觀的。沒有規定說計算機科學家就要安貧樂道,名利雙收的好事為什么要拒絕呢。
貝爾實驗室由此也形成了開放、互助、樂于分享的良好風氣。一個人在寫作的時候遇到問題,隨時可以向他人求教,并得到有效的幫助;誰的稿子寫好了,首先就是讓身邊的同事們審閱,并得到認真的反饋。
所以貝爾實驗室所出的技術圖書質量極高,作者們除了對內容精益求精,在遣詞造句上也用心良苦。多少經典著作成為技術愛好者的圣經、高校的必修教材。許多都流傳至今,出現在程序員們的必讀書單上。
下面就列舉一些最耀眼的明珠吧。
在1980年之后,AT&T因其在通信行業的壟斷地位,被美國司法部給盯上。迫于壓力,AT&T不得不將公司進行拆分,而這也成為了AT&T衰落的開始,貝爾實驗室的命運也從此走向了沒落。
拆分之后,從科研部門分離出去的一個名為Unix系統實驗室(Unix System Laboratories, 簡稱USL)的機構。USL雖然名為實驗室,但實際上是專注于運營支持,后來更是將業務擴大到銷售和推廣。
得益于AT&T早期將Unix免費分發給大學生們去使用,無意中培養出了一批精通Unix系統的工程師,從而形成了一定規模的市場。USL則將Unix專業商品化,意欲有一番大作為。
本來應該要好好培育這個市場,但是AT&T和USL卻向加州大學伯克利分校,就Unix的版權問題發起了訴訟。此事還要從早前AT&T將Unix免費發放給大學做研究說起。
加州大學伯克利分校的計算機系統研究組的比爾·喬伊和同事們,在原有的Unix基礎之上改造升級,形成了伯克利發行版(BSD)。而用戶是可以免費使用BSD發行版的。
AT&T顯然認為BSD版侵犯了自己的知識產權,所以就有了起訴伯克利一事。但伯克利并沒有就此服輸,而是持續將原有代碼刪除,代之以新的實現。就是說功能一樣,但代碼實現是完全不一樣的。
這樣做也無法讓AT&T罷手,于是又發起新的訴訟。這一次法院判伯克利勝訴。這兩家在長期的官司中消耗了太多的時間與資本,可以說最后的結果是AT&T功虧一簣。
本來還想指著賣Unix來賺錢,一看市場上有那么多免費使用的版本。于是就想通過打官司禁止發行免費版,這就是整個想法都不對了,除了把Unix市場的水攪渾,誰也沒有得到好處。
Linux的橫空出世,讓受夠了Unix爭執的技術人看到了新希望。Linus在設計Linux之初,遵循的就是POSIX規范。Unix用戶可以相當平滑地過渡到Linux上,在此之后就是屬于Linux的時代了。
Unix以另一種方式,繼續著自己的傳奇。
如今的貝爾實驗室所在地,已是人去樓空,一片破敗荒涼景象。是非成敗轉頭空,誰能想到這里的門檻曾是地球上最難踏進來的。
而大神們也都有了各自的歸宿。肯·湯普森在2000年之后退休,當了陣子飛行員,算是真的放飛自我了。后來進入谷歌公司,與貝爾實驗室的老戰友羅布·派克共同推出了現在炙手可熱的Go語言。
肯·湯普森
丹尼斯·里奇在2011年駕鶴西去,不覺也已十年,或許他正在天堂里跟上帝探討宇宙的終極算法吧。
丹尼斯·里奇
布萊恩·克尼漢則寫下了《Unix傳奇:歷史與回憶》一書,讓我們得以永遠銘記眾神的不朽光輝,還有那無比的榮耀!
布萊恩·W·克尼漢
NIX 之父、圖靈獎得主、C 語言的前身 B 語言的開發者、操作系統 Plan 9 的主要作者、Belle(一個國際象棋程序)作者之一,這些成就都出自一人之手,編程史上從來不缺大人物,但是肯·湯普遜(一般稱之為 Ken Thompson,肯·湯普森)絕對是一個傳奇。
肯·湯普森,圖源:維基百科
在《編程人生》一書的訪談中,肯·湯普森曾回憶:“小學時受到的教育很爛,但唯獨一堂課講了二進制,從此我便被迷住,因為從小就喜歡邏輯,因此做了很多二進制的運算,甚至還借助一臺十進制計算器擴展到各種進制。”
湯普森 1943 年出生在美國新奧爾良。1960 年,就讀于加州大學伯克利分校主修電氣工程,并取得電子工程碩士學位。當時,他的論文導師是埃爾溫·伯利坎普,同樣也是一位傳奇人物。
埃爾溫·伯利坎普的博士導師是香農、Gallager 等大師,他發明了 Berlekamp 、Welch-Berlekamp 和 Berlekamp-Massey 等著名算法,還花了不少時間研究圍棋等博弈游戲,他是組合博弈論的創始人之一。
埃爾溫·伯利坎普,圖源:維基百科
1966 年,畢業后的湯普森被貝爾實驗室聘用。他跟丹尼斯·里奇(C語言創始人)在 Multics 操作系統上工作。那時候,計算機還處在批處理的階段,技術不夠發達,程序員的工作效率不高,他們只能在既慢又笨重的大型機器上工作。為了解決一系列問題,Multics 操作系統應運而生,它是由美國高級研究計劃局資助、由麻省理工學院、貝爾實驗室和通用電氣公司的研究人員共同開發的分時操作系統。
可是好景不長,因為開發周期過長、成本過高,1969 年貝爾實驗室決定撤出這個項目。令湯普森最不開心的是他曾為 Multics 寫過一個游戲《太空旅行》,這下也玩不了了。
為了繼續玩游戲,湯普森找到了一臺舊的 PDP-7 計算機,他重新編寫了這個游戲,還花了一個月的時間開發了全新的操作系統 UNiplexed Information and Computing System(UNICS),后來改稱為 UNIX。
UNIX 首次運行在 DEC PDP-7 上,圖源:維基百科
在 UNIX 的開發過程中,湯普森決定 UNIX 需要一種系統編程語言。于是他開發了 B 語言,也就是 C 語言的前身。B 語言在進行系統編程時不夠強大,所以 1973 年丹尼斯·里奇用 C 語言重寫了 UNIX,安裝在 PDP-11 計算機上。隨著后來 UNIX 的廣泛使用,C 語言也成為了當時最受歡迎的編程語言延續至今。
坐著的肯·湯普森與丹尼斯·里奇一起在 PDP-11 旁工作,圖源:維基百科
1980 年,湯普森與貝爾實驗室的另一位工程師約瑟夫·康登開發了一款硬件輔助程序 Belle,一個會下國際象棋的計算機。同年,湯普森當選為美國國家科學院和美國國家工程院院士。
1990年代帶有液晶顯示屏的壓感國際象棋計算機,圖源:維基百科
1983 年,湯普森被貝爾實驗室任命為研究員。他還協助丹尼斯·里奇在貝爾實驗室創建了 Plan 9 和 Inferno 操作系統。這一年,美國計算機協會將圖靈獎授予肯·湯普森和丹尼斯·里奇。
肯·湯普森與丹尼斯·里奇(右),圖源:維基百科
2000 年底,湯普森從貝爾實驗室退休了,他成為了一名飛行員。在編程的世界里遨游半生,也想去真正的天空看看了。
如果你以為他的傳奇生涯就這么結束了,那就太天真了。
2006 年,他又加入了 Google 公司,參與設計 Go 語言。當提到他與其他 Go 語言的原始作者時,他說:“當我們三個人(Thompson,Rob Pike 和 Robert Griesemer )準備開始開發 Go 的時候,純粹是為了研究。我們一起討厭 C ++。(笑聲)回到 Go,我們開始的想法是,對于語言的每個功能都要碰頭交流,因此不管什么原因,我們都不會在語言中添加多余的垃圾。”
羅伯特·格瑞史莫,羅勃·派克和肯·湯普森,圖源:Google
他認為優秀開發人員的標志是熱情,雖然他是編程狂魔,但是他卻不建議自己的兒子去讀計算機,理由竟然是計算機發展太慢了。大佬果然是大佬。現在已經 77 歲的湯普森依然在編程路上不斷探索,我們又怎么能停下腳步呢?
今天是 2 月 4 日,是肯·湯普森的生日,在這里我們要祝愿大佬生日快樂。同樣,今天也是立春的日子,一年的初始,也希望小伙伴們能保持初心,迎接新一年的工作和學習。
圖書推薦:
從零開始編寫一個五臟俱全的圖形操作系統
《30天自制操作系統》
作者:川合秀實
譯者:周自恒,李黎明 等
這是一本兼具趣味性、實用性與學習性的書籍。作者從計算機的構造、匯編語言、C 語言開始解說,讓你在實踐中掌握算法。在這本書的指導下,從零編寫所有代碼,30 天后就可以制作出一個具有窗口系統的 32 位多任務操作系統。
Linux命令行圣經
《Linux命令行與shell腳本編程大全》
作者:Richard Blum等
譯者:門佳,武海峰
和所有“大全”系列圖書一樣,這本書涵蓋了詳盡的動手教程和實踐信息,還提供了與所學內容相關的參考信息和背景資料。它是關于 Linux 命令行和 shell 命令的相當全面的資源。讀完之后,你將可以輕松寫出自己的 shell 腳本來實現 Linux 系統任務自動化處理。
101個shell經典實例,拿來即用
《shell腳本實戰(第2版)》
作者:戴夫?泰勒,布蘭登?佩里
譯者:門佳
本書極為實用,通過對 101 個 shell 腳本實例及其核心內容的講解,展示如何在實際工作中利用 shell 腳本解決各種常見問題。涉及的主要內容有:簡化 shell 腳本的工具和技巧,用戶命令改進,UNIX 調校,用戶管理,系統維護,網絡資源處理,網站管理,Internet 服務器管理,OS X 腳本,云服務相關腳本,圖像處理。
豆瓣評分9.1
比教材更易懂的C語言入門書
《明解C語言:入門篇》
作者:柴田望洋
譯者:管杰,羅勇,杜曉靜
本書對 C 語言的基礎知識進行了徹底剖析,內容涉及數組、函數、指針、文件操作等。對于 C 語言語法以及一些難以理解的概念,均以精心繪制的示意圖,清晰、通俗地進行講解。原著在日本廣受歡迎,始終位于網上書店 C 語言著作排行榜首位。
豆瓣評分9.3
無數程序員推薦的C語言力作
《C語言程序設計現代方法》
作者:K.N.King
譯者:呂秀鋒 黃倩
本書最大特色是通過一種“現代方法”來介紹 C 語言,書中強調標準 C,強調軟件工程,不再強調“手工優化”。這一版中緊密結合了 C99 標準,并與 C89 標準進行對照,補充了 C99 中的最新特性。本書分為 C 語言的基礎特性、 C 語言的高級特性、 C 語言標準庫和參考資料 4 個部分。每章末尾都有一個“問與答”小節給出一系列與該章內容相關的問題及答案。
1969 年,美國新澤西州,貝爾實驗室的閣樓上,一臺 24K 內存的電腦里,一個操作系統孕育而生,它的名字叫 UNIX 。隨后的半個世紀,UNIX 帶動了軟件行業的創新,甚至改變了計算機技術的發展軌跡,成為計算機歷史上的一座豐碑。
UNIX 是如何誕生的?貝爾實驗室為何培養了那么多圖靈獎得主?UNIX 操作系統為何重要?中國操作系統的未來會如何?
為此,《CSDN 悅讀時間》欄目邀請到了 CSDN 創始人&董事長、極客幫創投創始合伙人蔣濤,飛漫軟件總經理、HybridOS 操作系統創始人魏永明,CSDN 副總裁、前微軟研發總監鄒欣,《UNIX 傳奇》譯者、IT 產品與運營專家韓磊,圍繞最新發布的《UNIX 傳奇》一書,揭秘操作系統鼻祖 UNIX 的發展史,探尋傳奇之路的可借鑒之處。
初識 UNIX 系統
何時開啟了 UNIX 之路,其中遇到過哪些有趣的故事?
蔣濤:我最早學習 UNIX 是在 80 年代末,那時進機房得穿白大褂,主要目的是防靜電。1991 年,我進入銀行工作后發現,銀行用的也是 UNIX 系統,所以我還寫過 UNIX shell 的程序。
不久在 PC 時代來臨之際,我轉用了 DOS 系統,DOS 比 UNIX 簡單,是一個降維版的操作系統,由命令行驅動,而很多命令來自 UNIX。DOS 之后是 Windows、Mac OS 等主流操作系統,所以說