翟高壽
(北京交通大學(xué) 計算機學(xué)院,北京 100044)
操作系統(tǒng)是計算機本科專業(yè)主干課程,國內(nèi)外各高校計算機專業(yè)均對操作系統(tǒng)課程的教學(xué)研究和改革非常重視。特別地,操作系統(tǒng)作為北京交通大學(xué)計算機學(xué)院長期重點建設(shè)的核心課程,先后被評為校級精品課程/優(yōu)質(zhì)課程、教育部-英特爾精品課程(建設(shè)項目),現(xiàn)在正處于進一步提升優(yōu)質(zhì)課程建設(shè)水平的拔高階段。鑒于操作系統(tǒng)及計算機技術(shù)的迅猛發(fā)展,課程的教學(xué)內(nèi)容須與時俱進和不斷完善。操作系統(tǒng)研發(fā)技術(shù)相對滯后,長期制約著我國基礎(chǔ)系統(tǒng)軟件的發(fā)展,而操作系統(tǒng)課程在我國高層次計算機專業(yè)人才的基礎(chǔ)知識傳授和實踐技能培養(yǎng)方面則具有不可替代的作用和特別重要的意義。需要強調(diào)的是,在國務(wù)院《國家中長期科學(xué)與技術(shù)發(fā)展規(guī)劃綱要(2006—2020年)》及“核高基”國家重大科技專項的實施過程中所折射出來的計算機專業(yè)人才培養(yǎng)問題說明,計算機系統(tǒng)能力培養(yǎng)亟待加強和改善,并是提高計算機專業(yè)本科教學(xué)質(zhì)量和水平的一個重要方向[1]。為此,面向計算機系統(tǒng)能力培養(yǎng)目標,著力推進操作系統(tǒng)優(yōu)質(zhì)課程建設(shè)非常必要而且至關(guān)重要。
系統(tǒng)是指若干相互聯(lián)系和相互作用的部件或要素所構(gòu)成的整體。系統(tǒng)結(jié)構(gòu)則反映了系統(tǒng)各組成部件之間的聯(lián)系。系統(tǒng)之間的關(guān)系錯綜復(fù)雜,一般來說,在一個更高層面上,一個系統(tǒng)往往可能又是另一個更大系統(tǒng)的組成部分。對于計算機系統(tǒng)而言,存在如圖1所示的系統(tǒng)組成視圖,其中操作系統(tǒng)是最重要的核心系統(tǒng)之一。

圖1 計算機系統(tǒng)組成
對于計算機專業(yè)而言,相關(guān)系統(tǒng)能力應(yīng)包含計算機各類軟/硬件系統(tǒng)的系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)構(gòu)建、系統(tǒng)測試、系統(tǒng)驗證的能力。特別地,操作系統(tǒng)課程應(yīng)當逐步建立起并不斷完善涵蓋操作系統(tǒng)的分析、設(shè)計、構(gòu)建、測試及驗證等能力培養(yǎng)的教學(xué)目標。其中,操作系統(tǒng)的分析能力既包括需求分析能力,也包括操作系統(tǒng)內(nèi)核源碼分析能力;操作系統(tǒng)的設(shè)計能力和構(gòu)建能力首先應(yīng)瞄準操作系統(tǒng)的整體設(shè)計和構(gòu)建,同時也包括處理機管理、內(nèi)存管理、設(shè)備管理、文件管理等各子系統(tǒng)模塊的設(shè)計和構(gòu)建;操作系統(tǒng)的測試能力主要傾向于功能、性能方面的測試和分析,而驗證能力則應(yīng)把重心放在從理論上或結(jié)合測試手段開展有關(guān)功能和安全等方面的形式化分析驗證。對于本科生而言,應(yīng)當把操作系統(tǒng)的設(shè)計能力、構(gòu)建能力以及源碼分析能力培養(yǎng)作為重點,而操作系統(tǒng)的分析能力、測試能力、驗證能力則可作為研究生階段相關(guān)課程(如高級操作系統(tǒng)、安全操作系統(tǒng)等)的教學(xué)目標。
操作系統(tǒng)是最重要的基礎(chǔ)系統(tǒng)軟件,是一組有效管理計算機各類硬件和軟件資源、合理地對各類任務(wù)進行調(diào)度以組織和控制系統(tǒng)工作流程,并方便用戶使用計算機的程序的集合。毋庸置疑,操作系統(tǒng)本身就是一類非常復(fù)雜的系統(tǒng)。需要指出的是,傳統(tǒng)的操作系統(tǒng)教學(xué)往往孤立地講授構(gòu)成操作系統(tǒng)的處理機管理、內(nèi)存管理、設(shè)備管理、文件管理等各個模塊,過多地強調(diào)進程、信號量、死鎖等概念和相關(guān)原理以及調(diào)度算法、分配算法、頁面置換算法等理論細節(jié),而常常忽略了有關(guān)子系統(tǒng)自身的有機組成和內(nèi)在聯(lián)系以及它們彼此之間的關(guān)聯(lián)關(guān)系,其間,操作系統(tǒng)自啟動過程及引導(dǎo)模塊設(shè)計也經(jīng)常是被人遺忘的內(nèi)容。同時,考慮到課程教學(xué)安排應(yīng)遵循認知規(guī)律,以激發(fā)作為課程教學(xué)主體的學(xué)生的學(xué)習興趣和積極性,進而改善學(xué)生學(xué)習效果和提升課程教學(xué)質(zhì)量,所以,應(yīng)在凝練操作系統(tǒng)課程核心知識點和完善教學(xué)內(nèi)容的同時,對課程教學(xué)內(nèi)容講授先后次序進行適當?shù)恼{(diào)整和優(yōu)化(表1)。其中,根據(jù)教學(xué)安排的先后次序?qū)χR單元從上到下以及核心知識點從左到右和從上而下進行了排列。

