David Cutler,大衛·卡特勒,一位傳奇程序員,1988年去微軟前號稱硅谷最牛的內核開發人員,是VMS和Windows NT的首席設計師,被人們成為“操作系統天神”。他曾供職於杜邦、DEC等公司,1988年,由比爾 ·蓋茨招募到微軟,他用了5年時間花費了15億美金,負責組織NT的開發。
戴夫·卡特勒(Dave Cutler)是在逆境中長大的。他很小的時候就學會了照顧自己,堅持己見,以及如何尋找方法跨過前進道路上的障礙。 他1942年3月13 日出生於密歇根州首府蘭辛。蘭辛是一座汽車城,許多生產汽車以及汽車零件的制造商都在這里安家。卡特勒的父親叫尼爾(Neil),他幾乎一生都在蘭辛的奧斯莫比(Oldsmobile)工廠工作,先是在工廠的運輸部門工作,后來成為工廠的看門人。
與許多計算機界的前輩牛人們一樣,David Cutler並不是計算機科班出生,他在大學拿的是數學學士,主攻物理,滿懷熱情地想成為一位建造事物的工程師。他的第一項工作並不與計算機相關,僅取得數學學士學位即投入工作的他因為主攻物理而進入杜邦公司負責材料測試。由於工作需要,卡特勒不得不進一步到一所IBM經營的學校學習編程用以為材料建模。在一次公司的臨時外派中,卡特勒被要求到DEC(Digital Equipment Corporation)為計算機編寫控制代碼、調度任務,同時負責系統運作的監控。這次經歷讓卡特勒做出了一個改變后幾十年世界格局的決定——全心投入軟件開發工作。
童年時父親嚴苛的要求讓卡特勒成為了一個意志堅定、爭強好勝、脾氣倔強甚至有些暴虐的人,也許正是因為這些特質使年僅二十九歲的卡特勒在加入DEC之后迅速成為計算機軟件設計領域的專家。
1971年,David Cutler離開杜邦公司來到DEC。他的第一項任務就是為DEC的PDP-11微處理器開發操作系統——RSX-11M。PDP-11是為工業控制和制造控制而設計的16位微處理器。David結合總體概念和設計原則,利用匯編語言在非常有限的內存空間內實現了多項系統功能,如:樹型文件系統、交換應用程序、實時調度和一整套開發工具等。據David回憶,當時連他的橡皮圖章上都刻着開發這個操作系統的目標——“容量就是一切!”后來,這些概念和原則也體現在了NT上。
70年代后期,DEC公司在PDP-11的基礎上開發出32位的VAX處理器。與之相應,也要開發基於VAX的操作系統 VMS,要能兼容 RSX-11M,可以在不同大小的機器上運行。David Cutler成為這個項目的負責人,設計VMS的架構。1977年,VMS 1.0問世。David唯一的遺憾是,為了迎合商業進度,VMS也是用匯編語言寫的,盡管當時完全可以用高級語言。所以,技術上正確的事並不見得是商業上的最佳選擇。隨后,David繼續研制 VMS 的后續版本,不過他有些不耐煩了。1981年,David威脅要離開DEC。為了挽留它的明星開發者,DEC給了David大約 200 位軟硬件工程師,讓他們跟隨卡特勒到西雅圖成立一個獨立開發中心從事新CPU架構和操作系統的設計工作。David把他的小組搬到西雅圖,並建立了一個開發中心。這個精英小組的目標是設計一個新的CPU 體系結構和操作系統,可以把DEC帶到九十年代。DEC把這個小組的硬件項目稱為Prism,操作系統為Mica。
很不幸,Prism項目於 1988年被DEC撤銷,很多項目成員也被解雇。因此David Cutler萌生了去意。此時,為了未來能夠與Unix抗爭、開發新的操作系統,Bill Gates見縫插針,竭力勸說David加入微軟。David去了,還帶去了許多與他一同開發VMS和Mica的程序員。進入微軟,David領導一個工程小組,負責設計一種能提供文件服務、打印服務和應用服務的對稱多處理。操作系統,起名為Windows New Technology(NT)。這就是Bill Gates想用來對抗Unix的新型武器。
經過近4年的開發工作,在1993年6月發布的第一版Windows NT 3.1,已經具備了現代操作系統的雛形——搶先式多任務、虛擬內存、對稱多處理器、圖形界面、C2安全級、堅固而穩定的內核、內置網絡支持、完全的32位代碼等。
Windows NT在開發過程中一直以Intel i860(Intel設計生產的RISC精簡指令及芯片)和MIPS芯片(i860和MIPS均為RISC精簡指令集芯片,如今的ARM同樣是RISC精簡指令集芯片)為適配對象進行構建,不僅是為了防止被i386芯片架構限制住系統設計思路,同樣是為了保證NT系統未來在RISC精簡指令集芯片計算機上的可移植性和兼容性。此外,與Unix/Linux后天補充網絡連接、管理模塊不同,Windows NT與Novell Netware一樣,在設計之始就考慮到與計算機、互聯網的連通性,也就是說它們原生支持網絡鏈接甚至可以被稱為真正意義上的第一代網絡操作系統(NOS——Network Operating System)。
一直以來廣為人知的“微軟NT操作系統內核”,其實只是一種誤傳。所謂的“采用NT內核”就是 Built On NT Technology,即基於Windows NT操作系統進行補充、延伸。Windows操作系統的兩個產品線 Windows和Windows Server從2000年的版本開始都是 Built On NT Technology的,Windows XP、Windows 7巨大成就都可以歸功於Windows NT強大的多任務特性、穩定的內核和虛擬層帶來的驅動可拓展性。
毫無疑問,NT操作系統有一個優秀的內核,David Cutler成功地引入了硬件抽象層、內核對象這些天才的思想。雖然我們沒能得見它的源代碼,但在鑽研NT DDK的過程中、在埋頭可能就是由David親筆撰寫的文檔中時,總能有那些閃光點,讓我們可以在不同的時空與大師對話。
而1994年推出的Windows NT 3.51和1996年推出的Windows NT 4.0,在性能上有了更進一步提高;NT4.0甚至提供了當時最先進的Windows 95風格界面。David Cutler在自己的天梯上繼續攀升,Bill Gates也在銷售數字面前笑得合不攏嘴。
如今,Built On NT Technology的Windows 2000和XP的成績有目共睹,而針對64位處理器的XP也即將推出。回顧開發操作系統的歷程,David情不自禁地感嘆道:“我也不知道,自己竟是那么的幸運,能夠在有生之年開發好幾個操作系統,而對於任何一個人來說,哪怕只開發一個都是非常難得的機會。”
是的,David Cutler做到了,在操作系統領域中縱橫了幾十年,締造了許多傳奇和神話。然而,又有誰會去看他幾十年的專注、寂寞、付出與艱辛呢?可能每個人在開始自己的職業生涯時都會設定一個目標。然而只有那么一些人會抓住目標緊緊不放、全心投入,最后這些人成了我們眼中的成功者、技術天才。也許,這就是成就天才與普通人的不同之處。
當初他和他的手下在微軟一周內把一個具備基本功能的boo kernel寫出來,然后說:“who can’t write an OS in a week?”,也是牛氣沖天的說。順便說一句,D爺爺到NT3.5時,管理1500名開發員,自己還兼做設計和編程,不改coder本色啊。D爺爺天生脾氣火爆,和人爭論時喜歡雙手猛擊桌子以壯聲勢。:-) 日常交談fuck不離口。他面試秘書時必問:”what do you think of the word ‘fuck’?” ,讓無數美女剎羽而歸。終於有一天,一個同樣火爆的女面對這個問題脫口而出:”That’s my favorite word”。於是她被錄取了,為D爺爺工作到NT3.5發布。
擴展閱讀:http://blog.csdn.net/stephanxu/article/details/5806187