正文 操作係統課程的實踐教學模式探討(1 / 2)

摘要:針對操作係統課程實踐教學上存在效果不明顯、形式難把握的現象,本文在分析了現有實踐教學模式的基礎上,探討了若幹個國外流行的教學用操作係統內核,對廣大教師選擇教學用操作係統可起到參考作用。

關鍵詞:教學改革;操作係統;實踐教學

文章編號:1672-5913(2010)08-0146-03

中圖分類號:G642

文獻標識碼:B

1 背景

操作係統課程教學中普遍存在教學與實踐脫節的問題。該課程的理論性和綜合性比較強,教師在講解基本原理的時候,往往忽略了實踐。學生在學完課程後,很難自己設計一個小型的操作係統。對於國內的普通高校,對實踐的要求大都還處於模擬相關算法的層麵上。隻是簡單的進行算法仿真,無法使學生對操作係統的整個工作機製有係統的認識。要提高操作係統課程的教學質量,關鍵是要加強實踐教學的力度。

本文首先對現有的實踐教學模式進行了分析,然後重點探討了一些現有的教學用操作係統,對廣大教師選擇教學用操作係統時起到引薦作用。

2 現有實踐教學模式分析

國內本科高校由低到高大致可以分為三個層次:教學型大學、教學研究型大學和研究型大學。由於師資力量、硬件環境以及學生素質的差異,目前操作係統實踐教學主要采取以下4種模式。

2,1功能模擬

針對操作係統中一些典型功能或算法,如進程調度、內存分配、頁麵置換、文件係統、死鎖檢測、磁盤調度等進行編程實現,可通過操作界麵運行程序對功能加以驗證。這種模式所涉及的軟硬件資源和數據結構都是自建的,並不對真實的係統資源進行訪問和修改,因此可以擺脫具體操作係統的限製和軟硬件細節。獨立實現操作係統的某一模塊,所需學時較少,但這並不是設計一個完整的係統。

2,2代碼閱讀

閱讀並理解具體操作係統的源代碼也是學習操作係統設計的一種重要方法。開放的Linux操作係統凝聚了眾多軟件高手的智慧,因此目前主要分析的是Linux源代碼。很多學校選取的是Linux早期版本,如Linux0.11,因為其源代碼量較少,可讀性好,適合學生在較短學時內閱讀理解。計算機大師Tanenbaum設計的Minix也是一個選擇,閱讀時參照其編寫的經典教材《操作係統:設計與實現》。

2,3內核擴展

首先選擇一個內核簡單的教學用操作係統,如Nachos,它提供了對時鍾和鍵盤中斷、多線程、虛擬存儲等的底層支持,代碼是開放的。使用內核提供的接口,對基礎係統的相關模塊進行完善和擴充,例如shell、用戶管理、CPU調度、進程同步、虛擬存儲以及文件係統功能。

2,4獨立設計

構造一個真正的操作係統是理解操作係統的最佳方法,但難度也最大。國內部分一流研究型大學要求學生獨立或合作實現一個結構相對簡單但功能較完備的小型操作係統。隨著後PC時代的到來,且鑒於Intel指令係統的複雜性,設計一個基於精簡指令集處理器的嵌入式操作係統是個不錯的方案。這種模式對學生個人能力要求較高。

一般教學型大學的本科生實踐教學大都采用第1、2種模式:教學研究型大學以211高校為主,主要采用第2、3種模式;第3、4種模式是研究型大學的操作係統課程實驗的主要模式,主要以985高校為主。

以地方高校為主的教學型大學,是國內本科教育的主要組成部分,承擔著大眾化教育的使命。據不完全統計,目前國內高校開辦計算機本科專業的院校達700多所,本科生的在校生數量達到90萬人,我國雖是一個教育大國,但不是教育強國。國內IT企業普遍缺乏核心技術,是我國軟件業發展的軟肋,高校作為教育的實施者,不能回避自己的責任。加強操作係統課程的實踐教學,是提高計算機專業學生的係統級編程能力的有效途徑。縱觀國外大學的操作係統教學,大都采用第3、4種模式進行,而且使用的操作係統內核也各有特色。

3 教學用操作係統內核比較分析

加強對國外高校實踐教學的學習,是提高國內高校操作係統教學的可行之道。本文下麵對常見的教學用操作係統內核進行分析。

3,1Minix

Minix是荷蘭著名的計算機專家A.S.Tanenbaum主持設計的微內核操作係統,目前最新版本是Minix3.1.3a,內核隻有4000行代碼,存儲管理、設備管理和文件係統等功能以用戶進程模式工作,係統具備很強的靈活性和安全性。Minix3與以往兩個版本有較大改進,功能更加完整,安裝更加方便,也可在多種虛擬機上安裝。目前加州大學聖克魯斯分校將Minix3作為教學用操作係統內核,安排有4個開發項目:一個簡單的Shell、進程調度器、內存分配和文件係統。