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