表1 操作系統(tǒng)課程核心知識點及教學(xué)進度規(guī)劃
計算機專業(yè)屬于工科專業(yè),實踐編程能力對于學(xué)生就業(yè)競爭力的提升和在實際工作崗位發(fā)揮效用具有十分重要的意義。我國在以操作系統(tǒng)為核心的基礎(chǔ)系統(tǒng)軟件方面長期處于相對落后的狀況,并由此制約著計算機系統(tǒng)科研技術(shù)的發(fā)展和國家信息安全戰(zhàn)略的實施。為此,在操作系統(tǒng)優(yōu)質(zhì)課程建設(shè)提升水平的過程中,課程教學(xué)實踐環(huán)節(jié)及學(xué)生操作系統(tǒng)編程能力培養(yǎng)亟待進一步改善提高,面向系統(tǒng)能力培養(yǎng)應(yīng)是關(guān)鍵所在。所以,從操作系統(tǒng)構(gòu)建各關(guān)鍵模塊的實驗設(shè)計出發(fā),面向國家核心系統(tǒng)軟件技術(shù)發(fā)展要求,并融入核心算法實現(xiàn)和開放源碼分析等兩類實驗作為有機補充,構(gòu)建和完善適應(yīng)國家操作系統(tǒng)及相關(guān)系統(tǒng)軟件開發(fā)人才需求的操作系統(tǒng)課程分層立體式實驗課題體系(圖2),可為確立學(xué)生計算機系統(tǒng)觀及培養(yǎng)綜合編程素質(zhì)與能力奠定堅實基礎(chǔ)并產(chǎn)生深遠的影響。
考慮到學(xué)生興趣及其未來工作技能需求的多樣性客觀現(xiàn)實,操作系統(tǒng)課程實驗實踐環(huán)節(jié)應(yīng)全面實施自主選擇實驗課題并貫徹分類分層次要求及因材施教的原則。在此基礎(chǔ)上,認真總結(jié)課程教學(xué)實踐經(jīng)驗教訓(xùn)并借鑒國內(nèi)外各校操作系統(tǒng)課程實踐環(huán)節(jié)相關(guān)經(jīng)驗,建立健全實驗課題指導(dǎo)書,規(guī)范完善實驗基礎(chǔ)材料,鼓勵優(yōu)秀實驗成果當堂演講匯報及整理公布優(yōu)秀實驗報告,示范引領(lǐng)學(xué)生整體實踐能力和綜合素質(zhì)提升。

