?

操作系統實驗環節設置的探索

2015-05-08 09:37
實驗科學與技術 2015年3期
關鍵詞:源代碼編程設置

黃 萍

(南京理工大學紫金學院 計算機系,南京 210046)

操作系統實驗環節設置的探索

黃 萍

(南京理工大學紫金學院 計算機系,南京 210046)

操作系統是一門理論性強且概念抽象的課程,如何使學生掌握操作系統設計原理與實現技術的精髓,實驗教學環節的開設顯得尤為重要。文中介紹了一種新的操作系統實驗教學設置方案,結合操作系統和嵌入式系統兩門課程的內容,由淺入深地展開實驗內容,先通過算法的模擬使學生加深對通用操作系統各功能模塊的理解,再讓學生對μC/OS-II操作系統的源代碼進行閱讀和調試。文中對實驗內容的設置、實驗開展過程以及最后的實驗效果都做了較詳細的闡述。

操作系統;實驗教學;實驗設置;μC/OS-II操作系統

操作系統是計算機及其相關專業的一門重要基礎課程。該課程理論性強、概念抽象,如果單純進行理論教學,學生會因為課程概念晦澀、原理復雜、內容枯燥而失去學習興趣。為了使學生真正掌握操作系統設計原理與實現技術的精髓,培養學生的創新能力[1],很多高校都開設有相應的實驗教學環節。

1 操作系統實驗內容的層面

國內本科高校大致可以分為三個層次:應用型本科學校、工程型本科學校和研究型本科學校。針對不同層次的培養目標,應設計不同的操作系統實驗內容。操作系統涉及的內容較多,相對應的實驗層面有深也有淺,主要有以下四個層面,各層面依次由淺到深遞進。

1)觀察與使用層面

選擇一個實際的操作系統(一般為Windows或Linux操作系統)作為實驗環境,讓學生觀察操作系統運行某個功能的具體現象,以及使用操作系統包括對命令、系統調用和系統文件的使用,來體會操作系統原理的設計內容。這種方式只能看到系統的外部運行情況。為了讓學生真正理解操作系統的內在原理,一些學校會在使用層面的基礎上增加系統編程的實驗內容[2-3]。

2)算法模擬層面

選取課程中的一些典型算法,如進程調度、內存分配、頁面置換、磁盤調度等,讓學生使用某種編程語言(如C/C++、Java)編程模擬實現。該類型的實驗有利于學生在提高編程水平的基礎上加深對操作系統理論的理解,但學生體會不到實際操作系統與計算機硬件的交互。

3)源碼閱讀級層面

通過對現有操作系統部分內核源代碼的閱讀,深入理解操作系統的設計原理。

4)系統設計層面

通過模塊替換、功能擴展或獨立開發等形式,讓學生設計實現一些操作系統中的功能或者設計開發一款小型操作系統。這個層面的實驗對學生的能力要求較高,國內一些知名高校,如同濟大學[4]、清華大學[5]采用了擴展設計型實驗。這種實驗方式可以提高學生的自主能動性,但其工作量與難度很難把握,可能導致大部分學生無法完成而影響教學效果。因此,如何使實驗環節既能很好地輔助理論教學,又能提高學生的實踐水平,是實驗教學教師不得不面對的問題。

在設計實驗內容時,充分考慮了獨立學院主要以培養應用型人才為主的特點,針對學生的基礎和素質相對不足以及所開設的相關課程等各種因素,把理解操作系統基本原理、提高編程能力作為實驗目標,設置了算法模擬與源碼閱讀相結合的實驗內容。

2 實驗內容設置

由于學院是應用型本科院校,因此,更注重學生動手能力的培養。計算機系分別在大三下學期和大四上學期開設了3個學分的操作系統理論課程及2個學分的操作系統課程設計課程。兩門課程各有側重,理論課選用了西安電子科技大學出版社出版的《計算機操作系統》(第三版)[6]作為教材,主要側重基本概念及原理、設計基本思想的介紹,以課堂教學為主;操作系統課程設計以實驗為主,共32個學時。以往開設的操作系統實驗主要集中在利用Windows操作系統提供的接口進行系統調用編程以及算法模擬,經過多輪教學之后發現,效果并不理想。只有少部分真正感興趣的學生能夠學到東西,大多數學生反饋回來的信息是實驗內容過于零散、抽象,學生希望能夠把這些零散的實驗內容整合到一個完整的操作系統中。因此,我們對該門實踐課的教學內容進行了改革,重新設置了實驗內容。

在重新設置實驗內容時,充分考慮了知識體系的關聯性與完整性,計算機系除了開設操作系統課程外,還開設了嵌入式系統課程,兩門課程的教學內容是有一定聯系的。因此,我們兼顧兩門課程設置實驗內容,實驗內容由淺入深地展開,先通過算法的模擬使學生加深對通用操作系統各管理功能的理解,在此基礎上,再對某一款簡單實用的嵌入式操作系統的源代碼進行閱讀調試,讓學生對操作系統有一個整體認識,同時,加深對嵌入式操作系統的認知。具體的實驗內容見表1。

表1 實驗內容

