項目背景:微軟亞洲研究院支持經典計算機基礎課程的革新。幫助老師們引入最前沿的信息領域技術、創(chuàng)新的教學理念到教學實踐中。例如將Windows內核引入操作系統(tǒng)實驗教學;將最前沿的互聯(lián)網搜索技術與數據挖掘、信息檢索等傳統(tǒng)課程相結合;以及融入微軟技術、理念基于案例的軟件開發(fā)課程等。通過研究人員、開發(fā)工程師、一線教學老師的緊密合作為課程注入了新的活力,使教學內容做到了與時俱進,學生們獲益匪淺。
2000年操作系統(tǒng)課程的改革已經在國內高校逐步開展,部分高校開始采用國際一流的操作系統(tǒng)教材。與國際一流大學操作系統(tǒng)課程相比較,當時國內操作系統(tǒng)課程存在的突出的問題是,在操作系統(tǒng)課程教學中偏重原理,對實踐內容缺乏關注。造成這種狀況的原因是多方面的:缺乏合適的操作系統(tǒng)實踐教材和參考資料是一個方面,另一方面是當時普遍缺乏對主流操作系統(tǒng)代碼進行深入研究的條件。
縱觀歷史,操作系統(tǒng)本身是一個理論與實踐結合極為緊密的學科。操作系統(tǒng)不僅要管理計算機系統(tǒng)的所有資源,而且還要為用戶提供良好的應用接口和編程環(huán)境。為了實現這個目標,設計人員幾乎使用了所有的軟件設計原理和技術。如果你研究和設計過操作系統(tǒng),那么無論是多么困難、多么復雜的軟件應用系統(tǒng),你也會感到游刃有余。要想成為一個出色的軟件工程師,就應該擁有研發(fā)操作系統(tǒng)的經歷。由于意識到操作系統(tǒng)實踐的重要性,我們一直在尋找一些能夠適合本科教學使用的操作系統(tǒng)實踐案例。我們在組織學生進行操作系統(tǒng)實習的過程中,使用和嘗試過多個操作系統(tǒng),比如Little OS, RoadRunner,eCos, OSKit, Nacho等。這些操作系統(tǒng)各有特點,不過都不是真實的主流操作系統(tǒng)案例。
值得注意的是,真實的操作系統(tǒng)案例與教學的需要之間是存在矛盾的。從教學角度看,教師當然希望要有基于真實操作系統(tǒng)的實習,但是真實的操作系統(tǒng),系統(tǒng)規(guī)模大、復雜,顯然不便于教學。所以,要想在操作系統(tǒng)課程教學的過程中采用真實的操作系統(tǒng)作為案例,必須解決兩個問題:
●得到該操作系統(tǒng)的源代碼;
●從便于教學出發(fā),在該操作系統(tǒng)大量的源代碼中進行取舍,選取真正代表該操作系統(tǒng)技術精華的源代碼部分。
采用Linux作為操作系統(tǒng)課程教學的一個真實案例,當然是一個不錯的選擇。但是如果考慮到多數用戶的使用實際,當代使用最廣泛、最普及的計算機操作系統(tǒng)是Windows 操作系統(tǒng)。如果不能在操作系統(tǒng)的教學過程中把Windows作為一個真實的案例,不能介紹Windows的內部實現,無論如何也是一個缺憾。
2000年8月,在由微軟亞洲研究院主辦的首屆高等院校計算機系系主任座談會上,很多系主任提出希望能有一本講解Windows操作系統(tǒng)原理的教材。2000年10月,在第六屆全國操作系統(tǒng)課程教學研討會上,許多主講操作系統(tǒng)課程的教師也提出希望更多地了解Windows內核原理,以供教學需要。正是在這樣的大環(huán)境下,寫作一本結合當代Windows操作系統(tǒng)教科書的構想產生了。思想的火花在微軟中國研究院(微軟亞洲研究院的前身)的支持下,很快燃成了一支火炬。
我很榮幸地加入了Windows操作系統(tǒng)教材寫作小組,這個小組的成員還包括:清華大學計算機系的史美林、向勇、清華大學電子工程系的馬洪兵、北京航空航天大學計算機系的王雷、浙江大學計算機系的鄭扣根、上海交通大學計算機系的尤晉元和陳英。他們都是所在高校操作系統(tǒng)課程的主講教師,曾寫作、編輯和翻譯出版過多本有關操作系統(tǒng)原理的教科書,而且當時都在主持有關操作系統(tǒng)的科研工作。毫無疑問,這個寫作小組的陣容是相當豪華的。
詳細的寫作提綱出來后,困難也接踵而至。要剖析Windows操作系統(tǒng)原理,不能不了解Windows 操作系統(tǒng)的內部結構,也不能不去閱讀Windows操作系統(tǒng)的源代碼。但是,當時國內外已出版的計算機書籍和資料,包括微軟出版社出版的書籍中,沒有一本書能夠提供這方面的參考資料。怎么辦?問題很快通過微軟中國研究院高校關系部反映到微軟公司總部。經過微軟中國研究院的努力,在Windows開發(fā)組工程師Dave Probert的大力支持下,微軟公司總部作出決定,授權寫作組的老師們閱讀Windows 操作系統(tǒng)的源代碼,并提供有關Windows 操作系統(tǒng)的參考資料。這一消息讓我們感到非常高興。可是好事多磨,由于中美法律上的差異,美國微軟公司不能在中國本土向老師們提供閱讀Windows操作系統(tǒng)源代碼的條件。正當我們?yōu)橹鄲赖臅r候,接著發(fā)生的事情超出了我們的意料:微軟公司決定,邀請全體寫作組成員到微軟公司總部閱讀Windows 操作系統(tǒng)的源代碼,并由主持Windows 2000操作系統(tǒng)設計的高級技術人員,向中國寫作組專門講解Windows操作系統(tǒng)的內部體系結構。據微軟中國研究院介紹,這是微軟公司第一次在亞洲地區(qū)開放Windows 操作系統(tǒng)的源代碼。他們給予我們的支持讓我們吃驚,也讓我們非常感激。
2000年4月,西雅圖風光秀麗,景色宜人。微軟公司總部就坐落在西雅圖的雷德蒙鎮(zhèn)上。公司總部的辦公樓,一半被濃密的森林包圍著,另一半則是波光粼粼的湖泊。
寫作組在西雅圖的工作是緊張而高效的。我們每天一半的時間用來閱讀Windows操作系統(tǒng)的源代碼,另一半時間聽取Windows 2000設計師Dave Probert組織的講課,晚上時間則用來討論問題或者整理技術資料。為了能夠更深入地了解內部技術細節(jié),上海交通大學的尤晉元老師在出行前就組織研究生專門列出有關Windows的內部技術問題,以便充分利用這次寶貴機會和微軟總部的技術人員進行探討。由于工作安排上的原因,整個寫作組的八名成員,有四位未能去西雅圖訪問。但是他們也隨時和赴美訪問的老師保持著熱線聯(lián)系。史美林老師當時正在歐洲訪問,也不斷通過電話和電子郵件關心寫作小組工作的進展情況。給寫作組講課的Dave Probert,曾經是美國Unix技術公司的主要研發(fā)人員,從事Unix操作系統(tǒng)的設計和開發(fā)長達二十年,對Unix系統(tǒng)有著極其深刻的認識。目前,他是Windows內核開發(fā)組骨干成員。微軟公司擁有一大批像Dave Probert這樣經驗豐富的操作系統(tǒng)研究和設計人員,他們中有許多曾經從事過Unix操作系統(tǒng)、DEC VAX 機操作系統(tǒng)、Sun工作站操作系統(tǒng)。
毫無疑問,我們在微軟公司總部的有關工作,對我們團隊以后取得的成績起到了關鍵的作用。我們先后與Dave Probert 合著了《Windows 操作系統(tǒng)原理》、《Windows 內核實驗教程》。真誠的合作精神一直貫穿在我們的團隊之中,每個人都為編寫出優(yōu)秀教材這一目標而努力。在形式上我們是一個地理位置分散的團隊,但是無論每個成員在地球的哪個地方,我們始終保持著彼此之間的及時溝通和友誼。到目前,《Windows 操作系統(tǒng)原理》已經再版發(fā)行,我們也得到了許多老師肯定的反饋,這讓我們非常開心。
在詳細、深入地了解了Windows內核之后,我們的團隊針對中國高校的教學實際安排設計了一系列難度不同的操作系統(tǒng)實驗,真正將Windows操作系統(tǒng)引入到實際的教學環(huán)境中。通過“教育部微軟精品課程”的網站,教師們分享了相關的課件以及案例。為持續(xù)推廣該項目,微軟亞洲研究院在2008年組織了亞太區(qū)的操作系統(tǒng)研討會。在該次研討會上,我們的團隊得以和亞太地區(qū)的操作系統(tǒng)教師交流經驗,分享教學案例。
正如前面已經敘述的,我們這個團隊的工作對有關操作系統(tǒng)課程的教學改革起了一些作用。從具體的教學效果來看,學生們很歡迎能夠在課程教學中接觸到Windows操作系統(tǒng)的源代碼,能夠直接在Windows內核上進行實驗。通過真實案例的教學和實習,學生們學到了當代的先進技術,對他們的未來有益,對中國的軟件產業(yè)有益。在團隊合作、資源共享與推廣的工作中,我們學到了各個高校老師們的成功教學經驗,獲得了很多啟示,這些經驗和啟示是極為寶貴的。從與各個學校老師們的經驗分享中我們感到,今后還會有更多、更好的操作系統(tǒng)教學成果出現。這實在是一幅鼓舞人心的前景。
參與這樣一個團隊,以及與微軟之間的合作,是一種多贏的方式。合作的成果直接應用到了我們的操作系統(tǒng)課程教學過程中,推動了操作系統(tǒng)課程的教學改革工作。我們希望類似的合作還會繼續(xù)下去。