<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          沒有這個(gè)傳奇工程師,就沒有今天的Windows(文末送書)

          共 10362字,需瀏覽 21分鐘

           ·

          2021-12-15 20:43


          根據(jù)計(jì)算機(jī)領(lǐng)域的摩爾定律,如果在18個(gè)月內(nèi)都還沒有發(fā)布產(chǎn)品,幾乎意味著項(xiàng)目要流產(chǎn)了。Windows NT操作系統(tǒng)的最初計(jì)劃也是18個(gè)月,但現(xiàn)在,他們已經(jīng)整整研發(fā)三年了。
           
          好在,這個(gè)大制作已經(jīng)進(jìn)入測試和Bug修復(fù)階段,只差臨門一腳。還有不到兩個(gè)月,他們將最終交付這個(gè)計(jì)算機(jī)系統(tǒng)領(lǐng)域具有劃時(shí)代意義的操作系統(tǒng)內(nèi)核?!坝涀∵@美好的舊日時(shí)光吧”,大衛(wèi)·卡特勒(David Cutler)希望工程師們?cè)俟囊话褎拧?/span>
           
          如果這是美好時(shí)光,Windows NT的締造者們會(huì)覺得有點(diǎn)不幸。

          經(jīng)歷一次次延期發(fā)布,所有人身心俱疲,單調(diào)和乏味充斥著日常工作,而卡特勒這個(gè)暴躁工頭還在催趕工期,如果有工程師在家扎小人詛咒卡特勒,也不會(huì)讓人感到意外。畢竟,在這個(gè)1993年的6月,為了解壓和泄憤,他們就隨手完成了一次集體性反動(dòng)惡作劇。
           
          一天,辦公室上方掉下了一條百葉窗的繩子,落在了走廊上形成了一個(gè)圓環(huán)。不久這個(gè)環(huán)出現(xiàn)了一些硬幣,隨后又有人放入了一支玫瑰花,一些賭博用的籌碼,奇怪的是,沒有人清理掉這些東西。
           
          很快,圓環(huán)里多了一個(gè)裝糖果的盒子,還加入了一張卡特勒的滑稽大頭照。兩根蠟燭也隨后出現(xiàn)在圓環(huán)外面,盡管沒有點(diǎn)燃,但氣氛似乎恰到好處,給卡特勒照片營造了一種詭異的肅穆感。
           
          沒錯(cuò),那是獻(xiàn)給卡特勒的祭壇。根據(jù)《觀止:微軟創(chuàng)建NT和未來的奪命狂奔》一書的描述,這些東西好幾周都沒有人移動(dòng),直到一天,卡特勒停下來問身邊的同事那些鬼東西像什么,知道真相的他憤怒地走開了,也許是假裝憤怒。
           
          大多數(shù)工程師跟著他過著一維的生活,工作就是他們的全部。對(duì)下屬,他更多展現(xiàn)的是粗魯、嚴(yán)厲、蠻橫、好斗、無情的暴君形象,甚至在招聘女秘書時(shí)會(huì)問怎么看F打頭的那個(gè)詞。然而,很少有人會(huì)質(zhì)疑他對(duì)待工作的態(tài)度,專注、嚴(yán)謹(jǐn)、激情十足、不拘一格,具有天生領(lǐng)導(dǎo)力,而且有女性工程師看出他有時(shí)暴怒的背后只是虛張聲勢。
           
          這些混雜的印象讓很多人對(duì)他產(chǎn)生了一種微妙的情感,怨恨中帶有絲絲仰慕,用當(dāng)代比較時(shí)髦的詞來形容,有些人說不準(zhǔn)就會(huì)討伐這個(gè)中年男是在“PUA”了。
           
           
          有些牛人就是這樣,厲害到能讓別人忍受他身上的種種缺陷,更不用說卡特勒這種被譽(yù)為engineer's engineer(“公雞中的戰(zhàn)斗雞”)式的人物。
           
          戈登·貝爾和比爾·蓋茨是他職業(yè)生涯中最重要的兩個(gè)伯樂。大學(xué)畢業(yè)后的卡特勒先在杜邦公司自學(xué)編程,而后入職DEC,1970年代后期在時(shí)任DEC副總裁的貝爾支持下,開創(chuàng)性地開發(fā)了VMS操作系統(tǒng),貝爾稱他是世界上最好的操作系統(tǒng)編寫者。
           
          1988年,在蓋茨的招募下,他來到微軟,歷時(shí)5年花費(fèi)1.5億美元,領(lǐng)導(dǎo)200多位工程師開發(fā)出有430萬行代碼的Windows NT。其技術(shù)革命性嚴(yán)重沖擊了Novell的Netware和UNIX操作系統(tǒng)的地位,為微軟帶來不可估量的商業(yè)價(jià)值,影響著超過20億人的計(jì)算體驗(yàn)。也因此,他成為迄今為止唯一一位享有微軟Senior Technical Fellow頭銜的工程師,待遇比肩集團(tuán)VP。微軟前CEO鮑爾默更是直言,沒有他,就沒有今天的微軟。
           
          不過,相比對(duì)這個(gè)世界產(chǎn)生的影響,他在外界的知名度卻不如同級(jí)別的Linus Torvalds,Jeff Dean那樣響亮。但他對(duì)此毫不在意,只專注于高質(zhì)量地完成工作,奉行行勝于言。他會(huì)強(qiáng)勢向你展示一種讓可能性變成現(xiàn)實(shí)的決心:我就是喜歡做這件事,我就要做成這件事。
           
          Windows NT就是卡特勒決心要實(shí)現(xiàn)的那件事。

          1

          “雙非”工程師的逆襲

           
          不同于大多數(shù)有著顯赫經(jīng)歷的牛人,卡特勒既非計(jì)算機(jī)科班出身,也非名校畢業(yè)生。在奧利韋特學(xué)院(Olivet College)上大學(xué)時(shí),他拿的是數(shù)學(xué)學(xué)士,對(duì)電腦一竅不通,畢業(yè)也并不想從事編程這種“似乎非常缺乏創(chuàng)造力且枯燥的工作”。
           
           
          后來,他進(jìn)入杜邦公司從事材料測試,但工作任務(wù)無可避免地需要編程來建模,卡特勒只好去IBM開辦的學(xué)校去學(xué)習(xí)編程,并將他寫的代碼運(yùn)行在DEC的小型機(jī)上,假以時(shí)日,竟然不小心成了DEC計(jì)算機(jī)專家。
           
          這段經(jīng)歷讓他在1971年順利進(jìn)入DEC公司編寫軟件。在那里,他為DEC的PDP-11計(jì)算機(jī)構(gòu)建實(shí)時(shí)操作系統(tǒng)RSX-11M時(shí)發(fā)揮了關(guān)鍵作用,通過結(jié)合總體概念和設(shè)計(jì)原則,利用匯編語言在非常有限的內(nèi)存空間內(nèi)實(shí)現(xiàn)了多項(xiàng)系統(tǒng)功能,比如樹型文件系統(tǒng)、交換應(yīng)用程序、實(shí)時(shí)調(diào)度和一整套開發(fā)工具等。過硬的技術(shù)和積極工作贏得了贊譽(yù),盡管他的暴脾氣沒給任何人留下好印象。
           
          還好有貴人識(shí)才。有DEC技術(shù)靈魂之稱的貝爾發(fā)現(xiàn)卡特勒是個(gè)一流工程師,還讓他主導(dǎo)為新的產(chǎn)品線Vax編寫VMS操作系統(tǒng),這個(gè)系統(tǒng)需要滿足向后兼容已有應(yīng)用,同時(shí)要能在不同配置的Vax計(jì)算機(jī)上運(yùn)行。巨大壓力之下,他花兩年時(shí)間完成了這一任務(wù),35歲的卡特勒一戰(zhàn)成名。

          (左為戈登·貝爾,右為大衛(wèi)·卡特勒)
           
          當(dāng)打之年的卡特勒有著遠(yuǎn)大抱負(fù)。但DEC日益增長的官僚氣息讓他無法忍受,并威脅要離開公司,貝爾挽留了他。1985年,DEC給他約200人的軟硬件工程師來設(shè)計(jì)一個(gè)全新的計(jì)算機(jī)系列Prism,其操作系統(tǒng)叫Mica。
           
          起初,這個(gè)團(tuán)隊(duì)幾乎像一個(gè)獨(dú)立的公司那樣運(yùn)作??珊镁安婚L,期間貝爾離開后沒人罩著,DEC其他部門對(duì)卡特勒?qǐng)F(tuán)隊(duì)的業(yè)務(wù)下手了。
           
          1988年6月,DEC總部告訴他項(xiàng)目完全取消。心灰意冷的卡特勒準(zhǔn)備離開。幾年過后,當(dāng)一個(gè)類Mica的操作系統(tǒng)問世之際,DEC管理層會(huì)為當(dāng)初放掉這員猛將而付出“代價(jià)”。
           
          彼時(shí),計(jì)算機(jī)產(chǎn)業(yè)正處在激情澎湃的技術(shù)革新期,新的軟硬件創(chuàng)業(yè)公司層出不窮,如OneFlow此前寫過的思維機(jī)器Multiflow公司。
           
          正如日中天的卻是微軟,DOS系統(tǒng)的成功讓蓋茨邁向美國首富,但他卻嗅到了面臨的危機(jī)。微軟的現(xiàn)金牛DOS可能面臨潛在威脅:一是RISC芯片的出現(xiàn)可能取代英特爾芯片,DOS卻與英特爾的芯片高度綁定;二是許多公司開始銷售裝有UNIX的電腦。要應(yīng)對(duì)這一難題,他想要微軟開發(fā)一個(gè)可移植的操作系統(tǒng)運(yùn)行在任一RISC芯片上,成為個(gè)人計(jì)算的通行標(biāo)準(zhǔn),這個(gè)新系統(tǒng)叫Windows New Technology,也就是Windows NT。
           
          卡特勒要離開DEC的消息傳到了蓋茨那里,相約見面后,這個(gè)看起來很自負(fù)的工程師從上到下噴了一頓微軟的產(chǎn)品,但后者認(rèn)定,他將是領(lǐng)導(dǎo)新操作系統(tǒng)團(tuán)隊(duì)的最佳領(lǐng)導(dǎo)人選。大把股票、自主選擇研發(fā)團(tuán)隊(duì)和開發(fā)新操作系統(tǒng)的機(jī)會(huì),以及蓋茨表現(xiàn)出的誠懇態(tài)度最終將卡特勒這個(gè)狂人收入麾下,入職后還順便招募了不少他在DEC時(shí)的死忠。

          2

          躊躇滿志卻狀況百出

           
          初來乍到,卡特勒?qǐng)F(tuán)隊(duì)與“微軟人”一度互相看不上,他把團(tuán)隊(duì)搞成了前DEC工程師的小圈子。

          為了讓新人融入微軟體系,蓋茨將足智多謀的骨干工程師Steve Wood派到了這個(gè)團(tuán)隊(duì)。Wood曾接手被微軟最大的客戶IBM大力支持的OS/2系統(tǒng),這是個(gè)16位操作系統(tǒng),只能在英特爾硬件上運(yùn)行且不可移植。他對(duì)卡特勒沒有盲目崇拜,但發(fā)現(xiàn)與其他團(tuán)隊(duì)成員倒是“臭味相投”。
           
          經(jīng)過幾個(gè)月的持續(xù)招募,在1989年4月,一個(gè)較為完整的NT團(tuán)隊(duì)就緒,帶著失意、憤懣的復(fù)仇情緒,卡特勒準(zhǔn)備大干一場。
           
          NT操作系統(tǒng)的目標(biāo)既具挑戰(zhàn)性又雄心勃勃:
           
          • 可移植且可用于多個(gè)目標(biāo)(MIPS、Alpha、PowerPc、x64)

          • 可以在多個(gè)操作系統(tǒng)(POSIX (UNIX)、OS/2 和 Windows 32)上運(yùn)行

          • 安全性和 C2 認(rèn)證(受信任的計(jì)算機(jī)認(rèn)證)

          • 在具有多個(gè)處理器的系統(tǒng)上運(yùn)行,并且能同時(shí)運(yùn)行多個(gè)程序,這在當(dāng)時(shí)PC市場上獨(dú)有

           
          高可靠性的要求使得卡特勒將NT分成了兩個(gè)部分:一個(gè)是內(nèi)核,不與程序發(fā)生關(guān)聯(lián),不會(huì)被它運(yùn)行失敗時(shí)所影響,另一個(gè)是操作系統(tǒng)的圖形化部分。這個(gè)模式的最大問題是會(huì)犧牲系統(tǒng)運(yùn)行的效率。蓋茨也表達(dá)了質(zhì)疑,但卡特勒?qǐng)?jiān)稱,他們會(huì)以高超的編程技巧彌補(bǔ)性能不足。
           
          根據(jù)日程表,他們打算在1990年7月寫完NT的所有代碼,并在1991年3月30日交出最終版本。很快,那些預(yù)料之中和始料未及的挑戰(zhàn)會(huì)讓他一次次食言。
           
           
          首先是技術(shù)上的難題。一方面,支持和測試NT系統(tǒng)的機(jī)器還沒制造出來,在英特爾的i860芯片上運(yùn)行NT的代碼,效果太差,而切換到卡特勒看好的MIPS芯片要走很多回頭路,后來他們切換到英特爾的386系列芯片,但還是必須忍受硬件的毛病。另一方面,缺乏編程工具拖慢了系統(tǒng)研發(fā)的進(jìn)展,打造工具也分散了團(tuán)隊(duì)的部分力量。
           
          其次是團(tuán)隊(duì)磨合不暢??ㄌ乩罩幌雽W⑿F(tuán)隊(duì)去開發(fā)NT內(nèi)核,不想負(fù)責(zé)管理與之相關(guān)的圖形、網(wǎng)絡(luò)、測試小組。他們各自工作風(fēng)格不一,卡特勒甚至把測試小組當(dāng)做累贅,他從不依靠測試小組,認(rèn)為測試工程師只會(huì)讓程序看起來更糟糕。這種偏見源自他的個(gè)人編程風(fēng)格,在寫代碼前,他會(huì)先在頭腦里形成代碼圖,然后高精確度地寫下極少有Bug的代碼,每一行代碼都有注釋。
           
          同時(shí),他還要很不情愿地根據(jù)項(xiàng)目經(jīng)理帶來的客戶意見來修改代碼和功能。
           
          1990年春天,圖形可視化部分也遭遇嚴(yán)重困境,尤其采用C++語言使得程序容量超過計(jì)算機(jī)內(nèi)存,而MIPS芯片的發(fā)布也延遲了,蓋茨還把NT向386芯片移植的工作視為項(xiàng)目最高優(yōu)先級(jí),但是沒有完成。
           
          更糟糕的是,不少人懷疑模型NT的客戶-服務(wù)模型會(huì)降低運(yùn)行應(yīng)用的性能,包括蓋茨也因?yàn)楹ε聽奚嗨俣龋冀K沒有認(rèn)可這種模型。但卡特勒依然堅(jiān)信他們會(huì)解決這個(gè)問題,在系統(tǒng)的可靠性和速度之間做出選擇時(shí),他最不能容忍的是不穩(wěn)定。
           
          至此,要在7月寫完所有代碼的計(jì)劃不可能實(shí)現(xiàn)??ㄌ乩沼憛挷荒苋缙趦冬F(xiàn)承諾,種種問題讓他很崩潰,但現(xiàn)在沒法撂挑子了,除了測試部門,網(wǎng)絡(luò)、圖形、兼容性等團(tuán)隊(duì)都交由其管理。他第一次感覺到,自己的事業(yè)與NT的命運(yùn)已經(jīng)聯(lián)系在一起。
           
          3

          截止日期節(jié)節(jié)敗退

           
          1990年6月,Windows 3.0的發(fā)布讓整個(gè)軟件行業(yè)大變樣。他們開始思考如何將NT運(yùn)行到Windows上。但最大的矛盾在于,OS/2和Windows控制系統(tǒng)PC的方法互不兼容,這讓客戶和工程師都變得難以適從。對(duì)微軟來說,他們不可能主要去支持OS/2,但也不想與最大客戶IBM產(chǎn)生決裂。
           
          蓋茨給IBM灌了兩斤迷魂湯。他讓后者相信,NT分別支持Windows和DOS系統(tǒng)將帶來諸多好處,盡管這與他建立統(tǒng)一軟件標(biāo)準(zhǔn)的說法有矛盾。背地里,微軟只讓來自以色列的一小隊(duì)人馬去設(shè)計(jì)NT的OS/2變種,而卡特勒?qǐng)F(tuán)隊(duì)卻向Windows發(fā)展成計(jì)算機(jī)標(biāo)準(zhǔn)這一真正的目標(biāo)前進(jìn)。
           
          對(duì)卡特勒個(gè)人來說,此舉不僅讓他擺脫了IBM,也將實(shí)現(xiàn)替代UNIX的期望。他早前就以蔑視UNIX而聞名,認(rèn)為這是一幫博士設(shè)計(jì)出來的垃圾。那時(shí)的UNIX缺乏對(duì)系統(tǒng)資源配額的支持(例如,任何進(jìn)程都可能通過分配過多內(nèi)存或 fork() 循環(huán)導(dǎo)致系統(tǒng)崩潰),還缺乏VMS風(fēng)格的進(jìn)程權(quán)限、微內(nèi)核架構(gòu),以及缺乏對(duì)多個(gè)子系統(tǒng)的支持。
           
          半年后,IBM才發(fā)現(xiàn)到被微軟擺了一道,還是后者主動(dòng)披露的。1991年1月,在微軟舉辦的應(yīng)用軟件開發(fā)者大會(huì)上,IBM工程師幻想著微軟NT團(tuán)隊(duì)會(huì)介紹支持OS/2的內(nèi)容,但直到演講快結(jié)束都有提到。IBM工程師當(dāng)場質(zhì)疑,NT工程師挑明要放棄支持OS/2,這導(dǎo)致IBM解除了與微軟的合作關(guān)系。
           
           
          隨后新的研發(fā)進(jìn)度表出爐,卡特勒承諾會(huì)在1991年10月31日,在萬圣節(jié)前NT代碼將會(huì)完成。而測試和修Bug的工作則會(huì)推遲到1992年的第二季度,這也是把NT交付給客戶的時(shí)間。
           
          NT逐漸成型,卡特勒希望團(tuán)隊(duì)都能嘗試使用NT系統(tǒng),這樣就可以檢查NT各個(gè)部分存在的缺陷和瑕疵,并對(duì)某些類型的程序缺陷進(jìn)行改進(jìn)。他們將轉(zhuǎn)換到NT系統(tǒng)的計(jì)算機(jī)上分為三個(gè)階段:純內(nèi)核NT、圖形以及網(wǎng)絡(luò)階段。
           
          真正評(píng)判代碼優(yōu)劣的方法就是運(yùn)行代碼。隨著更多工程師使用NT,他們發(fā)現(xiàn),要在NT上完成一件工作非常困難,不得不花費(fèi)數(shù)小時(shí)甚至數(shù)天時(shí)間進(jìn)行修復(fù)Bug,大大影響了項(xiàng)目的進(jìn)度。直到1991年5月底,沒有Windows圖形的NT版本運(yùn)行得很快,可依然是個(gè)很差的替代品。
           
          1991年8月,他們需要在三個(gè)月內(nèi)基本完成NT的程序以趕上截止日期,但現(xiàn)實(shí)是,NT的代碼最多只能完成80%。這時(shí)NT團(tuán)隊(duì)要考慮的是系統(tǒng)的安全性問題,主要是防止信息篡改。他們大大低估了這個(gè)工作的難度。再一次,卡特勒放棄了在10月完成NT的計(jì)劃,那時(shí)即使是最好的版本都有很多缺陷,而且性能上也有局限,盡管此前的測試表明Windows應(yīng)用在NT上運(yùn)行只比在DOS上慢比較小的百分點(diǎn)。
           
          他給的最新截止日期是1992年4月。沒有人比他更想看到NT早日發(fā)布。
           
          除了統(tǒng)一NT的兩個(gè)版本進(jìn)展緩慢,讓他更頭疼的是不斷新增的新功能,比如容錯(cuò)性,直到1991年圣誕節(jié)前夕都沒有完成,文件系統(tǒng)也遲遲沒有定型。甚至到1991年底,測試都沒有開始。兼容DOS和Windows應(yīng)用的進(jìn)展也落后了。而圖形小組由于使用C++而不是更容易的C語言降低了效率。
           
          也不全是要延期的壞消息??ㄌ乩沼脧?qiáng)硬手段幫助團(tuán)隊(duì)度過了難關(guān),使得NT的MIPS-英特爾版本在圣誕節(jié)前發(fā)布。在開發(fā)早期階段,NT就達(dá)到了一個(gè)在其他系統(tǒng)上很難達(dá)到的水平,在他眼里這是一個(gè)重大成就。
           
          項(xiàng)目進(jìn)度安排很嚴(yán)謹(jǐn),但研發(fā)過程中的項(xiàng)目工作量依然充滿未知。1992年2月,這是研發(fā)NT的第三年了,卡特勒的計(jì)劃一次次被NT的復(fù)雜性作弄。
           
          節(jié)節(jié)敗退的日程表讓他很不安??ㄌ乩找恢闭J(rèn)為,操作系統(tǒng)的開發(fā)最好是盡早發(fā)布第一個(gè)版本,更多功能將來可以再添加,但Windows NT開發(fā)到現(xiàn)在已不只是按照他的個(gè)人想法可轉(zhuǎn)移。
           
          這次,他把公開測試版推遲到了7月1日。
           
          焦頭爛額之際,卡特勒得到了一個(gè)意外喜訊。他的老東家DEC同意成為購買NT的第一個(gè)計(jì)算機(jī)制造商。在他看來,被DEC取消的Mica項(xiàng)目和NT大體是等價(jià)的,實(shí)際上,NT的許多元素都有他在DEC做系統(tǒng)時(shí)的技術(shù)映射,比如內(nèi)存管理、進(jìn)程和調(diào)度與VMS非常相似,而DEC現(xiàn)在卻花大價(jià)錢買下原本可以免費(fèi)擁有的東西,這讓他體會(huì)到一絲復(fù)仇打臉的快感。
           
          4

          混亂終將變得有序

           
          隨后卡特勒要求團(tuán)隊(duì)快馬加鞭,讓工程師注意細(xì)節(jié),為了激勵(lì)他們的斗志,有時(shí)還親自上陣負(fù)責(zé)寫模塊。
           
          終于,1992年6月29日,他們發(fā)布了一個(gè)WindowsNT Beta版本,主要改善了系統(tǒng)的質(zhì)量和可靠性。接下來,他們需要花幾個(gè)月時(shí)間完成未完的功能、修復(fù)Bug、提高性能并盡可能減小NT,最終版本將在年底發(fā)布。
           
          太大、太慢是一直困擾他們的關(guān)鍵問題。有人調(diào)侃,NT是一頭吃內(nèi)存的飛豬,在性能方面是一只蝸牛,這兩個(gè)指標(biāo)離蓋茨在三年前設(shè)定的目標(biāo)還很遠(yuǎn)。
           
          卡特勒承認(rèn)NT太慢,但現(xiàn)在差不多達(dá)到他的期望了,因?yàn)閷?duì)性能的改進(jìn)沒有止境。軟件歷史充分證明,從IBM的360到不同風(fēng)格的UNIX,再到微軟的Windows,幾乎所有劃時(shí)代的系統(tǒng)都是在不成熟的狀態(tài)就發(fā)布出來,然后逐步演進(jìn)并贏得更廣泛的認(rèn)可。
           
          內(nèi)存方面,蓋茨的公開目標(biāo)是將NT的最低內(nèi)存要求設(shè)定為8MB,但現(xiàn)在至少需要16MB才能滿足典型用戶的應(yīng)用需求,而當(dāng)時(shí)大多數(shù)個(gè)人電腦裝備的是4MB內(nèi)存,而增加內(nèi)存容量的話要花更多成本。
           
          至此,蓋茨只能放棄了在8MB內(nèi)存的PC運(yùn)行NT的打算,但在性能的問題上他不會(huì)讓步,當(dāng)時(shí)操作系統(tǒng)業(yè)務(wù)大約占微軟所有銷售額的一半,如果這一點(diǎn)不能滿足客戶的要求,它們就可能轉(zhuǎn)向IBM的OS/2。
           
          一次次的延期發(fā)布挫傷了團(tuán)隊(duì)的士氣。但催促連續(xù)不斷,而且沒有明確的結(jié)束期限。當(dāng)大多數(shù)人認(rèn)為這個(gè)操作系統(tǒng)快結(jié)束了,其實(shí)還有幾個(gè)月的乏味測試,以及尚未完成的功能和性能改進(jìn)等著他們。每天大約有2000個(gè)Bug需要解決,卡特勒關(guān)注Bug數(shù)量,就像關(guān)注著戰(zhàn)場上的傷亡數(shù)字。
           
          他制定的殘酷進(jìn)度讓很多人難以忍受,尤其最后的死亡行軍期間,很多團(tuán)隊(duì)成員掙扎在工作和個(gè)人生活這條線上,讓他們跟情人、朋友、孩子的關(guān)系變得很緊張??ㄌ乩斩位橐銎茰?,基本沒有家庭生活上的牽絆,也一直待在戰(zhàn)壕里。NT團(tuán)隊(duì)此刻的拼勁后來也激勵(lì)了一位來自遙遠(yuǎn)東方的深度學(xué)習(xí)框架創(chuàng)業(yè)者,在《觀止》的第187頁空白處,他寫下了一段批注,“看看創(chuàng)造奇跡的人”。
           
           
          距離創(chuàng)造奇跡還有一步之遙,只是卡特勒再?zèng)]敢承諾系統(tǒng)發(fā)布的準(zhǔn)確時(shí)間。為了提升團(tuán)隊(duì)士氣,他在全員郵件中重復(fù)著他的口號(hào),“記住這美好的舊日時(shí)光”。
           
          1993年6月21日,NT的發(fā)布終于進(jìn)入倒計(jì)時(shí),為了慶祝項(xiàng)目即將生產(chǎn),工程師們?yōu)樗I(xiàn)上一個(gè)祭壇。一個(gè)月后的7月26日,Windows NT終于發(fā)到工廠生產(chǎn)了。
           
          獨(dú)自坐在辦公室的卡特勒難掩激動(dòng)心情,他發(fā)布了一封全員郵件,開頭寫著:NT發(fā)布了,再說一遍,NT發(fā)布了——一連摁了5個(gè)感嘆號(hào)。

          5

          那美好的舊日時(shí)光

           
          卡特勒似乎是那個(gè)注定為Windows NT而生的人,它的成功占據(jù)天時(shí)地利人和。
           
          微軟迫切需要一個(gè)可移植的操作系統(tǒng)來幫助其贏得未來,它擁有打造這個(gè)系統(tǒng)所具備的足夠資金和人才資源,但只差卡特勒這樣的技術(shù)領(lǐng)導(dǎo)者,同樣不容忽視的是,蓋茨和鮑爾默給了他本人最大程度的信任和支持,在微軟王國里封給了卡特勒一片擁有高度決策權(quán)的自由領(lǐng)地。


          遠(yuǎn)大目標(biāo)的呼召和自由的管理空間對(duì)卡特勒推進(jìn)NT至關(guān)重要。在這里他完全施展了他獨(dú)特的領(lǐng)導(dǎo)和技術(shù)才能。NT團(tuán)隊(duì)沒有固定的匯報(bào)層級(jí),他本人拒絕過度管理,討厭復(fù)雜的規(guī)章制度,盡可能不插手下屬的工作,相信最突出的才干會(huì)在人數(shù)較少的小團(tuán)隊(duì)中顯現(xiàn)。他在分配工作時(shí)留有一定靈活性,喜歡讓每個(gè)人扮演不同角色,可以主動(dòng)解決沒有明確職責(zé)歸屬的事,而不是畫地為牢。
           
          卡特勒像是同時(shí)兼電影導(dǎo)演、演員和場務(wù)于一身,他證明自己可以把混亂的系統(tǒng)變得有序,不管它有多么難控制。

          作為導(dǎo)演,他依賴于召集到的所有人的才能,同時(shí)將自己的思想和偏好施加到下屬身上。如果在方向問題出現(xiàn)各種創(chuàng)意和分歧,最后由他拍板如何去做。他的挑戰(zhàn)在于如何讓這些有才華的人遵循同一份進(jìn)度安排,服從同一份通知。同時(shí),作為演員和場務(wù),他又能時(shí)刻親自上陣,為系統(tǒng)的每一條程序把脈,值得一提的是,NT的177個(gè).c文件出自卡特勒,比NT首席架構(gòu)師Mark Lucovsky還要多一倍。在長期無序的技術(shù)架構(gòu)和組織結(jié)構(gòu)演變中,他是運(yùn)籌帷幄的那個(gè)人。
           
          可以想象,在研發(fā)Windows NT的5年里,如果不是由卡特勒這樣執(zhí)著、強(qiáng)悍的猛人把持,要帶領(lǐng)250名精英工程師在心力交瘁的上千個(gè)日夜里不斷推進(jìn)絕非易事,換個(gè)人領(lǐng)導(dǎo)NT團(tuán)隊(duì)可能會(huì)是另一番光景。
           
          當(dāng)然,NT的成功離不開每一位工程師付出的艱苦努力。而該項(xiàng)目后來的巨大成功也證明,他們的付出是值得的。一直到2001年Windows XP發(fā)布,NT已成為所有Windows產(chǎn)品的內(nèi)核系統(tǒng),包括2021年最新發(fā)布的Windows 11,而它卻是一個(gè)30年前設(shè)計(jì)的系統(tǒng),老年的卡特勒會(huì)自豪地告訴你,那全部都基于NT。
           
          這離不開NT內(nèi)核的技術(shù)創(chuàng)新。從NT發(fā)布的第一天起,其諸多特性從根本上保證很多方面優(yōu)于UNIX,以及后來的Linux:
           
          • 日志文件系統(tǒng)NTFS,具有抗崩潰能力和性能。Linux在NT發(fā)布6年后開始才具備類似的日志功能集

           
          • 含有第三代擴(kuò)展文件系統(tǒng)ext3。

           
          • 服務(wù)。在UNIX里,“守護(hù)進(jìn)程(daemons)”是常規(guī)進(jìn)程。要啟動(dòng)一個(gè)守護(hù)進(jìn)程,你必須知道它的位置、語法和依賴關(guān)系。而NT允許用戶集中管理服務(wù)進(jìn)程并自動(dòng)管理它們的依賴項(xiàng)。GNOME和KDE在2000年有了類似NT的服務(wù)概念,幾年后被DBus標(biāo)準(zhǔn)化。MacOS和SystemD則分別于2005、2011年才有。

           
          • 注冊(cè)表,用于存儲(chǔ)和檢索應(yīng)用程序配置數(shù)據(jù)的統(tǒng)一模型。UNIX在 /etc中有任意格式的文本文件,但在實(shí)踐中效果不佳,導(dǎo)致產(chǎn)生版本控制/隔離問題。

           
          • 線程和進(jìn)程有很大區(qū)別。UNIX將進(jìn)程作為執(zhí)行和地址空間的單位,它的一些實(shí)現(xiàn)支持線程(或LWP,輕量級(jí)進(jìn)程),但在POSIX線程出現(xiàn)前,它們的創(chuàng)建成本更高且非標(biāo)準(zhǔn)。

           
          • NT的模塊化設(shè)備驅(qū)動(dòng)架構(gòu)允許在系統(tǒng)初始化后加載設(shè)備驅(qū)動(dòng),而當(dāng)時(shí)的UNIX通常將驅(qū)動(dòng)編譯到內(nèi)核中。NT還支持PnP和“設(shè)備樹(device trees)”,所以可以正確計(jì)算驅(qū)動(dòng)初始化的依賴項(xiàng)。2003年,Linux才具備“統(tǒng)一設(shè)備模型”能力。

           
          • 一個(gè) O(1) 調(diào)度程序。直到2003年Linux才具備。

           
          • NT的內(nèi)核是“可搶占的”,有更好的系統(tǒng)響應(yīng)能力和并行處理性能。在OS X Leopard前,OS X的搶占性(粗粒度鎖定)非常有限。Linux在2011年才擺脫了粗加鎖方式。

           
          1996年,卡特勒停止管理整個(gè)NT項(xiàng)目,但繼續(xù)領(lǐng)導(dǎo)內(nèi)核開發(fā)直到2006年。自2000年以來,他參與開發(fā)了每一個(gè)Windows版本的核心技術(shù),包括第一個(gè)完整32位的Windows 版本,同時(shí)對(duì)AMD64平臺(tái)的Windows XP、Server 2003系統(tǒng)做出重要貢獻(xiàn)。后來隨著計(jì)算機(jī)行業(yè)從服務(wù)器轉(zhuǎn)向云服務(wù),他在2008年擔(dān)任微軟Azure云計(jì)算平臺(tái)的主要開發(fā)者。2012年,他參與開發(fā)了Xbox主機(jī)操作系統(tǒng)部分。
           

          在幾十年職業(yè)生涯中,他在架構(gòu)設(shè)計(jì)、編碼、注釋等方面表現(xiàn)出的嚴(yán)謹(jǐn)風(fēng)范,深刻影響了微軟技術(shù)團(tuán)隊(duì)的工程文化,這也是他影響工程師的永久性遺產(chǎn)。

          如今,這位出生于1942年,現(xiàn)已是79歲的高齡工程師依然還會(huì)去辦公室寫代碼。他喜歡完成自己的代碼,然后看著它正常工作。休息間隙,這個(gè)倔老頭兒或許還會(huì)憶起開發(fā)NT的那美好的舊日時(shí)光。


          題圖源自微軟官網(wǎng)、維基百科

          參考資料

          1.《觀止:微軟創(chuàng)建NT和未來的奪命狂奔》,G. Pascal Zachary著,張銀奎等譯
          2.https://news.microsoft.com/features/the-engineers-engineer-computer-industry-luminaries-salute-dave-cutlers-five-decade-long-quest-for-quality/
          3.https://retrocomputing.stackexchange.com/questions/14150/how-4.should-we-interpret-dave-cutlers-criticism-of-unix/14151
          5.https://en.wikipedia.org/wiki/Dave_Cutler
          6.https://en.wikipedia.org/wiki/Windows_NT
          7.https://www.tech-insider.org/windows/research/1993/0526.html



          Python客棧聯(lián)合北京大學(xué)出版社送書啦~~
           

          推薦理由:
          本書分為3個(gè)部分:第1章和第2章是人工智能的數(shù)學(xué)基礎(chǔ),主要介紹了機(jī)器學(xué)習(xí)的概念、Python開發(fā)環(huán)境的搭建、機(jī)器學(xué)習(xí)bibei的數(shù)學(xué)知識(shí),以及線性代數(shù)和概率論的相關(guān)知識(shí);第3~12章主要介紹了回歸模型、分類模型、聚類模型、半監(jiān)督模型的建立和相關(guān)算法的理論,以及如何使用sklearn具體實(shí)現(xiàn)相關(guān)算法模型的搭建;第13章介紹了Spark機(jī)器學(xué)習(xí),筆者認(rèn)為對(duì)于機(jī)器學(xué)習(xí),不能只限于Python中的sklearn的學(xué)習(xí),還要緊跟大數(shù)據(jù)時(shí)代的發(fā)展。


          推薦理由:

          1. 新穎:模塊化的編程,程序分步運(yùn)行與講解。

          2. 直觀:300多幅圖表,輔助分析,一看就懂。

          3. 易用:例程代碼可在瀏覽器中直接運(yùn)行,代碼注釋詳盡,拿來就用。
          4. 實(shí)用:30多種算法,60多個(gè)實(shí)例,覆蓋面廣。

          推薦理由:

          系統(tǒng)教程:以實(shí)戰(zhàn)項(xiàng)目為核心,多種測試框架+測試工具為基礎(chǔ)的入門教程。

          內(nèi)容豐富:包括Selenium、Appium、Postman、Charles等10多種工具。

          圖示講解:包括300多個(gè)圖解展示,加快學(xué)習(xí)進(jìn)度。

          實(shí)戰(zhàn)案例:包括100多個(gè)實(shí)戰(zhàn)案例,讓你拿來就用




          贈(zèng)書規(guī)則:

          活動(dòng)截止時(shí)我們將從本文的留言中選出位幸運(yùn)粉絲贈(zèng)送書籍~

          注意哦,每人每月僅限一本書籍~


          活動(dòng)截止時(shí)間:2021 年 12 月 17 日 16:00 整

          兌獎(jiǎng)截止時(shí)間:2021 年 12 月 18 日 16:00 整



          往期推薦


          1、下一代 IDE 來了?

          2、神器 Typora 開始收費(fèi)!到底更新了啥?

          31平方厘米在元宇宙賣到14萬?單價(jià)比北京學(xué)區(qū)房貴多了

          4、欠債3000億,宣布破產(chǎn)!昔日民族品牌,為何總淪為反面教材?

          5、桌面版 Linux 為什么打不過 Window?Linus 現(xiàn)身說法


          點(diǎn)擊關(guān)注公眾號(hào),閱讀更多精彩內(nèi)容
          瀏覽 24
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一本大道HEYZO乱码专区 一本大道东京热无码中文字幕 | ZZjiZZji亚洲日本少妇 | 欧美一级精品在线视频免费 | 国产女在线 | 就要操逼网 |