摘 要:針對(duì)應(yīng)用型非計(jì)算機(jī)專(zhuān)業(yè)《操作系統(tǒng)》課程教學(xué)面臨的問(wèn)題和困難,結(jié)合課程特點(diǎn)和教學(xué)實(shí)際,就課程的教學(xué)改革進(jìn)行了研究。旨在采取循序漸進(jìn)、由淺入深的原則調(diào)整理論教學(xué)章節(jié)內(nèi)容和安排,改變學(xué)生對(duì)該門(mén)課程的畏懼思想,提高學(xué)習(xí)興趣;輔以多元化的教學(xué)手段,實(shí)踐證明取得了較好的效果。
關(guān)鍵詞:操作系統(tǒng);教學(xué)改革;課程設(shè)置
中圖分類(lèi)號(hào):TP316-4
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心軟件,是其它一切軟件運(yùn)行的基礎(chǔ),是計(jì)算機(jī)應(yīng)用開(kāi)發(fā)的基礎(chǔ)平臺(tái)。操作系統(tǒng)將計(jì)算機(jī)軟件硬件有機(jī)結(jié)合起來(lái)和用戶進(jìn)行交互。
操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的特殊地位,使得《操作系統(tǒng)》課程在計(jì)算機(jī)科學(xué)學(xué)習(xí)中占據(jù)重要的地址,它是計(jì)算機(jī)科學(xué)體系中的基礎(chǔ)課程。學(xué)習(xí)和了解操作系統(tǒng)的工作機(jī)理和工作方式,從而更好的進(jìn)行計(jì)算機(jī)應(yīng)用開(kāi)發(fā),是計(jì)算機(jī)科學(xué)、電子信息科學(xué)等專(zhuān)業(yè)同學(xué)必備的知識(shí)和技能。
1 課程特點(diǎn)
《操作系統(tǒng)》課程主要介紹操作系統(tǒng)的設(shè)計(jì)方法和實(shí)現(xiàn)技術(shù),講授眾多操作系統(tǒng)的設(shè)計(jì)精髓?!恫僮飨到y(tǒng)》課程是人們?cè)诓僮飨到y(tǒng)設(shè)計(jì)過(guò)程中工程實(shí)踐經(jīng)驗(yàn)的總結(jié),課程內(nèi)容是面向技術(shù),而不是某個(gè)特定產(chǎn)品。課程學(xué)習(xí)學(xué)習(xí)者是站在操作系統(tǒng)設(shè)計(jì)者的角度來(lái)研究和學(xué)習(xí)操作系統(tǒng)的實(shí)現(xiàn)技術(shù)。
操作系統(tǒng)軟件的特殊地位、操作系統(tǒng)課程的學(xué)科地位,以及該課程的學(xué)習(xí)內(nèi)容和學(xué)習(xí)定位,使得操作系統(tǒng)課程教學(xué)中具有技術(shù)更新速度快、概念抽象、系統(tǒng)性差、原理性強(qiáng)等特點(diǎn)。
2 教學(xué)目標(biāo)
教師在安排操作系統(tǒng)理論和實(shí)踐教學(xué)時(shí)要綜合考慮教學(xué)大綱、培養(yǎng)學(xué)時(shí)、培養(yǎng)對(duì)象類(lèi)型及培養(yǎng)對(duì)象基礎(chǔ)。一般來(lái)說(shuō),圍繞操作系統(tǒng)教學(xué)可以分為三個(gè)層次:
2.1 作為專(zhuān)業(yè)基礎(chǔ)課程,包含在“計(jì)算機(jī)基礎(chǔ)”、“計(jì)算機(jī)原理”等課程的教學(xué)培訓(xùn)中,非獨(dú)立授課,主要學(xué)習(xí)某一操作系統(tǒng)的基本操作和使用。
2.2 作為專(zhuān)業(yè)選修課程,要求培養(yǎng)對(duì)象對(duì)特定操作系統(tǒng)的系統(tǒng)結(jié)構(gòu)、功能和工作原理有較全面和深入的了解,能夠使用API和相關(guān)平臺(tái)進(jìn)行針對(duì)該操作系統(tǒng)的應(yīng)用程序開(kāi)發(fā)和調(diào)試。
2.3 作為計(jì)算機(jī)科學(xué)技術(shù)及相關(guān)專(zhuān)業(yè)的專(zhuān)業(yè)必修課,要求培養(yǎng)對(duì)象深入掌握操作系統(tǒng)工作原理,熟悉操作系統(tǒng)內(nèi)核,能夠使用該操作系統(tǒng)平臺(tái)相關(guān)的復(fù)雜公交來(lái)解釋并開(kāi)發(fā)底層驅(qū)動(dòng)、中間件和應(yīng)用程序等一系列應(yīng)用,掌握操作系統(tǒng)的分析和設(shè)計(jì)技術(shù)。
對(duì)于應(yīng)用型院校非計(jì)算機(jī)專(zhuān)業(yè)來(lái)說(shuō),由于前期課程設(shè)置、培養(yǎng)方案等因素的影響,使得如果像計(jì)算機(jī)專(zhuān)業(yè)一樣將本課程的導(dǎo)入起點(diǎn)和教學(xué)目標(biāo)設(shè)定得過(guò)高的話,反而使得教學(xué)效果大打折扣。以課程學(xué)時(shí)設(shè)置為例:
計(jì)算機(jī)專(zhuān)業(yè)該課程的設(shè)置一般為48+16課時(shí),電子信息專(zhuān)業(yè)為38+10課時(shí),教學(xué)內(nèi)容涵蓋進(jìn)程管理、內(nèi)存管理、設(shè)備管理、文件管理等操作系統(tǒng)主要部分的原理和應(yīng)用。標(biāo)準(zhǔn)教材一般偏重于理論講解,較為抽象。學(xué)生沒(méi)有一定的理論基礎(chǔ)理解較難,以下是一本典型操作系統(tǒng)教材的章節(jié)安排:(1)操作系統(tǒng)概論;(2)進(jìn)程管理;(3)處理器調(diào)度與死鎖;(4)存儲(chǔ)管理;(5)文件管理;(6)設(shè)備管理;(7)網(wǎng)絡(luò)基礎(chǔ)。
可以看出《操作系統(tǒng)》是綜合性較強(qiáng)的課程,有較強(qiáng)的理論性和綜合性。要學(xué)好這門(mén)課,學(xué)生不但要有較強(qiáng)的抽象思維能力,而且要具有一定的程序設(shè)計(jì)能力,對(duì)《C語(yǔ)言程序設(shè)計(jì)》、《數(shù)據(jù)結(jié)構(gòu)》等前導(dǎo)課程有較好的掌握。如果不了解培養(yǎng)對(duì)象已有知識(shí)儲(chǔ)備和能力,在較少的課時(shí)安排下照本宣科,強(qiáng)行灌輸大量抽象枯燥的理論知識(shí),將導(dǎo)致學(xué)生對(duì)該門(mén)課產(chǎn)生厭學(xué)逆反心理。
由以上分析可以看出,非計(jì)算機(jī)專(zhuān)業(yè)的操作系統(tǒng)課程設(shè)置和教學(xué)內(nèi)容需要根據(jù)專(zhuān)業(yè)培養(yǎng)方案、前導(dǎo)課程、培養(yǎng)對(duì)象已有能力等統(tǒng)籌考慮和安排,靈活度大同時(shí)也更難把握。
3 教學(xué)模式
針對(duì)非計(jì)算機(jī)專(zhuān)業(yè)培養(yǎng)目標(biāo)和實(shí)際課程設(shè)置的限制,設(shè)計(jì)規(guī)劃了一套操作系統(tǒng)課程理論實(shí)踐教學(xué)的模式,其核心理念是:“抓主干,擴(kuò)枝葉;托低承高,動(dòng)態(tài)調(diào)整”。
首先,通過(guò)“課堂理論教學(xué)+實(shí)踐教學(xué)+課程大作業(yè)+畢業(yè)設(shè)計(jì)”將課程學(xué)時(shí)有機(jī)擴(kuò)展,對(duì)不同層次不同培養(yǎng)目標(biāo)的學(xué)生的教學(xué)側(cè)重點(diǎn)進(jìn)行區(qū)分,設(shè)置四個(gè)層次的教學(xué)目標(biāo):(1)操作系統(tǒng)的使用管理。針對(duì)初次接觸某一操作系統(tǒng),對(duì)其工作原理使用方法都不熟悉,相關(guān)基礎(chǔ)薄弱的學(xué)生,通過(guò)該系統(tǒng)的安裝、GUI和常用命令的使用以及系統(tǒng)功能的使用管理使學(xué)生對(duì)該系統(tǒng)有較好的感性認(rèn)識(shí),能夠使用該系統(tǒng)完成一些實(shí)際工作并對(duì)系統(tǒng)進(jìn)行必要的配置和維護(hù);(2)操作系統(tǒng)內(nèi)核及工作原理。在學(xué)生對(duì)操作系統(tǒng)已有一定了解和使用經(jīng)驗(yàn)的情況下,進(jìn)一步系統(tǒng)分析其各個(gè)功能模塊和工作原理,以Linux操作系統(tǒng)為例,要讓學(xué)生知道其文件管理、設(shè)備管理、進(jìn)程調(diào)度等主要功能模塊;內(nèi)核如何通過(guò)內(nèi)核態(tài)/用戶態(tài)切換以及進(jìn)程調(diào)度來(lái)管理同時(shí)運(yùn)行的多個(gè)任務(wù)等,教學(xué)中要有主次,比如文件系統(tǒng)和進(jìn)程調(diào)度的原理可以重點(diǎn)講解分析,設(shè)備管理等只要介紹原理即可。使得學(xué)生將操作系統(tǒng)的直觀的使用感受和對(duì)現(xiàn)行的觀察同理論知識(shí)想結(jié)合,加深對(duì)操作系統(tǒng)的理解;(3)API編程及平臺(tái)應(yīng)用開(kāi)發(fā)。介紹操作系統(tǒng)提供的API接口以及相應(yīng)的開(kāi)發(fā)工具和手段,讓學(xué)生結(jié)合以后的編程知識(shí)編寫(xiě)、調(diào)試基于該操作系統(tǒng)的應(yīng)用程序,這一過(guò)程應(yīng)該“循序漸進(jìn)”,從簡(jiǎn)單的shell編程到文件讀寫(xiě)、存儲(chǔ)管理、同步機(jī)制、進(jìn)程/線程調(diào)度,通信等,在這一過(guò)程中不斷補(bǔ)充加深對(duì)內(nèi)核工作機(jī)制和相關(guān)算法的介紹,使得學(xué)生逐步具備基于該操作系統(tǒng)的程序開(kāi)發(fā)設(shè)計(jì)能力;(4)內(nèi)核定制與操作系統(tǒng)設(shè)計(jì)。在對(duì)內(nèi)核工作原理熟悉掌握后,能根據(jù)需求對(duì)內(nèi)核進(jìn)行配置和開(kāi)發(fā),嘗試進(jìn)行微型操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),這一階段是對(duì)所學(xué)知識(shí)的綜合應(yīng)用于提高,能夠培養(yǎng)學(xué)生自主學(xué)習(xí)和創(chuàng)新能力可以結(jié)合課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)來(lái)進(jìn)行,主要針對(duì)具備一定能力,對(duì)操作系統(tǒng)有濃厚興趣的學(xué)生進(jìn)行。
操作系統(tǒng)各個(gè)層次的教學(xué)實(shí)踐環(huán)節(jié)如圖1所示:
為了更好的貫徹前述層次教學(xué)的理念,我們針對(duì)操作系統(tǒng)(Linux)課程理論教學(xué)部分進(jìn)行如下調(diào)整設(shè)置:(1)操作系統(tǒng)概論;(2)Linux常用命令;(3)文件管理、設(shè)備管理;(3)Linux下Shell編程;(4)Linux下C編程;(5)進(jìn)程管理、內(nèi)存管理;(6)多線程。
相應(yīng)的實(shí)驗(yàn)教學(xué)設(shè)置如下:(1)Linux常用命令練習(xí);(2)TFTP、NFS服務(wù)配置;(3)Makefile的編寫(xiě)及應(yīng)用;(4)Linux內(nèi)核與根文件系統(tǒng)映像文件的編譯及調(diào)試;(5)大作業(yè)(進(jìn)程調(diào)度、通信或同步)。
與傳統(tǒng)課程的安排不同,調(diào)整后的課程設(shè)置著重體現(xiàn)了“由易到難,循序漸進(jìn);由感性認(rèn)識(shí)加深理性分析”的思想,其中“操作系統(tǒng)概論”、“Linux常用命令”兩個(gè)教學(xué)章節(jié)將使得第一次接觸Linux操作系統(tǒng)的學(xué)生對(duì)該系統(tǒng)的發(fā)展歷程、現(xiàn)狀,主流版本有所了解,熟悉Linux的用戶界面、常用功能和命令行工作方式,建立對(duì)系統(tǒng)的直觀認(rèn)知;將“文件管理、設(shè)備管理”章節(jié)提前與此講授是很有必要的,因?yàn)長(zhǎng)inux操作系統(tǒng)將“數(shù)據(jù)”和“設(shè)備”統(tǒng)一作為“文件”來(lái)進(jìn)行操作和管理,而文件系統(tǒng)與設(shè)備管理又是與用戶關(guān)系最為密切,使用最為頻繁的操作系統(tǒng)功能模塊,因此如果學(xué)生不能對(duì)其內(nèi)在架構(gòu)和工作原理有所了解的話會(huì)對(duì)Linux的進(jìn)一步掌握造成困難。“Linux下Shell編程”和“Linux下C編程”使得學(xué)生掌握Linux操作系統(tǒng)下的程序開(kāi)發(fā)技能,從這里開(kāi)始,編程開(kāi)發(fā)和操作系統(tǒng)原理的知識(shí)互相穿插融合,使得理論知識(shí)和實(shí)際應(yīng)用緊密結(jié)合;“進(jìn)程管理、內(nèi)存管理、多線程”是Linux操作系統(tǒng)的重點(diǎn)和難點(diǎn),是多任務(wù)操作系統(tǒng)應(yīng)用開(kāi)發(fā)或內(nèi)核開(kāi)發(fā)都必須使用到的,應(yīng)該重點(diǎn)講授,使得學(xué)生對(duì)進(jìn)程調(diào)度、優(yōu)先級(jí)反轉(zhuǎn)、同步/互斥/死鎖、進(jìn)程間通信等有全面的掌握。
在理論授課中,應(yīng)該充分使用多媒體教學(xué),包括PPT,虛擬機(jī)上Linux的實(shí)時(shí)演示示范等,避免枯燥的理論灌輸。每一個(gè)階段的教學(xué)到安排了與之配套的實(shí)驗(yàn)和作業(yè),在學(xué)期末通過(guò)綜合性的大作業(yè)考察學(xué)生對(duì)知識(shí)的整體掌握度。對(duì)于具備較高相關(guān)知識(shí)的學(xué)生,可以通過(guò)課程設(shè)計(jì)和畢業(yè)設(shè)計(jì)進(jìn)行復(fù)雜項(xiàng)目的設(shè)計(jì)開(kāi)發(fā),從而使其對(duì)Linux的設(shè)計(jì)開(kāi)發(fā)能力得到鍛煉提高。
4 結(jié)束語(yǔ)
教學(xué)改革是一個(gè)是不斷深化、完善的過(guò)程。操作系統(tǒng)教學(xué)改革應(yīng)沿著教學(xué)內(nèi)容、教學(xué)方法、教學(xué)理念、教學(xué)手段等方面繼續(xù)深入下去,將操作系統(tǒng)的教學(xué)質(zhì)量提高到一個(gè)新水平,培養(yǎng)出社會(huì)需要的、具有創(chuàng)新能力的人材。
參考文獻(xiàn):
[1]湯子瀛,哲鳳屏,湯小丹.計(jì)算機(jī)操作系統(tǒng)(修訂版)[M].西安:西安電子科技大學(xué)出版社[M],2002.
[2]晏杰.《計(jì)算機(jī)操作系統(tǒng)》教學(xué)的改革[J].現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版),2007(09):49-51.
[3]肖競(jìng)?cè)A,陳建勛.“計(jì)算機(jī)操作系統(tǒng)”教學(xué)改革探索與實(shí)踐[J].高等理科教育,2007(03):68-70.
[4]蘇秋萍.高等院校《操作系統(tǒng)》教學(xué)改革的探索與實(shí)踐[J].現(xiàn)代電子技術(shù),2005(22):29-30.
作者簡(jiǎn)介:邱立達(dá)(1984-),男,福建福州人,講師,碩士,研究方向:模式識(shí)別、機(jī)器視覺(jué)、無(wú)線傳感器網(wǎng)絡(luò)。
作者單位:閩江學(xué)院物理學(xué)與電子信息工程系,福州 350108