黃 萍
(南京理工大學紫金學院 計算機系,南京 210046)
操作系統(tǒng)實驗環(huán)節(jié)設置的探索
黃 萍
(南京理工大學紫金學院 計算機系,南京 210046)
操作系統(tǒng)是一門理論性強且概念抽象的課程,如何使學生掌握操作系統(tǒng)設計原理與實現(xiàn)技術的精髓,實驗教學環(huán)節(jié)的開設顯得尤為重要。文中介紹了一種新的操作系統(tǒng)實驗教學設置方案,結合操作系統(tǒng)和嵌入式系統(tǒng)兩門課程的內容,由淺入深地展開實驗內容,先通過算法的模擬使學生加深對通用操作系統(tǒng)各功能模塊的理解,再讓學生對μC/OS-II操作系統(tǒng)的源代碼進行閱讀和調試。文中對實驗內容的設置、實驗開展過程以及最后的實驗效果都做了較詳細的闡述。
操作系統(tǒng);實驗教學;實驗設置;μC/OS-II操作系統(tǒng)
操作系統(tǒng)是計算機及其相關專業(yè)的一門重要基礎課程。該課程理論性強、概念抽象,如果單純進行理論教學,學生會因為課程概念晦澀、原理復雜、內容枯燥而失去學習興趣。為了使學生真正掌握操作系統(tǒng)設計原理與實現(xiàn)技術的精髓,培養(yǎng)學生的創(chuàng)新能力[1],很多高校都開設有相應的實驗教學環(huán)節(jié)。
國內本科高校大致可以分為三個層次:應用型本科學校、工程型本科學校和研究型本科學校。針對不同層次的培養(yǎng)目標,應設計不同的操作系統(tǒng)實驗內容。操作系統(tǒng)涉及的內容較多,相對應的實驗層面有深也有淺,主要有以下四個層面,各層面依次由淺到深遞進。
1)觀察與使用層面
選擇一個實際的操作系統(tǒng)(一般為Windows或Linux操作系統(tǒng))作為實驗環(huán)境,讓學生觀察操作系統(tǒng)運行某個功能的具體現(xiàn)象,以及使用操作系統(tǒng)包括對命令、系統(tǒng)調用和系統(tǒng)文件的使用,來體會操作系統(tǒng)原理的設計內容。這種方式只能看到系統(tǒng)的外部運行情況。為了讓學生真正理解操作系統(tǒng)的內在原理,一些學校會在使用層面的基礎上增加系統(tǒng)編程的實驗內容[2-3]。
2)算法模擬層面
選取課程中的一些典型算法,如進程調度、內存分配、頁面置換、磁盤調度等,讓學生使用某種編程語言(如C/C++、Java)編程模擬實現(xiàn)。該類型的實驗有利于學生在提高編程水平的基礎上加深對操作系統(tǒng)理論的理解,但學生體會不到實際操作系統(tǒng)與計算機硬件的交互。
3)源碼閱讀級層面
通過對現(xiàn)有操作系統(tǒng)部分內核源代碼的閱讀,深入理解操作系統(tǒng)的設計原理。
4)系統(tǒng)設計層面
通過模塊替換、功能擴展或獨立開發(fā)等形式,讓學生設計實現(xiàn)一些操作系統(tǒng)中的功能或者設計開發(fā)一款小型操作系統(tǒng)。這個層面的實驗對學生的能力要求較高,國內一些知名高校,如同濟大學[4]、清華大學[5]采用了擴展設計型實驗。這種實驗方式可以提高學生的自主能動性,但其工作量與難度很難把握,可能導致大部分學生無法完成而影響教學效果。因此,如何使實驗環(huán)節(jié)既能很好地輔助理論教學,又能提高學生的實踐水平,是實驗教學教師不得不面對的問題。
在設計實驗內容時,充分考慮了獨立學院主要以培養(yǎng)應用型人才為主的特點,針對學生的基礎和素質相對不足以及所開設的相關課程等各種因素,把理解操作系統(tǒng)基本原理、提高編程能力作為實驗目標,設置了算法模擬與源碼閱讀相結合的實驗內容。
由于學院是應用型本科院校,因此,更注重學生動手能力的培養(yǎng)。計算機系分別在大三下學期和大四上學期開設了3個學分的操作系統(tǒng)理論課程及2個學分的操作系統(tǒng)課程設計課程。兩門課程各有側重,理論課選用了西安電子科技大學出版社出版的《計算機操作系統(tǒng)》(第三版)[6]作為教材,主要側重基本概念及原理、設計基本思想的介紹,以課堂教學為主;操作系統(tǒng)課程設計以實驗為主,共32個學時。以往開設的操作系統(tǒng)實驗主要集中在利用Windows操作系統(tǒng)提供的接口進行系統(tǒng)調用編程以及算法模擬,經(jīng)過多輪教學之后發(fā)現(xiàn),效果并不理想。只有少部分真正感興趣的學生能夠學到東西,大多數(shù)學生反饋回來的信息是實驗內容過于零散、抽象,學生希望能夠把這些零散的實驗內容整合到一個完整的操作系統(tǒng)中。因此,我們對該門實踐課的教學內容進行了改革,重新設置了實驗內容。
在重新設置實驗內容時,充分考慮了知識體系的關聯(lián)性與完整性,計算機系除了開設操作系統(tǒng)課程外,還開設了嵌入式系統(tǒng)課程,兩門課程的教學內容是有一定聯(lián)系的。因此,我們兼顧兩門課程設置實驗內容,實驗內容由淺入深地展開,先通過算法的模擬使學生加深對通用操作系統(tǒng)各管理功能的理解,在此基礎上,再對某一款簡單實用的嵌入式操作系統(tǒng)的源代碼進行閱讀調試,讓學生對操作系統(tǒng)有一個整體認識,同時,加深對嵌入式操作系統(tǒng)的認知。具體的實驗內容見表1。
表1 實驗內容
通過理論課與實踐課的結合,學生先學習理論知識,進而模擬實現(xiàn)其中的算法,最后,進行完整操作系統(tǒng)的實驗,實現(xiàn)了“抽象理解—感性認識—理性理解”的學習認知過程(理論課知識點與實驗內容具體對應關系見表1)。在算法模擬階段,主要選取了理論課講授過程中每章要求學生必須掌握的算法來實現(xiàn),做到原理講授與實驗環(huán)節(jié)緊密結合,使學生通過算法模擬,進一步掌握操作系統(tǒng)原理設計與實現(xiàn)技術的精髓。
在此基礎上,結合嵌入式系統(tǒng)課程,選取了源代碼開放、代碼精練、適合于教學的μC/OS-II系統(tǒng)作為實驗素材,由系統(tǒng)的內核開始,結合理論課所學的知識點分模塊來閱讀、調試代碼,加深學生對整個操作系統(tǒng)的理解。
在算法模擬階段,實驗側重在系統(tǒng)功能的模擬實現(xiàn)。因為這門實驗課的主要目的不是學習如何編程,而是要求學生掌握操作系統(tǒng)的基本設計原理,因此,簡化了學生的編程工作量。每個模擬算法的基本程序框架以及所需數(shù)據(jù)結構事先給學生,但主要的核心功能函數(shù)需要學生在閱讀程序及弄明白算法原理后補充完整,程序運行調試通過后再由教師當堂驗收。這種方式可以有效預防學生課后抄襲實驗報告。
在源代碼閱讀階段,由于實驗代碼來源于《嵌入式實時操作系統(tǒng)μC/OS-II》[7]一書所附帶的范例代碼,只能在BC編譯環(huán)境下編譯測試,而BC是基于DOS開發(fā)的C/C++編譯器,操作復雜,學生很難掌握如何編譯測試μC/OS-II。而VC功能強大,用VC來調試運行μC/OS-II會使教學更加輕松,學生學習更加容易。因此,需要教師先對μC/OS-II做深入了解,摸清μC/OS-II中的功能結構后,將μC/OS-II源代碼進行修改,使其可以在VC環(huán)境下運行。在代碼發(fā)放前,還需教師給代碼標注詳細的功能注釋,以便學生閱讀。學生完成源碼的閱讀與調試后,需填寫實驗報告,由此加深對源碼的理解。這部分實驗雖然不需要學生自己編寫代碼,但是我們也鼓勵學生進行深層次的學習,比如在該系統(tǒng)基礎上進行一些系統(tǒng)功能調用編程。
采用課堂當場驗收實驗結果以及期末答辯方式后,學生到課率顯著增加,同時,自己動手編程的學生數(shù)較以往明顯增加。分析有以下原因:
1)從實驗內容設置及實驗過程看,相對于以前的學生自己編碼實現(xiàn)轉換,現(xiàn)在的代碼填空以及代碼閱讀,難度降低,學生畏難情緒減少,在老師的引導鼓勵下更愿意動手去實現(xiàn);同時,將抽象的操作系統(tǒng)概念通過一個簡單實用的小型嵌入式系統(tǒng)μC/OS-II展現(xiàn)出來,能提高學生的學習興趣。
2)從實際效果看,由于學習興趣的提升,使得大多數(shù)學生可以通過實驗環(huán)節(jié)切實加深對操作系統(tǒng)中相關概念的理解,達到預期的教學效果。
以往的實驗指導,教師大部分工作是在糾正學生的編程語法錯誤,調整實驗內容以及實驗方式后,教師的指導重心轉變?yōu)橄到y(tǒng)功能設計以及實現(xiàn)技術的引導,更能契合這門課的教學目標。同時,由于大部分代碼已經(jīng)發(fā)給學生,學生只需要在理解的基礎上把核心代碼補全運行或者把源代碼閱讀理解調試即可,減輕了學生的負擔,能讓大多數(shù)學生在有限的實驗時間內加深對操作系統(tǒng)知識的理解。
本文的實驗內容設置總體符合學生的實際水平和培養(yǎng)目標,但在今后的教學實踐中還應進行一些優(yōu)化和調整,如將某些模擬算法移植到μC/OS-II中,或者在μC/OS-II提供的編程接口做一些功能擴展等,以便在認識理解操作系統(tǒng)的基礎上進行系統(tǒng)功能的修改或擴展。
[1]趙洪霞,鮑吉龍,丁志群,等.在實驗教學改革中培養(yǎng)學生的創(chuàng)新能力[J].實驗科學與技術,2009,7(1):91-92.
[2] 謝謙,蔡坤,沈夏炯.一種面向應用的操作系統(tǒng)實驗設置[J].計算機教育,2012(20):107-110.
[3] 趙俊生,壽永熙,馬志強,等.操作系統(tǒng)課程改革與建設的研究與實踐[J].內蒙古農業(yè)大學學報:社會科學版,2010(3):165-167.
[4] 何宗鍵,張惠娟.基于Windows內核的操作系統(tǒng)課程實驗平臺設計與建設[J].計算機教育,2009(14):139-140,148.
[5] 陳渝,向勇.操作系統(tǒng)課程實驗教學探討[J].計算機育,2009(14):135-136.
[6] 湯曉丹.計算機操作系統(tǒng)[M].西安:西安電子科技大學出版社,2007.
[7]Jean J Labrosse.嵌入式實時操作系統(tǒng)μC/OS-II[M].北京:北京航空航天大學出版社,2003.
Exploration of Operating System’s Experiment Design
HUANG Ping
(Department of Computer, Nanjing University of Science and Technology Zijin College, Nanjing 210046, China)
The operating system is an extremely abstract and theoretical course. In order to make students master the essence of the design principle and implementation technology, experiment teaching seems particularly important. This paper experiments with a new operating system experiment teaching method. The experiment combines content of operating system and embedded system, from the simple to the profound, harness algorithm simulation to help students have a deeper understanding of the operating system modules, and then let the students read and debug the source code of μC/OS-II. This paper expounds in detail content, process and results of the experiment.
operating system; experiment teaching; experiment design; μC/OS-II operation system
2014-05-05;修改日期: 2014-06-08
黃 萍(1982-),女,碩士,講師,研究方向:圖像處理,模式識別。
G642.423
A
10.3969/j.issn.1672-4550.2015.03.037