通過理論課與實踐課的結合,學生先學習理論知識,進而模擬實現其中的算法,最后,進行完整操作系統的實驗,實現了“抽象理解—感性認識—理性理解”的學習認知過程(理論課知識點與實驗內容具體對應關系見表1)。在算法模擬階段,主要選取了理論課講授過程中每章要求學生必須掌握的算法來實現,做到原理講授與實驗環節緊密結合,使學生通過算法模擬,進一步掌握操作系統原理設計與實現技術的精髓。

在此基礎上,結合嵌入式系統課程,選取了源代碼開放、代碼精練、適合于教學的μC/OS-II系統作為實驗素材,由系統的內核開始,結合理論課所學的知識點分模塊來閱讀、調試代碼,加深學生對整個操作系統的理解。

3 實驗實施過程

在算法模擬階段,實驗側重在系統功能的模擬實現。因為這門實驗課的主要目的不是學習如何編程,而是要求學生掌握操作系統的基本設計原理,因此,簡化了學生的編程工作量。每個模擬算法的基本程序框架以及所需數據結構事先給學生,但主要的核心功能函數需要學生在閱讀程序及弄明白算法原理后補充完整,程序運行調試通過后再由教師當堂驗收。這種方式可以有效預防學生課后抄襲實驗報告。

在源代碼閱讀階段,由于實驗代碼來源于《嵌入式實時操作系統μC/OS-II》[7]一書所附帶的范例代碼,只能在BC編譯環境下編譯測試,而BC是基于DOS開發的C/C++編譯器,操作復雜,學生很難掌握如何編譯測試μC/OS-II。而VC功能強大,用VC來調試運行μC/OS-II會使教學更加輕松,學生學習更加容易。因此,需要教師先對μC/OS-II做深入了解,摸清μC/OS-II中的功能結構后,將μC/OS-II源代碼進行修改,使其可以在VC環境下運行。在代碼發放前,還需教師給代碼標注詳細的功能注釋,以便學生閱讀。學生完成源碼的閱讀與調試后,需填寫實驗報告,由此加深對源碼的理解。這部分實驗雖然不需要學生自己編寫代碼,但是我們也鼓勵學生進行深層次的學習,比如在該系統基礎上進行一些系統功能調用編程。

4 首次實驗效果的反饋與分析

采用課堂當場驗收實驗結果以及期末答辯方式后,學生到課率顯著增加,同時,自己動手編程的學生數較以往明顯增加。分析有以下原因:

1)從實驗內容設置及實驗過程看,相對于以前的學生自己編碼實現轉換,現在的代碼填空以及代碼閱讀,難度降低,學生畏難情緒減少,在老師的引導鼓勵下更愿意動手去實現;同時,將抽象的操作系統概念通過一個簡單實用的小型嵌入式系統μC/OS-II展現出來,能提高學生的學習興趣。

2)從實際效果看,由于學習興趣的提升,使得大多數學生可以通過實驗環節切實加深對操作系統中相關概念的理解,達到預期的教學效果。

以往的實驗指導,教師大部分工作是在糾正學生的編程語法錯誤,調整實驗內容以及實驗方式后,教師的指導重心轉變為系統功能設計以及實現技術的引導,更能契合這門課的教學目標。同時,由于大部分代碼已經發給學生,學生只需要在理解的基礎上把核心代碼補全運行或者把源代碼閱讀理解調試即可,減輕了學生的負擔,能讓大多數學生在有限的實驗時間內加深對操作系統知識的理解。

5 結束語

本文的實驗內容設置總體符合學生的實際水平和培養目標,但在今后的教學實踐中還應進行一些優化和調整,如將某些模擬算法移植到μC/OS-II中,或者在μC/OS-II提供的編程接口做一些功能擴展等,以便在認識理解操作系統的基礎上進行系統功能的修改或擴展。

[1]趙洪霞,鮑吉龍,丁志群,等.在實驗教學改革中培養學生的創新能力[J].實驗科學與技術,2009,7(1):91-92.

[2] 謝謙,蔡坤,沈夏炯.一種面向應用的操作系統實驗設置[J].計算機教育,2012(20):107-110.

[3] 趙俊生,壽永熙,馬志強,等.操作系統課程改革與建設的研究與實踐[J].內蒙古農業大學學報:社會科學版,2010(3):165-167.

[4] 何宗鍵,張惠娟.基于Windows內核的操作系統課程實驗平臺設計與建設[J].計算機教育,2009(14):139-140,148.

[5] 陳渝,向勇.操作系統課程實驗教學探討[J].計算機育,2009(14):135-136.

[6] 湯曉丹.計算機操作系統[M].西安:西安電子科技大學出版社,2007.

[7]Jean J Labrosse.嵌入式實時操作系統μ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

猜你喜歡
源代碼編程設置
中隊崗位該如何設置
基于TXL的源代碼插樁技術研究
編程,是一種態度
元征X-431實測:奔馳發動機編程
編程小能手
紡織機上誕生的編程
軟件源代碼非公知性司法鑒定方法探析
基于語法和語義結合的源代碼精確搜索方法
揭秘龍湖產品“源代碼”
本刊欄目設置說明
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合