圖2 操作系統(tǒng)課程分層立體式實驗課題體系
操作系統(tǒng)課程與計算機專業(yè)開設(shè)的不少課程存在著密切聯(lián)系。鑒于絕大部分操作系統(tǒng)是采用C語言和匯編語言開發(fā)的,而計算機硬件系統(tǒng)又是構(gòu)成操作系統(tǒng)的基本運行平臺,所以C程序設(shè)計、計算機組成原理、匯編與接口技術(shù)等課程為操作系統(tǒng)課程的先修課程。同一學(xué)期講授的計算機體系結(jié)構(gòu)課程與操作系統(tǒng)課程在存儲器管理及設(shè)備管理等方面有共同關(guān)注的內(nèi)容,按照計算機體系結(jié)構(gòu)課程側(cè)重硬件內(nèi)容、操作系統(tǒng)課程側(cè)重軟件內(nèi)容的原則,由課程組之間協(xié)商討論和妥善解決。在貫徹操作系統(tǒng)研發(fā)能力培養(yǎng)的教學(xué)目標過程中,應(yīng)把某些較高難度操作系統(tǒng)實驗課題納入高年級實踐類課程(如軟件系統(tǒng)課程設(shè)計、軟件綜合實踐)的實驗課題體系,實施傾向性鼓勵評分策略,設(shè)計合適的操作系統(tǒng)研發(fā)相關(guān)類本科畢業(yè)題目,為提高學(xué)生操作系統(tǒng)層面的編程和實踐能力創(chuàng)造有利條件。
學(xué)生是學(xué)習的主體,故而操作系統(tǒng)優(yōu)質(zhì)課程建設(shè)的核心目標(即改善學(xué)生學(xué)習效果和提高課程教學(xué)質(zhì)量)的落實,關(guān)鍵在于充分調(diào)動學(xué)生學(xué)習的主動性、積極性及發(fā)揮其主觀能動性,為此構(gòu)建和完善操作系統(tǒng)課程基礎(chǔ)教學(xué)資源尤為重要。操作系統(tǒng)課程組立足于北京交通大學(xué)思源教學(xué)平臺,我們不斷豐富完善操作系統(tǒng)課程平臺資源庫,持續(xù)改進課程課件、課堂音視頻資料、作業(yè)題庫、試題庫及優(yōu)秀實驗成果示范報告庫,健全和完善學(xué)生自主學(xué)習支撐環(huán)境。與此同時,在錄制和整理課程課堂講授音視頻資料的基礎(chǔ)上,圍繞操作系統(tǒng)核心知識點,制作了部分操作系統(tǒng)慕課課程,開展實踐應(yīng)用研究。在此基礎(chǔ)上,以課程平臺資源庫為紐帶,以理論作業(yè)和實驗課題為抓手,帶動學(xué)生自主學(xué)習、主動學(xué)習,形成了積極學(xué)習向上的氛圍,促進了課程學(xué)習效果的全面提升。
教材建設(shè)是課程建設(shè)上水平不可或缺的重要組成部分。操作系統(tǒng)課程組歷來重視教材建設(shè),并為此不斷積累經(jīng)驗和積聚實力。2008參與編寫《操作系統(tǒng)原理與實踐》(高等教育出版社出版);現(xiàn)已翻譯完成國外教材《Operating Systems: A Spiral Approach》(《基于螺旋式方法的操作系統(tǒng)教程》,機械工業(yè)出版社出版)。另外,我們秉持知行理念的教材建設(shè)目標[2],組織撰寫適應(yīng)新時代計算機專業(yè)發(fā)展需求特色的自編操作系統(tǒng)教材,自2013年啟動編寫工作以來,業(yè)已形成初稿,并在課堂上多次試用相關(guān)內(nèi)容,計劃進一步修改完善和在明年底之前最終定稿,計劃于后年出版發(fā)行。
課程教學(xué)進度規(guī)劃的優(yōu)化和實驗課題分類及層次化要求的落實,極大地激發(fā)了學(xué)生學(xué)習操作系統(tǒng)課程的興趣和內(nèi)在動力,而課程平臺資源庫的豐富完善則使他們在學(xué)習中如虎添翼,期末考試卷面成績同以往相比發(fā)生了較大的提高。不少學(xué)生坦言,有關(guān)系統(tǒng)類的實驗課題的完成盡管“比較吃力”“實在是不容易”“遇到了很多困難和挑戰(zhàn)”,但使他們“真正觸摸到了系統(tǒng)”“收獲很多”“學(xué)到了很多實實在在的東西”,對操作系統(tǒng)“概念比較抽象”的感覺也轉(zhuǎn)化成為“好像操作系統(tǒng)也沒有那么神秘了”的頓悟境界,甚至讓他們感到了“一點成就感”“學(xué)到了受益終生的知識”等。
面向系統(tǒng)能力培養(yǎng)教學(xué)目標,以完善優(yōu)化操作系統(tǒng)課程內(nèi)容、分類和層次化實驗課題、協(xié)同優(yōu)化課程間關(guān)系、建設(shè)慕課及持續(xù)改進課程平臺資源庫、引進國外先進教學(xué)理念、加強操作系統(tǒng)教材建設(shè)等為抓手,著力強化操作系統(tǒng)優(yōu)質(zhì)課程建設(shè),上述實踐取得了較好的教學(xué)效果。今后我們將進一步提升課程建設(shè)水平、優(yōu)化課程教學(xué)效果、激發(fā)學(xué)生系統(tǒng)知識與技能的綜合發(fā)展,以期對北京交通大學(xué)計算機科學(xué)與技術(shù)專業(yè)建設(shè)及專業(yè)教育競爭力的提升產(chǎn)生積極的推動作用。
[1] 劉衛(wèi)東, 張悠慧, 向勇, 等. 面向系統(tǒng)能力培養(yǎng)的計算機專業(yè)課程體系建設(shè)實踐[J].中國大學(xué)教學(xué), 2014(8): 48-52.
[2] 翟高壽. 關(guān)于操作系統(tǒng)課程教材建設(shè)的幾點思考[C]∥北京市教育委員會、北京高等教育學(xué)會教材工作研究會. 構(gòu)建高等教育教材建設(shè)體系, 提高高等教育教學(xué)與人才培養(yǎng)質(zhì)量: 北京高校教材建設(shè)研究文集. 北京: 中國人民大學(xué)出版社, 2015: 36-40.