葉保留 費(fèi)翔林 葛季棟 駱 斌
摘要:本文以實(shí)用操作系統(tǒng)的開源化契機(jī),結(jié)合“操作系統(tǒng)”教學(xué)要求和目標(biāo),提出以“一套源碼、兩個(gè)角度、三個(gè)層次”為切入點(diǎn)的實(shí)驗(yàn)課程建設(shè)思路,并從教材建設(shè)、課程規(guī)劃、教學(xué)實(shí)施等角度介紹了實(shí)驗(yàn)課程建設(shè)的關(guān)鍵環(huán)節(jié)。論文還以實(shí)驗(yàn)課程教學(xué)實(shí)施情況為案例,對(duì)實(shí)驗(yàn)課程教學(xué)實(shí)踐成效進(jìn)行了分析。
關(guān)鍵詞:實(shí)驗(yàn)課程建設(shè);教材建設(shè);課程規(guī)劃;教學(xué)實(shí)施
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
1.1實(shí)驗(yàn)課程教學(xué)的難點(diǎn)分析
操作系統(tǒng)在計(jì)算機(jī)領(lǐng)域有著舉足輕重的作用,它是最基礎(chǔ)的系統(tǒng)軟件,也是計(jì)算機(jī)系統(tǒng)的核心與靈魂。作為計(jì)算機(jī)學(xué)科中一門承前啟后的專業(yè)基礎(chǔ)課程,“操作系統(tǒng)”在計(jì)算機(jī)專業(yè)課程體系中扮演著重要角色。多年來,國內(nèi)外高校均將“操作系統(tǒng)”列為計(jì)算機(jī)專業(yè)的核心課程之一,并不斷從教學(xué)方式、課堂內(nèi)容、實(shí)驗(yàn)環(huán)節(jié)等方面對(duì)“操作系統(tǒng)”教學(xué)進(jìn)行探索和創(chuàng)新,通過多種途徑提高“操作系統(tǒng)”課程教學(xué)質(zhì)量,力求使學(xué)生真正掌握操作系統(tǒng)設(shè)計(jì)原理與實(shí)現(xiàn)技術(shù)的精髓。
作為一門理論與實(shí)踐并重的專業(yè)核心課程,操作系統(tǒng)具有以下特點(diǎn):一方面理論性強(qiáng)、概念抽象,難以理解;另一方面設(shè)計(jì)技巧高超、實(shí)現(xiàn)機(jī)制精妙、系統(tǒng)代碼量大,難以掌握。此外,隨著計(jì)算機(jī)網(wǎng)絡(luò)及分布并行等技術(shù)的不斷發(fā)展,操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)技術(shù)不斷更新,并與多個(gè)方向交叉。因此,“操作系統(tǒng)”教學(xué)一方面必須不斷充實(shí)內(nèi)容、涵蓋最新技術(shù)發(fā)展、反映技術(shù)演變趨勢(shì);另一方面還應(yīng)突出內(nèi)涵、深入剖析基本理論與核心技術(shù)。從而使學(xué)生真正做到融會(huì)貫通,消化吸收操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)精髓。
早期,因受限于計(jì)算機(jī)教學(xué)資源(如實(shí)驗(yàn)設(shè)備缺乏、系統(tǒng)代碼封閉等),“操作系統(tǒng)”課程教學(xué)主要以課堂講授為主,教學(xué)內(nèi)容理論性過強(qiáng),實(shí)驗(yàn)環(huán)節(jié)薄弱。實(shí)驗(yàn)教學(xué)的欠缺容易造成學(xué)生停留在對(duì)概念與設(shè)計(jì)原理的抽象理解,只能“知其然,而不知其所以然”,無法真正認(rèn)識(shí)問題本質(zhì)、掌握原理及設(shè)計(jì)內(nèi)涵,不利于對(duì)學(xué)生創(chuàng)新能力的培養(yǎng)。多年來,學(xué)生也普遍認(rèn)為“操作系統(tǒng)”課程概念晦澀、原理復(fù)雜、內(nèi)容枯燥、無法激發(fā)學(xué)習(xí)興趣。為彌補(bǔ)實(shí)驗(yàn)教學(xué)缺失,國內(nèi)一些院校開始在教學(xué)中引入操作系統(tǒng)原型設(shè)計(jì),試圖以特定微型操作系統(tǒng)(如Minix)原型為基礎(chǔ),要求學(xué)生設(shè)計(jì)并改進(jìn)該原型系統(tǒng),以期強(qiáng)化對(duì)操作系統(tǒng)基本原理的理解,并培養(yǎng)實(shí)際應(yīng)用能力。然而,這類原型系統(tǒng)通常功能單一、結(jié)構(gòu)簡(jiǎn)單,雖有助于理解和掌握操作系統(tǒng)基本原理,但因設(shè)計(jì)簡(jiǎn)化且缺乏必要的應(yīng)用背景,無法反映操作系統(tǒng)技術(shù)內(nèi)涵及演變趨勢(shì),不利于培養(yǎng)學(xué)生的應(yīng)用實(shí)踐能力。
1.2實(shí)驗(yàn)課程建設(shè)的機(jī)遇
近年來,以Linux為代表的開源操作系統(tǒng)的飛速發(fā)展及其在各領(lǐng)域的廣泛運(yùn)用,在產(chǎn)業(yè)界產(chǎn)生巨大影響。一些知名IT廠商均將公布其操作系統(tǒng)源碼作為提高軟件產(chǎn)品核心競(jìng)爭(zhēng)力的重要舉措,并紛紛組織資深工程師撰寫內(nèi)核設(shè)計(jì)技術(shù)資料。如SUN公司開放OpenSolaris源代碼,微軟亞洲研究院也對(duì)亞太地區(qū)高校開放了部分用于教學(xué)的Windows內(nèi)核源碼。開源系統(tǒng)的發(fā)展及產(chǎn)業(yè)界的積極響應(yīng)有效改變了操作系統(tǒng)教學(xué)資源缺乏的困境,為“操作系統(tǒng)”課程教學(xué)改革帶來新契機(jī),并引起教育界高度重視。2008年教育部啟動(dòng)“高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)核心課程(操作系統(tǒng))教學(xué)實(shí)施方案研究”項(xiàng)目,并交由教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)和高等教育出版社組織國內(nèi)知名專家,成立“操作系統(tǒng)”課程教學(xué)實(shí)施方案研究組,集思廣益,對(duì)“操作系統(tǒng)”課程教學(xué)實(shí)施方案開展研究。圖1給出了實(shí)施方案中關(guān)于“操作系統(tǒng)”實(shí)驗(yàn)和實(shí)驗(yàn)體系結(jié)構(gòu)的框架,該結(jié)構(gòu)以Linux、Windows等主流操作系統(tǒng)為實(shí)例,從實(shí)驗(yàn)難度上將實(shí)驗(yàn)課程教學(xué)分成用戶層、內(nèi)核初級(jí)及內(nèi)核高級(jí)等三個(gè)層次;從實(shí)驗(yàn)類型上將實(shí)驗(yàn)課程教學(xué)分成使用與管理級(jí)、觀察與體驗(yàn)級(jí)、編程與修改級(jí)、設(shè)計(jì)與實(shí)現(xiàn)級(jí)等四個(gè)等級(jí),為“操作系統(tǒng)”實(shí)驗(yàn)課程設(shè)計(jì)提供參考。
我們認(rèn)為,個(gè)人計(jì)算機(jī)的不斷普及開源代碼的快速發(fā)展極大改善了“操作系統(tǒng)”課程教學(xué)的資源環(huán)境,為實(shí)驗(yàn)課程改革提供了機(jī)遇?!安僮飨到y(tǒng)”實(shí)驗(yàn)課程建設(shè)必須審時(shí)度勢(shì),充分利用現(xiàn)有平臺(tái)環(huán)境和資源條件,及時(shí)調(diào)整課程體系、優(yōu)化教學(xué)大綱、改變教學(xué)模式、充實(shí)教學(xué)內(nèi)容,適應(yīng)信息技術(shù)快速發(fā)展之需要。
2 “操作系統(tǒng)”實(shí)驗(yàn)課程建設(shè)概況
2.1實(shí)驗(yàn)課程建設(shè)基本思路
“操作系統(tǒng)”課程教學(xué)目標(biāo)主要集中在“原理、技術(shù)、應(yīng)用”三個(gè)層面,其中原理是了解操作系統(tǒng)設(shè)計(jì)內(nèi)涵的基礎(chǔ),技術(shù)是理解操作系統(tǒng)實(shí)現(xiàn)的核心,應(yīng)用是掌握操作系統(tǒng)技能的途徑。三者相互關(guān)聯(lián)、相輔相成。實(shí)驗(yàn)教學(xué)環(huán)節(jié)是促成三者系統(tǒng)融合、驗(yàn)證和鞏固所學(xué)知識(shí),綜合運(yùn)用知識(shí)的重要教學(xué)手段,也是技能訓(xùn)練和能力培養(yǎng),包括動(dòng)手能力、協(xié)作能力、分析問題解決問題能力和探索精神、創(chuàng)新意識(shí)的必要途徑。多年來,南京大學(xué)“操作系統(tǒng)”課程教學(xué)小組一直將改善和提高“操作系統(tǒng)”實(shí)驗(yàn)環(huán)節(jié)的可操作性作為“操作系統(tǒng)”教學(xué)改革的重點(diǎn),并以使學(xué)生“理性理解原理設(shè)計(jì)思想、牢固掌握技術(shù)實(shí)現(xiàn)機(jī)理、切實(shí)提高應(yīng)用實(shí)驗(yàn)技能”為課程實(shí)驗(yàn)教學(xué)的要求和目標(biāo)加以研究。
“操作系統(tǒng)”實(shí)驗(yàn)課程建設(shè)的一個(gè)基本問題是,如何引入合適的操作系統(tǒng)和選擇恰當(dāng)?shù)膶?shí)驗(yàn)平臺(tái)。簡(jiǎn)化的原型操作系統(tǒng)雖“五臟俱全”,可為實(shí)驗(yàn)教學(xué)提供支撐,但由于缺乏實(shí)用性,不利于培養(yǎng)學(xué)生的探索能力及應(yīng)用技能;實(shí)用操作系統(tǒng)雖功能強(qiáng)大,但模塊眾多、盤根錯(cuò)節(jié),技術(shù)細(xì)節(jié)瑣碎,直接引入將使實(shí)驗(yàn)教學(xué)難度增大,缺乏可操作性。近年來,我們結(jié)合開源代碼發(fā)展趨勢(shì)及在“操作系統(tǒng)”課程教學(xué)方面的體會(huì),以“科學(xué)性、系統(tǒng)性、先進(jìn)性、實(shí)用性”為課程建設(shè)指導(dǎo)思想,確立了以“一套源碼、兩個(gè)角度、三個(gè)層次”為切入點(diǎn)的操作系統(tǒng)實(shí)驗(yàn)課程建設(shè)思路(如圖2示)。具體而言,選擇一種典型實(shí)用操作系統(tǒng)(Linux)內(nèi)核源碼為基礎(chǔ),從用戶層及內(nèi)核層兩個(gè)角度,圍繞“原理、技術(shù)、應(yīng)用”三個(gè)層次剖析操作系統(tǒng)內(nèi)在機(jī)理,從以下兩個(gè)角度解決“操作系統(tǒng)”課程教學(xué)中的現(xiàn)有問題,改善教學(xué)效果。
(1) 將抽象原理設(shè)計(jì)映射到具體系統(tǒng)實(shí)現(xiàn),使學(xué)生走出對(duì)原理理解停留于“知其然,而不知其所以然”的困境,實(shí)現(xiàn)對(duì)基本原理從“抽象理解”過渡到“感性理解”,并最終走向“理性理解”。
(2) 建立基于“用戶空間——內(nèi)核空間”的實(shí)用操作系統(tǒng)內(nèi)在機(jī)理剖析機(jī)制,使學(xué)生能夠以抽象原理為指導(dǎo),透過現(xiàn)象看本質(zhì),了解內(nèi)核實(shí)現(xiàn)機(jī)理,真正理解和掌握實(shí)現(xiàn)技術(shù),培養(yǎng)應(yīng)用實(shí)驗(yàn)技能,強(qiáng)化實(shí)驗(yàn)編程能力。
基于上述設(shè)想,建立了以“原理設(shè)計(jì)思想—系統(tǒng)實(shí)現(xiàn)問題—技術(shù)實(shí)現(xiàn)機(jī)理—用戶應(yīng)用需求—應(yīng)用實(shí)驗(yàn)技能”為主線,基于實(shí)用操作系統(tǒng)內(nèi)核源碼的實(shí)驗(yàn)課程教學(xué)體系,并從教材建設(shè)、課程規(guī)劃、教學(xué)模式等角度對(duì)“操作系統(tǒng)”實(shí)驗(yàn)課程建設(shè)進(jìn)行探索與實(shí)踐。
2.2實(shí)驗(yàn)教材建設(shè)
作為國內(nèi)最先開展操作系統(tǒng)研究與教學(xué)的單位之一,南京大學(xué)操作系統(tǒng)教材建設(shè)最早可追溯到上世紀(jì)80年代初由人民郵電出版社出版的《操作系統(tǒng)原理》。近30年來,不斷跟蹤操作系統(tǒng)技術(shù)發(fā)展進(jìn)展,及時(shí)修訂、更新教材內(nèi)容,幾易其版,共出版操作系統(tǒng)教材6本。為推動(dòng)“操作系統(tǒng)”實(shí)驗(yàn)課程建設(shè),基于上述實(shí)驗(yàn)課程建設(shè)思路,結(jié)合《操作系統(tǒng)教程》(第4版)的修訂,于2009年5月出版了《Linux操作系統(tǒng)實(shí)驗(yàn)教程》。該實(shí)驗(yàn)教材以操作系統(tǒng)基本原理為基礎(chǔ),結(jié)合Linux 2.6內(nèi)核源碼,系統(tǒng)介紹Linux操作系統(tǒng)的系統(tǒng)結(jié)構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)的基本思路和技術(shù),深入剖析基本原理在Linux操作系統(tǒng)中的實(shí)現(xiàn)機(jī)制。在此基礎(chǔ)上,通過實(shí)驗(yàn)把操作系統(tǒng)基本原理與Linux實(shí)現(xiàn)機(jī)制聯(lián)系起來,以此激發(fā)實(shí)驗(yàn)興趣,培養(yǎng)將所學(xué)知識(shí)融會(huì)貫通和綜合運(yùn)用的能力,提高學(xué)生分析問題和解決問題的能力。
在實(shí)驗(yàn)教材建設(shè)過程中,基于以下原則精心設(shè)計(jì)教材內(nèi)容。
(1) 注重總體規(guī)劃的科學(xué)性與合理性、實(shí)驗(yàn)環(huán)節(jié)的實(shí)用性與可操作性。
(2) 實(shí)驗(yàn)設(shè)計(jì)緊扣基本原理與核心技術(shù),實(shí)驗(yàn)內(nèi)容涵蓋用戶空間編程與內(nèi)核代碼分析。
(3) 實(shí)驗(yàn)安排循序漸進(jìn)、層層滲透,實(shí)驗(yàn)形式豐富多樣、富有啟發(fā)性。
在實(shí)驗(yàn)教材建設(shè)過程中,還基于以下思路定位教材角色和規(guī)劃教材結(jié)構(gòu)。
(1) 實(shí)驗(yàn)教材與原理教程的定位與銜接。兩教材在角色上相輔相成,彼此呼應(yīng)。實(shí)驗(yàn)教材涵蓋了操作系統(tǒng)基本原理與理論,但強(qiáng)調(diào)從實(shí)現(xiàn)技術(shù)入手,注重基本原理在特定系統(tǒng)實(shí)現(xiàn)中的滲透性,試圖做到原理講授與實(shí)驗(yàn)環(huán)節(jié)緊密結(jié)合,使學(xué)生真正掌握操作系統(tǒng)原理設(shè)計(jì)與實(shí)現(xiàn)技術(shù)的精髓。
(2) 實(shí)驗(yàn)教材內(nèi)部知識(shí)體系之間的銜接。實(shí)驗(yàn)教材內(nèi)容組織基于“由外及內(nèi)、層層梯進(jìn)”思想,分為用戶空間及內(nèi)核空間兩大部分。用戶空間部分從對(duì)Linux API的使用入手,旨在掌握系統(tǒng)的組成模塊和接口的使用方法,并從系統(tǒng)外部洞察操作系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)、內(nèi)部狀態(tài)和工作過程。內(nèi)核部分從修改Linux內(nèi)核入手,試圖通過改變系統(tǒng)數(shù)據(jù)結(jié)構(gòu)、替換原有算法、添加內(nèi)核模塊等,從系統(tǒng)內(nèi)部探索其內(nèi)核結(jié)構(gòu)、實(shí)現(xiàn)機(jī)制和典型算法,達(dá)到初步具有分析、修改、設(shè)計(jì)和開發(fā)操作系統(tǒng)的能力。兩部分內(nèi)容遙相呼應(yīng),可滿足不同院校在不同級(jí)別上觀測(cè)、分析系統(tǒng)原理之需求。
2.3實(shí)驗(yàn)課程規(guī)劃
我們雖強(qiáng)調(diào)理論性與實(shí)驗(yàn)性并重,但理論是實(shí)驗(yàn)的基礎(chǔ)。因此,在具體操作過程中,將理論課程教學(xué)與實(shí)驗(yàn)課程教學(xué)分段實(shí)施,分設(shè)獨(dú)立課程,使兩者各有所重。在“操作系統(tǒng)”課程教學(xué)規(guī)劃中,我們將兩門課程分別安排在大二下學(xué)期及大三上學(xué)期開設(shè)。其中理論課程選用《操作系統(tǒng)教程》(第4版),以課堂教學(xué)為主,主要側(cè)重對(duì)基本概念的講解及原理設(shè)計(jì)基本思想及特點(diǎn)的分析;實(shí)驗(yàn)設(shè)計(jì)以觀察與體驗(yàn)級(jí)別為主,使學(xué)生對(duì)基本概念與原理有較強(qiáng)的感性認(rèn)識(shí)。實(shí)驗(yàn)課程的課堂教學(xué)以引導(dǎo)問題為主,側(cè)重分析基本原理在系統(tǒng)實(shí)現(xiàn)及實(shí)際應(yīng)用中的難點(diǎn),激發(fā)學(xué)生對(duì)實(shí)現(xiàn)及應(yīng)用問題的思考與關(guān)注。實(shí)驗(yàn)課程以《Linux操作系統(tǒng)實(shí)驗(yàn)教程》為藍(lán)本,實(shí)驗(yàn)設(shè)計(jì)以對(duì)抽象原理的感性認(rèn)識(shí)為基礎(chǔ),從對(duì)操作系統(tǒng)的用戶空間編程入手,層層深入,逐步探索,剖析從基本原理到內(nèi)核實(shí)現(xiàn)映射機(jī)理,從而使學(xué)生能理性理解設(shè)計(jì)原理,掌握實(shí)現(xiàn)技術(shù),提高實(shí)驗(yàn)?zāi)芰Α?/p>
3 “操作系統(tǒng)”實(shí)驗(yàn)課程教學(xué)實(shí)施
3.1確定不同目標(biāo),實(shí)施分層教學(xué)
2008年下半年,我們以南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系及南京大學(xué)金陵學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系大三學(xué)生為授課對(duì)象,對(duì)基于Linux的“操作系統(tǒng)”實(shí)驗(yàn)課程教學(xué)進(jìn)行了實(shí)踐探索。針對(duì)兩院系學(xué)生的生源特點(diǎn)及人才培養(yǎng)目標(biāo)總體定位的不同,分別設(shè)計(jì)了相應(yīng)的實(shí)驗(yàn)教學(xué)目標(biāo)(見表1)。
3.2基于“專題聚合”的實(shí)驗(yàn)教學(xué)內(nèi)容組織
《Linux操作系統(tǒng)實(shí)驗(yàn)教程》從用戶空間及內(nèi)核空間角度將教材內(nèi)容分成兩大部分。其中第一部分(共11章)結(jié)合操作系統(tǒng)基本原理,從應(yīng)用角度系統(tǒng)介紹 Linux 操作系統(tǒng)核心功能設(shè)計(jì)及其應(yīng)用編程接口API,具體內(nèi)容包括Linux安裝和編譯、進(jìn)程與線程、傳統(tǒng)進(jìn)程通信、System V IPC進(jìn)程通信、Shell程序設(shè)計(jì)、頁面替換算法、文件系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)、時(shí)鐘與定時(shí)器、網(wǎng)絡(luò)通信編程、事件驅(qū)動(dòng)編程等;第二部分(共8章)從內(nèi)核實(shí)現(xiàn)角度系統(tǒng)介紹Linux操作系統(tǒng)的實(shí)現(xiàn)技術(shù),具體內(nèi)容包括內(nèi)核模塊、中斷與系統(tǒng)調(diào)用、同步機(jī)制、進(jìn)程調(diào)度、存儲(chǔ)管理、虛擬文件系統(tǒng)、proc文件系統(tǒng)、設(shè)備驅(qū)動(dòng)程序等。
在實(shí)驗(yàn)教學(xué)內(nèi)容組織過程中,考慮到知識(shí)體系的關(guān)聯(lián)性與完整性,采用縱向整合,基于專題組織教材內(nèi)容。整個(gè)教材內(nèi)容共分為L(zhǎng)inux操作系統(tǒng)概述、進(jìn)程與線程、進(jìn)程通信、時(shí)鐘與定時(shí)器、Shell、存儲(chǔ)管理、文件系統(tǒng)、內(nèi)核模塊等8個(gè)專題(如圖3),專題覆蓋了實(shí)驗(yàn)教材各章節(jié)內(nèi)容。對(duì)于每個(gè)專題,均以“原理設(shè)計(jì)思想—系統(tǒng)實(shí)現(xiàn)問題—技術(shù)實(shí)現(xiàn)機(jī)理—用戶應(yīng)用需求—應(yīng)用實(shí)驗(yàn)技能”為主線,以“抽象理解—感性認(rèn)識(shí)—理性理解”為進(jìn)階途徑,設(shè)計(jì)專題內(nèi)容。首先簡(jiǎn)要介紹基本原理背景,并引出其在特定系統(tǒng)實(shí)現(xiàn)中的技術(shù)問題,實(shí)現(xiàn)從抽象原理到物理問題的映射;然后通過相應(yīng)應(yīng)用編程接口及系統(tǒng)調(diào)用從用戶和內(nèi)核角度觀測(cè)和理解系統(tǒng)實(shí)現(xiàn)特點(diǎn),加深對(duì)相關(guān)技術(shù)的感性認(rèn)識(shí);隨后,結(jié)合性能觀測(cè)結(jié)果、深入分析相關(guān)內(nèi)核代碼設(shè)計(jì)與實(shí)現(xiàn)機(jī)制,從而實(shí)現(xiàn)對(duì)原理設(shè)計(jì)的理性理解。例如,在“進(jìn)程與線程”專題中,首先從進(jìn)程與線程的一般概念入手,給出Linux進(jìn)程與線程設(shè)計(jì)的特點(diǎn);隨后詳細(xì)介紹創(chuàng)建Linux進(jìn)程/線程的系統(tǒng)調(diào)用,并通過實(shí)例展示使用不同參數(shù)調(diào)用時(shí)的性能差異;最后根據(jù)觀測(cè)結(jié)果從進(jìn)程結(jié)構(gòu)描述、內(nèi)核管理機(jī)制等角度介紹Linux線程/進(jìn)程的實(shí)現(xiàn)技術(shù)。
3.3 “縱觀本質(zhì),橫看演變”的實(shí)驗(yàn)課程教學(xué)思路
實(shí)驗(yàn)課程教學(xué)以專題為基礎(chǔ),并結(jié)合生源特點(diǎn)及人才培養(yǎng)目標(biāo)定位的不同,因材施教,分別建立實(shí)驗(yàn)課程教學(xué)實(shí)施策略。在學(xué)時(shí)安排上,南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系采用3學(xué)時(shí)/周,其中每個(gè)單周講授一個(gè)專題,雙周安排實(shí)
金陵學(xué)院采用(3+3)學(xué)時(shí)/周,即每周安排3學(xué)時(shí)專題講座及3小時(shí)專題實(shí)驗(yàn)。雖然對(duì)不同培養(yǎng)目標(biāo)學(xué)生的實(shí)驗(yàn)類型定位不同,但我們兼顧學(xué)生自身發(fā)展的個(gè)性化需求,做好不同層次內(nèi)容之間的銜接問題,激發(fā)感興趣同學(xué)將實(shí)驗(yàn)難度及質(zhì)量向深度推進(jìn)。
在教學(xué)過程中,采用“縱觀本質(zhì),橫看演變”策略。在縱觀本質(zhì)上,采由表及里,逐步向縱向推進(jìn),向深度擴(kuò)展。具體而言,以抽象原理為指導(dǎo),分析系統(tǒng)實(shí)現(xiàn)問題,通過應(yīng)用編程接口及系統(tǒng)調(diào)用觀測(cè)系統(tǒng)性能效果、進(jìn)而剖析實(shí)現(xiàn)機(jī)制,理解原理設(shè)計(jì)精髓。在橫看演變方面,還對(duì)不同版本Linux內(nèi)核的實(shí)現(xiàn)機(jī)制進(jìn)行橫向?qū)Ρ?捕獲技術(shù)演變過程,加深學(xué)生對(duì)技術(shù)機(jī)理的理解,保證知識(shí)結(jié)構(gòu)的先進(jìn)性。如在“進(jìn)程調(diào)度”專題中,將結(jié)合Linux 2.4與Linux 2.6調(diào)度策略的不同介紹內(nèi)核結(jié)構(gòu)的設(shè)計(jì)的差異與要點(diǎn)。
3.4實(shí)驗(yàn)課程教學(xué)成效分析
通過選取兩院系學(xué)生部分作業(yè)及期末試卷題目作為考察項(xiàng),對(duì)基于Linux的操作系統(tǒng)實(shí)驗(yàn)課程教學(xué)成效進(jìn)行分析,表2給出了作業(yè)完成/答題情況分析結(jié)果。對(duì)考察項(xiàng)說明如下:在“進(jìn)程與線程”專題中,實(shí)驗(yàn)題目是“打印Linux系統(tǒng)中的進(jìn)程樹結(jié)構(gòu)”。該實(shí)驗(yàn)可通過使用系統(tǒng)調(diào)用訪問進(jìn)程task_struct結(jié)構(gòu)或直接訪問內(nèi)核鏈表來實(shí)現(xiàn),其中前者實(shí)驗(yàn)難度屬于內(nèi)核初級(jí),后者屬于內(nèi)核高級(jí);在期末考試中,程序分析題(屬于內(nèi)核高級(jí))要求學(xué)生結(jié)合 Linux軟中斷內(nèi)核代碼分析其軟中斷處理機(jī)制,程序設(shè)計(jì)題(屬于內(nèi)核初級(jí))要求學(xué)生基于TCP/IP socket網(wǎng)絡(luò)編程技術(shù),實(shí)現(xiàn)一個(gè)支持多用戶并發(fā)執(zhí)行的客戶/服務(wù)器程序。
從分析結(jié)果來看,南京大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系學(xué)生在“內(nèi)核高級(jí)”難度的觀察項(xiàng)上的結(jié)果明顯高于金陵學(xué)院學(xué)生,在“內(nèi)核初級(jí)”難度的觀察項(xiàng)上的結(jié)果差異相對(duì)較小。觀察結(jié)果表明,基于Linux的“操作系統(tǒng)”實(shí)驗(yàn)課程建設(shè)已初顯成效,并達(dá)到了對(duì)不同層次人才培養(yǎng)的實(shí)踐能力要求。
4結(jié)束語
以Linux為代表的實(shí)用操作系統(tǒng)的開源化為操作系統(tǒng)實(shí)驗(yàn)課程建設(shè)提供了新的機(jī)遇。本文結(jié)合操作系統(tǒng)教學(xué)要求和目標(biāo),提出了以“一套源碼、兩個(gè)角度、三個(gè)層次”為切入點(diǎn)的實(shí)驗(yàn)課程建設(shè)思路,并從教材建設(shè)、課程規(guī)劃、教學(xué)實(shí)施等角度具體介紹了實(shí)驗(yàn)課程建設(shè)的關(guān)鍵環(huán)節(jié)。論文還結(jié)合南京大學(xué)計(jì)算機(jī)系及金陵學(xué)院計(jì)算機(jī)系實(shí)驗(yàn)課程的教學(xué)情況,對(duì)基于Linux的實(shí)驗(yàn)課程教學(xué)實(shí)踐成效進(jìn)行了觀察、分析。結(jié)果表明,實(shí)驗(yàn)課程建設(shè)已初顯成效,滿足了對(duì)不同層次人才操作系統(tǒng)實(shí)踐能力培養(yǎng)的要求。在后續(xù)工作中,我們將結(jié)合專題內(nèi)容,進(jìn)一步優(yōu)化實(shí)驗(yàn)習(xí)題的設(shè)計(jì)、完善基于Linux的操作系統(tǒng)實(shí)驗(yàn)課程教學(xué)體系。
參考文獻(xiàn):
[1] 操作系統(tǒng)課程教學(xué)實(shí)施方案研制組.高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)核心課程教學(xué)實(shí)施方案(草案)[Z].2009.
[2] 史廣順,韓維桓, 袁曉潔. 南開大學(xué)“操作系統(tǒng)”課程建設(shè)的思考[J]. 計(jì)算機(jī)教育,2009(4):21-24.
[3] 羅宇, 張穎蓓, 葉常春. 本科操作系統(tǒng)課程設(shè)置及教學(xué)體會(huì)[J]. 計(jì)算機(jī)教育,2006(1):39-40.
[4] 孫鐘秀,費(fèi)翔林,駱斌. 操作系統(tǒng)教程[M]. 4版. 北京:高等教育出版社,2008.
[5] 費(fèi)翔林,李敏,葉保留. Linux操作系統(tǒng)實(shí)驗(yàn)教程[M]. 北京:高等教育出版社,2009.