摘要:本文是教授“操作系統”課的心得體會。提出了對“操作系統”課程的一些思考以及對教材改革的思路,并且指出了傳統的“操作系統”課程教學環節的弊端和實踐環節在“操作系統”這門課中的重要性以及實踐環節的多樣性,最后指出要從培養高水平的創新性人才出發,研究教材改革的方向和思路。
關鍵詞:操作系統;教材改革;教學環節;實踐環節
中圖分類號:G64 文獻標識碼:A
文章編號:1672-5913 (2007) 21-0025-03
DiscussSomeThoughtofTeachingandPractice in the Subject“Operating System”
Abstract: The article discusses the feeling when I teach the subject“OperatingSystem”.There is devided between theory and practice in the subject“OperatingSystem”and the content of text book is serious out of date. The article is provided some thoughts of the subject“OperatingSystem”and some advice ofthereform of the text book. At the same time, this article points out the shortcoming of traditional teaching in the subject “OperatingSystem”and importance of practice in the subject “OperatingSystem”and diversity of practice. Finally, the article points out to research the direct and idea of the reform of text book from start point of cultivating high level innovating person with ability.
Key words: OperatingSystem;thereform of the text book;teaching tache;practice tache
1引言
操作系統本身是計算機系統的底層核心軟件, 它的設計過程體現了程序設計和軟件工程的精髓。操作系統原理是計算機專業主干課程之一,是計算機科學知識構成的重要部分。除理論知識以外,實踐環節也是必不可少的。在傳統的“操作系統”課程教學當中,存在著相當大的弊病,理論和實踐脫離得相當嚴重,已到了“操作系統”課程教學非改革不可的地步。
2傳統的“操作系統”課程教學環節的弊端
在傳統的“操作系統”課程教學當中,“操作系統”的理論性較強,與實踐脫離很嚴重,有的甚至沒有實踐環節。這使得學生在學習這些理論的時候覺得太空洞,并且是無用武之地。
舉例來說:進程管理是操作系統的核心章節,在這里只能用類passical語言來實現進程管理各種算法。但在實際上,學生在實踐中并沒有實踐它,造成學生只是在理論上知道這種算法,而無法實踐它。在以后的學習甚至在工作中都沒有用到這種算法。這樣就造成了一種惡性循環。
具體來說,比如有關PV操作的例子,自習教室中共有50個座位,當教室里沒有空余座位時讀者只能在教室外等候,直到有人離開教室時方可進入。要求定義相應的信號量并用PV操作給出讀者進行自習的同步算法。這是一個書上的例子,書上只給出了類passical語言表示的程序段,然而沒有給出具體passical語言或者C語言的程序來說明整個的PV操作。
如S表示自習教室剛開放的時候可用的座位數為50。當S>0時說明教室中有座位可用,當S=0時說明座位已被分配完,當S<0時說明有讀者在教室外等候,此時S的絕對值就是等候的讀者數。讀者進程可表示如下:
Begin
SemaphoreS:=50;
Cobegin
Begin
P(s);
進入自習教室;
自習;
離開自習教室;
V(s);
End
Coend
End
這是書上給出的答案,這樣也無可非議,學生只要知道先申請資源,即教室。申請到了教室就進入教室自習,自習完了就釋放資源。
然而,學生在實踐環節中實踐不了它。這樣就是當時學生知道這段讀者進程的意思,但過不了多久,拿到類似的問題,學生就不會做或做錯了。
在傳統的“操作系統”課程教學中存在著嚴重教學誤區:
(1) 操作系統純理論化。許多高校“操作系統”課程還是理論教學,沒有實踐環節,脫離實踐非常嚴重。
(2)“操作系統”課程內容過于陳舊。我們現在操作系統課本還是上世紀80年代或90年代的內容,經過這二十多年計算機的發展,操作系統得到了迅速的發展,操作系統也得到了更新換代,然而這在我們學生的教材上沒有得到體現,使得操作系統的教材從上世紀80年代延續到21世紀,可能還要繼續延續下去。
因此,對操作系統教材的改革已迫在眉睫。當然,對操作系統的教材更新時必須要注意以下幾點:
(1) 首先要做到新老兼顧的原則,也就是說在吸收新鮮的內容的同時,原來過于陳舊的內容可以刪除,但是基本內容不能少,這樣在增加新內容的同時原來的知識得到了鞏固,新知識的添加可以包含在原章節中,這樣每章的操作系統算法都可以通過這些新知識來論證。新知識包括,嵌入式操作系統以及一些最新操作系統理念,把這些新知識融入到原有知識里,更能體現出操作系統理論在現實中的價值。
(2) 在配備操作系統教材的同時,應配備一本實踐指導教材。這是非常重要的。這樣可以把操作系統每章的算法和原理與實踐結合起來,做到理論和實踐相結合。這樣,學生通過自己動手實踐更加容易理解操作系統的原理和算法。
教材的選定非常重要,選定一本好的教材,對學生的學習興趣和積極性的調動非常重要。例如,一本好的教材對學生有啟發的作用,可以很好地調動學生的積極性和主動性,一本好的教材有好的實踐指導書,可以幫助學生自己動手實踐理解操作系統里的各種算法。一本好的教材是和現實緊密結合的,這不僅反映了操作系統當前的迅速發展的領域,而且可以使學生更加了解當前操作系統的發展狀況,對學生有著一種激勵作用。
總之,“操作系統”課程的改革必須是圍繞著學生的學習和興趣來改革,讓學生學習到更多的知識,接觸到最新的技術發展是我們作教師的巨大責任。因此,“操作系統”課程的改革必須圍繞學生的自身特點來進行,這樣“操作系統”的改革才有出路,才會讓學生學到更多知識。
3對“操作系統”課程中實踐環節的幾點思考
實踐環節是學生自己動手來完成課程里所要求的實踐環節,以實現課程里的算法。在“操作系統”中,實踐環節非常重要,學生通過實踐環節來理解“操作系統”各種算法,因此實踐環節在“操作系統”課程中占有十分重要的位置。
現在大多數高校“操作系統”課程沒有實踐環節,這樣學生在學習“操作系統”這門課時就感到非常枯燥。如開頭講的那個例子:學生只知道怎么分析這道題,然后給出類Passical 進程段,然而學生并不知道如何用計算機語言來實現這個程序段。學生只能用中文來表示這個進程段。假如書上能給出用源代碼來表示的整個程序,然后學生可以上機論證一下,這樣對進程管理的整個過程都會了如執掌,并且有了理性的認識。通過實踐環節,學生可以更好地理解操作系統的各種算法。
大多數高校沒有把操作系統的實踐環節放在非常重要的地位,他們把純理論的知識直接灌輸給學生,而沒有用實踐來論證這些理論。這樣,理論顯得非常空洞。為了凸顯實踐的重要性,我們在“操作系統”的每章里都可以附加操作系統的實踐。
在國外的許多高校,操作系統很早就開設了實踐環節,這樣操作系統每個章節的算法都可以用實踐來實現,加深了學生對這些算法的理解。同時也給出了許多源代碼供學生參考,這樣有利于培養操作系統方面的拔尖人才以及為培養軟件專業方面的人才奠定基礎。而在國內的許多高校,操作系統并沒有開設實踐環節,以至于學生沒有辦法來實現操作系統里的算法。這樣高校也就造就不出一批高層次的人才以及拔尖人才。
實踐環節是培養學生動手能力和理解操作系統算法的重要環節。具體的實踐環節應包括以下幾點:
(1) 對算法源代碼的分析,可以加深對此算法的理解。通過對源代碼的分析和編譯,學生可以對算法的整個編譯過程和實現過程有一個更加直觀上的理解。通過對源代碼的編譯和分析,可以提高學生的編程能力,而且能夠使學生的思路更加開闊。因此,在操作系統課程的實踐環節中增加對每個算法源代碼的分析和編譯是必要的而且是必須的,這是培養高水平拔尖創新性人才的重要環節。
(2) 操作系統課程要跟上時代的步伐。隨著現代計算機的迅速發展,現代操作系統更新換代非常迅速,如何讓學生接受最新的操作系統設計技術成為當前面臨的重大課題。如現在嵌入式系統發展迅速,在人們生活的整個電子領域都有嵌入式系統的影子。而在操作系統的教材中卻沒有嵌入式操作系統的內容,這樣學生就無法跟上時代的步伐。因此,在操作系統課程中增加嵌入式操作系統是必要的,而且是必須的。這可以讓學生能夠接受操作系統的最新技術,而且可以把操作系統的理論應用到操作系統最新發展的技術上。
(3) 在實踐過程中故障排除能力對培養學生獨立思考能力起著非常重要的作用。比如檢測源代碼正確性,這就需要學生有獨立思考的能力和較強的動手能力。通過檢測源代碼的正確性,同樣可以提高學生的編程能力以及培養學生的創新性思維。
(4) 實踐環節可以有多種形式,比如可以把學生以組為單位共同完成一個模塊,幾個小組完成一個大的系統。這樣不僅培養了學生的動手能力,也培養學生的創新能力。
操作系統是整個計算機專業的核心課程,也是后續課程的基礎,實踐環節不僅可以讓學生真正理解操作系統的算法,而且可以培養學生的編程能力。總之,在操作系統課程中,實踐環節占有非常大的份量,是培養創新性人才的重要環節。因此,需要改變當前操作系統課程教學的誤區,必須改革教材以及實踐環節的配套用書,讓學生真正從實踐中理解操作系統的各種算法,同時為以后的編程打下良好的基礎。
4總結
在整個操作系統教學過程中,理論和實踐相脫離,在課堂上講述的算法沒有用實踐來論證,學生感到這些算法很空洞,而且沒有什么用處。許多拔尖人才都是在實踐中鍛煉出來的。通過實踐,學生可以充分發揮他們的想象力和創造性思維。這樣可以充分調動他們學習的積極性,在實踐中學生可以檢驗自己的想法并驗證自己想法的正確性。然而,在許多高校中,操作系統課程教學與實踐完全脫離,這是教學的一個最大誤區。課堂上的理論非常枯燥,而且沒有實踐作后盾的理論是非常空洞,經不起實踐考驗。當然,這些理論是在前人的實踐的基礎上得到的。但隨著時間的推移,這些理論是否適應現在的時代的發展,需要經過實踐的檢驗。因此,這些操作系統的理論可以通過學生的實踐過程來得到檢驗。
操作系統的實踐環節可以形式多樣,例如嵌入式操作系統的開發,源代碼的分析以及在實踐過程中遇到的各種故障的排除,等等,通過這些實踐,學生可以充分發揮自己的創造性和想象力。在實踐過程中,學生可以自己檢驗算法的正確性。這樣不僅可以加深學生對算法的理解,而且可以鍛煉學生的創新性思維。在實踐過程中可以鍛煉學生的動手能力,為進一步適合社會所需要的人才打下基礎。當然,在實踐中,教師自己的知識水平也要進一步的深化,加強自身的知識結構,這樣才能夠培養出拔尖的人才和創新性的人才。
總之,在整個“操作系統”課程教學過程中,傳統的教學模式已越來越不適應現代社會的需要,課本的理論知識和實踐完全脫節,操作系統的基本理論知識還是非常過時的理論,這些是“操作系統”課程教學改革中必須解決的問題。現代計算機更新換代非常迅速,如何使操作系統教材跟上時代的步伐,如何培養出高水平的拔尖的人才,這是每一個計算機專業老師必須面臨的一個問題。因此,“操作系統”的教材到了不得不改的時候,要從培養高水平的創新性人才出發,研究教材改革的方向和思路,使得教材能夠被各個層次的學生所接受,培養出更多具有專業理論水平強、動手能力快的高水平人才。
參考文獻
[1] Andrew S.Tanenbaum,著.陳向群等譯.現代操作系統[M].北京:機械工業出版社,2005.
[2] 朱貴良,陳向群.《美國若干個知名大學操作系統》課程設計的比較性研究[J].計算機科學,2002,(6):152-153.
[3] 黃廷輝,許倩霞.操作系統課程建設的探索[J].桂林電子工業學院學報,2004,24:(2).91-93.
[4] 張堯學,史美林.計算機操作系統教程[M].北京:清華大學出版社,2002,3.
收稿日期:2007-07-09
作者簡介:李曉飛(1973-),男,江西南昌人,助教,碩士,武夷學院計算機系教師,研究方向:計算機網絡,數據挖掘。