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

3,2Linux

Linux是由芬蘭赫爾辛基大學的一名叫做LinusTorovalds的大學生於1991年首先開發,後經眾多軟件高手參與共同開發的功能強大的操作係統。Linux是一個自由軟件,它的源代碼是開放的。Linux經過十幾年的發展,內核不斷升級,形成了一個龐大的代碼庫,短時間內讀完最新版本的內核源代碼是不現實的。在教學上,一般選擇低版本的內核如Linux0.12,有人用C語言對其進行了改寫,減少了彙編語句的數量,更加便於閱讀。

3,3Nachos

Nachos的全稱是“Not Another CompletelyHeuristic Operating System”,它是一個可修改和跟蹤的操作係統教學軟件。它給出了一個支持多線程和虛擬存儲的操作係統框架,可讓學生在較短的時間內對操作係統中的基本原理和核心算法有一個全麵和完整的了解。Nachos是美國加州大學伯克萊分校在操作係統課程中已多次使用的操作係統課程設計平台,在美國很多大學中得到了應用。Nachos需要運行在一個模擬MIPS R2/3000的指令集的虛擬機上,移植方便。

3,4JOS

JOS是美國麻省理工學院的操作係統課程的一個實驗性質的微型操作係統,基於Exo-Kemel理念。它提供了一個操作係統的框架,使得學生可以不必花費時間用於太底層的東西,如讀寫硬盤數據等,而是將時間精力集中於OS的核心部分。國內的清華大學和北京大學的操作係統實驗項目使用的也是JOS。

3,5GeekOS

GeekOS是一個基於X86架構的微型操作係統內核,由美國馬裏蘭大學的教師開發,主要用於操作係統課程設計,目的是使學生能夠實際動手參與到一個操作係統的開發工作中,代碼有5000多行。作為一個課程設計平台,GeekOS由一個基本的操作係統內核作為基礎,提供了操作係統與硬件之間的所有必備接口,實現了係統引導、實模式到保護模式的轉換、中斷調用及異常處理、FIFO進程調度算法、基本的輸入輸出以及一個用於存放用戶程序的隻讀文件係統PFAT等。GeekOS中包含7個難度逐漸增加的擴展項目,有詳細的幫助文檔。

3,6其他教學用操作係統

(1)OS/161由美國哈佛大學設計,基於MIPS指令集,與Nachos相似,但兩者是獨立的,沒有聯係。

(2)Pintos由美國斯坦福大學的Ben Pfaff設計,該係統是在借鑒Nachos的基礎上,為麵向X86架構而重新編寫的。

(3)OSKIT由美國猶他大學計算機科學係FLUX研究組編寫的一套用於架構操作係統內核、服務器和其他操作係統級軟件的框架及模塊化的部件和庫程序,基於COM思想而設計的。

(4)PortOS由美國康奈爾大學的教師設計,該係統提供一個運行於Windows上仿真環境,可用於普適計算。

(5)LittleOS是一個基於Intel32位體係結構保護模式的微型操作係統,LittleOS僅僅初始化了一些必要的硬件,是一個僅提供了鍵盤中斷和時鍾中斷的框架。

4 實施教學應注意的問題

在借鑒國外的教學用操作係統進行實踐教學時,必須看到國內實際情況與國外的差別。首先國內的教學模式與國外都有較大區別,另外由於語言背景不同,學生閱讀英文技術文檔較為吃力。在實施教學時要注意以下幾點:

(1)最好能提供中文版本的實驗指導書,降低學生切入課題的難度;

(2)對於開發平台中涉及的編譯器和模擬器,應該給出確定的版本號和詳細的使用指導;

(3)課題的難度應根據學生具體情況進行調整。

5 結語

操作係統課程中的原理和實踐是密不可分的,在實踐教學中對內核進行擴展,在實際教學中便於操作。強調實踐是教學改革的發展趨勢。相信隨著實踐教學的加強,國內也會出現值得推廣的教學用操作係統內核