国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

操作系統(tǒng)實驗教學的研究與實踐

2010-01-18 10:04趙艷紅段漢根
關(guān)鍵詞:進程計算機實驗

趙艷紅,沈 峰,段漢根

(安徽科技學院理學院,安徽鳳陽233100)

1 引 言

操作系統(tǒng)作為計算機學科中一門承前啟后的專業(yè)基礎(chǔ)課程,在計算機專業(yè)課程體系中扮演著重要角色.操作系統(tǒng)的內(nèi)容涉及理論、算法、技術(shù)、實現(xiàn)和應(yīng)用,知識體系繁雜,概念和原理抽象,是一門實踐性較強的課程.目前,國內(nèi)操作系統(tǒng)課程設(shè)置多偏重于理論學習,對課程實踐重視不夠.學生普遍反映,不實際動手參與操作系統(tǒng)內(nèi)核的開發(fā),只能掌握一些抽象概念,不能深刻理解操作系統(tǒng)的核心,更不能解決實際問題.中國與國外教學工作的差距體現(xiàn)在實踐教學環(huán)節(jié)上,重視實驗與實踐教育是各國高等教育的發(fā)展潮流[1].安徽科技學院獲批為省級示范應(yīng)用型本科高校立項建設(shè)單位,結(jié)合本院應(yīng)用型本科計算機專業(yè)學生的實際情況,完善實驗與實踐,增強實驗課與實踐課的教學效果,培養(yǎng)具有高質(zhì)量、高素質(zhì)、高實踐能力和高創(chuàng)新能力的人才成為一種必然.安徽科技學院將計算機操作系統(tǒng)作為重點建設(shè)課程,計算機操作系統(tǒng)課程分成兩門課:一門講授“操作系統(tǒng)”原理,安排72學時講授理論,12學時進行基礎(chǔ)實驗;一門“操作系統(tǒng)綜合實驗”,安排20學時專門進行操作系統(tǒng)課程設(shè)計.本文將介紹操作系統(tǒng)課程設(shè)計中,實驗平臺的選擇、虛擬技術(shù)的應(yīng)用、實驗平臺的構(gòu)架及實驗內(nèi)容的設(shè)計[2,3].

2 實驗平臺

2.1 實驗平臺的選擇

____Linux是一套______類Unix操作系統(tǒng),它主要用于基于Intel x86系列CPU的計算機上.Linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬于自由軟件,用戶不用支付任何費用就可以獲得它和它的源代碼,并且可以根據(jù)自己的需要對它進行必要的修改,無償對它使用,無約束地繼續(xù)傳播.另一個原因是,它具有Unix的全部功能,任何使用Unix操作系統(tǒng)或想要學習Unix操作系統(tǒng)的人都可以從Linux中獲益[4].

個人計算機的不斷普及開源代碼的快速發(fā)展極大改善了操作系統(tǒng)課程教學的資源環(huán)境,為實驗課程改革提供了機遇.大部分院校采用的都是Linux操作系統(tǒng)設(shè)計平臺.由于Linux操作系統(tǒng)是為實際應(yīng)用開發(fā)的,主要的操作系統(tǒng)功能已經(jīng)很完善,結(jié)構(gòu)龐大且復(fù)雜,沒有專門為學生練習而設(shè)計的項目,所以學生在實踐時會遇到很多困難,實踐效果也不理想.我們借鑒了美國馬里蘭大學在操作系統(tǒng)實驗及實踐方面的方法及經(jīng)驗,使用由美國馬理蘭大學教師開發(fā),基于X86的 GeekOS教學型類Linux操作系統(tǒng).Geek OS主要用于操作系統(tǒng)課程設(shè)計,目的是使學生能夠?qū)嶋H動手參與到一個操作系統(tǒng)的開發(fā)工作中.學生可以在Linux或Unix環(huán)境或/windows下使用Bochs PC模擬器進行開發(fā),且其針對進程、文件系統(tǒng)、存儲管理等操作系統(tǒng)核心內(nèi)容分別設(shè)計了7個難度逐漸增加的項目供教師選擇.出于教學目的,這個系統(tǒng)內(nèi)核設(shè)計簡單,讓學生易于閱讀、設(shè)計和添加代碼,但它又涵蓋了操作系統(tǒng)課程的核心內(nèi)容,能夠滿足操作系統(tǒng)課程教學的需求,卻又兼?zhèn)鋵嵱眯?它可以運行在真正的X86PC硬件平臺.GeekOS由一個基本的操作系統(tǒng)內(nèi)核作為基礎(chǔ),已經(jīng)實現(xiàn)如下功能:

(1)操作系統(tǒng)與硬件之間的所有必備接口.

(2)系統(tǒng)引導、實模式到保護模式的轉(zhuǎn)換、中斷調(diào)用及異常處理.

(3)基于段式的內(nèi)存管理.

(4)內(nèi)核進程以及FIFO進程調(diào)度算法.

(5)基本的輸入輸出:鍵盤作為輸入設(shè)備,顯示器作為輸出設(shè)備.

(6)只讀文件系統(tǒng)PFA T:用于存放用戶程序.

2.2 虛擬機 (virtual machine)技術(shù)的應(yīng)用

當前,隨著高校學生數(shù)量的不斷增加,而資金投入有限,所以實驗設(shè)備和實驗場地不能及時得到擴充,實驗教學資源非常緊張.采用虛擬機構(gòu)建的教學、實驗平臺既能節(jié)省資金投入、挖掘設(shè)備潛力,又可緩解實驗設(shè)備嚴重不足、實驗管理員工作量過大等問題,為教師教學提供了極大的便利,同時也給學生進行課內(nèi)外的自主學習提供了可能.

虛擬機是一個抽象的計算機,和實際的計算機一樣,具有一個指令集并使用不同的存儲區(qū)域.它負責執(zhí)行指令,還要管理數(shù)據(jù)、內(nèi)存和寄存器.通過虛擬機軟件,用戶可以安裝操作系統(tǒng)、安裝應(yīng)用程序、訪問網(wǎng)絡(luò)資源等.虛擬機具有以下特點[5]:(1)擁有獨立的虛擬硬件設(shè)備,并且這些設(shè)備及I/O端口等都受到保護,每個虛擬機都可以擁有計算機系統(tǒng)的所有資源.(2)系統(tǒng)分配給每個虛擬機的虛擬內(nèi)存都采用了獨立的地址空間,互相之間沒有任何聯(lián)系.(3)每個虛擬機都有一個VM控制塊,它包括有關(guān)VM當前狀態(tài)方面的信息.(4)同一臺主機上可以運行多個虛擬機,每個虛擬機都可安裝不同的操作系統(tǒng),就如同一臺獨立的PC,各虛擬機與主機之間可以進行對話、共享文件和網(wǎng)絡(luò)資源.(5)在虛擬機中,把操作系統(tǒng)安裝在主機硬盤中虛擬出來的一個特定文件中,并不需要對物理硬盤進行分區(qū)操作,虛擬機系統(tǒng)與主機系統(tǒng)有良好的隔離性,在虛擬機上進行的操作對主機現(xiàn)有的硬盤分區(qū)和數(shù)據(jù)都不會造成任何破壞.(6)具有硬件無關(guān)性,在主機系統(tǒng)上虛擬出的硬件都是相同的,可以簡單地在不同的主機之間復(fù)制后直接使用,不必考慮硬件差異,因此在實驗中對虛擬機系統(tǒng)造成的任何損壞不會涉及到物理設(shè)備且可以得到快速修復(fù).(7)能夠設(shè)置和修改虛擬機系統(tǒng)的各種配置參數(shù).因此,在虛擬機中進行軟件調(diào)試,系統(tǒng)可能一樣會崩潰,但是,崩潰的只是虛擬機上的操作系統(tǒng),而不是物理計算機上的操作系統(tǒng),使用虛擬機的恢復(fù)功能,就馬上可以恢復(fù).虛擬機技術(shù)為教學、實驗提供了一個近似于真實的環(huán)境,完全能夠滿足教學實踐的要求[6].

PC虛擬機有VMware、Virtual PC和Bochs三種開源軟件.我們選擇VMware軟件來安裝Linux操作系統(tǒng),在Linux環(huán)境下使用Bochs虛擬機運行 GeekOS操作系統(tǒng).

2.3 實驗平臺的構(gòu)建

采用虛擬機軟件構(gòu)建多操作系統(tǒng)實驗平臺,方法如圖1所示:

(1)主機操作系統(tǒng)可以根計算機硬件配置情況及需要安裝Windows 2003、Window s XP或Window s Vista等,屬于宿主操作系統(tǒng),是虛擬機軟件的運行平臺.

(2)安裝VMware虛擬機軟件.

(3)利用VMware虛擬機軟件建立如圖1所示的 Windows XP、Linux和 Unix虛擬機.在 WindowsXP、Unix上配置應(yīng)用服務(wù)器,可以創(chuàng)建其它的虛擬機,或創(chuàng)建更多的虛擬機,當然,實際能同時運行多少個虛擬機,主要取決于計算機的CPU和物理內(nèi)存大小.在構(gòu)建操作系統(tǒng)平臺時,根據(jù)需要,我們選擇Linux虛擬機作為環(huán)境.注意如下事項:

①安裝方式選擇:Typical.

②選擇 GuestOperationSystem時,選中:Linux,對應(yīng)的Version選中:Red HatLinux.

③虛擬機內(nèi)存大?。?28MB以上.

④網(wǎng)絡(luò)連接方式:Bridged方式.

⑤虛擬磁盤:選擇“新建”,大小設(shè)置:至少2GB.

⑥建立虛擬機完成后,CD-ROM默認值是:Auto Detect,把這個值改為Red Hat Linux安裝光盤將要插入的具體盤符.

(4)在Linux虛擬機中安裝Linux.打開VMware,選擇剛才建立的Linux虛擬機,插入Red Hat Linux安裝光盤,單擊VMware工具欄中的 Power On按鈕,啟動Linux虛擬機進入Linux安裝歡迎界面.在安裝過程中注意如下事項:

①安裝類型選擇:定制.

②選中:Windows文件服務(wù)器.目的是安裝Samba組件.

③選中:開發(fā)工具.目的是安裝 GCC、NASM等.

(5)在Linux下安裝Bochs.bochs使用./configure make make install命令之后直接在終端輸入bochs即可啟動.

(6)安裝geekos-0.3.0.假設(shè)工作目錄為/root/work,geekos的源文件路徑/root/geekos-0.3.0,安裝步驟如下:

①復(fù)制:“/root/geekos-0.3.0/scripts/start Project”文件至工作目錄/root/work.

②在終端輸入命令:cd/root/work

./start Projectproject0/root/geekos-0.3.0/src.

圖1 虛擬機軟件構(gòu)建 GeekOS實驗平臺

3 實驗設(shè)計

GeekOS作為一個教學型操作系統(tǒng),設(shè)計盡可能簡單,讓學生易于閱讀、設(shè)計和添加代碼,但它涵蓋了操作系統(tǒng)課程的核心內(nèi)容,能滿足操作系統(tǒng)課程教學的需求.圍繞操作系統(tǒng)原理中的重要概念與方法,精心為學生設(shè)計了7個由易到難的設(shè)計項目,每個項目都對應(yīng)操作系統(tǒng)的一大管理功能,學生每實現(xiàn)一個項目就相當于完成了操作系統(tǒng)的一個功能,如果完成全部7個項目,就實現(xiàn)了一個具備基本功能的實用操作系統(tǒng)[7][8].教師還可以根據(jù)教學實際情況和學生接受能力調(diào)整實驗項目.

基于GeekOS教學操作系統(tǒng)的實驗項目內(nèi)容如下:

(1)熟悉實驗環(huán)境:熟悉Linux操作系統(tǒng)環(huán)境,學習X Window系統(tǒng)的使用;學習shell及常用命令、基本的編程與調(diào)試方法,能夠執(zhí)行一些簡單的命令,會編譯、調(diào)試和執(zhí)行程序.

(2)PC啟動原理及 GeekOS啟動程序:主要是讓學生熟悉 GeekOS的編譯、運行過程,了解計算機系統(tǒng)的啟動原理.要求實現(xiàn)一個內(nèi)核進程,功能是實現(xiàn)從鍵盤接收一個按鍵,并在屏幕上顯示.

(3)ELF文件:主要讓學生熟悉可執(zhí)行鏈接文件 (ELF文件)的結(jié)構(gòu),并學會加載和運行可執(zhí)行文件.項目要求學生熟悉ELF文件格式,并編寫代碼對ELF文件進行分析,并將分析結(jié)果傳送給加載器.

(4)進程管理:通過設(shè)置進程控制塊和編寫進程創(chuàng)建、進程中止和進程調(diào)度程序,實現(xiàn)進程管理;編寫通用中斷分派程序和時鐘中斷例程,實現(xiàn)中斷管理.

(5)調(diào)度算法編程:要求學生改進 GeekOS的調(diào)度程序,實現(xiàn)基于4級反饋隊列的調(diào)度算法 (初始Geek OS系統(tǒng)僅提供了FIFO進程調(diào)度算法),并實現(xiàn)信號量,支持進程間通信.

(6)內(nèi)存管理實驗:要求學生實現(xiàn)分頁虛存管理,實現(xiàn)分頁虛存管理后,系統(tǒng)在內(nèi)存不夠的情況下就可以將部分頁調(diào)到硬盤,以釋放內(nèi)存實現(xiàn)虛擬存儲技術(shù).

(7)文件系統(tǒng):要求實現(xiàn)GOSFS文件系統(tǒng).由于 GeekOS使用了虛擬文件系統(tǒng),可以加載不同的文件系統(tǒng),而系統(tǒng)默認加載的是PFA T只讀文件系統(tǒng).在這個項目中,需要實現(xiàn)一個多極目錄的,可讀寫的文件系統(tǒng).

4 結(jié)束語

采用GeekOS作為計算機操作系統(tǒng)實驗平臺已經(jīng)三年,實踐證明學生能夠利用實驗平臺循序漸進的完成實驗項目,很好地幫助學生理解計算機操作系統(tǒng)的原理,提高了學生對操作系統(tǒng)的學習興趣,增強了編程的能力,教學效果顯著提高.安徽科技學院獲批為省級示范應(yīng)用型本科高校立項建設(shè)單位,我們應(yīng)對實驗、實踐課提高重視程度,積極探索更好的實驗及實踐課教學方法,培養(yǎng)具有高質(zhì)量、高素質(zhì)、高實踐能力和高創(chuàng)新能力的人才.

[1] Abraham Silberschatz著,鄭扣根譯.操作系統(tǒng)概念 (第6版)[M].北京:高等教育出版社,2008:10-60

[2] 孫寶山,萬振凱,許佳.網(wǎng)絡(luò)課程在非計算機專業(yè)中的教學研究 [J].河北北方學院學報:自然科學版,2007,(06):71-73

[3] 張堯?qū)W,史美林,張高.計算機操作系統(tǒng)教程 [M].北京:清華大學出版社,2009:1-20

[4] (美)拉芙 (Love,R.)著,陳莉君譯.Linux內(nèi)核設(shè)計與實現(xiàn) (第二版) [M].北京:機械工業(yè)出版社,2006:40-80

[5] 沐士光,蘇亞麗,鄒國忠,等.虛擬機技術(shù)在網(wǎng)絡(luò)操作系統(tǒng)課程教學實踐中的應(yīng)用 [J].玉溪師范學院學報,2009,25(04):56-58

[6] 劉建軍,郝尚富,孫佰利.用虛擬機技術(shù)構(gòu)建計算機實驗教學環(huán)境 [J].河北北方學院學報:自然科學版,2009,(05):77-79

[7] 黃廷輝,王宇英.計算機操作系統(tǒng)實踐教程 [M].北京:清華大學出版社,2007:3-40

[8] 武仁杰,郭喜鳳,王利青.利用多種操作系統(tǒng)組建網(wǎng)絡(luò)教學環(huán)境的研究 [J].河北北方學院學報:自然科學版,2005,(02):26-28

猜你喜歡
進程計算機實驗
記一次有趣的實驗
計算機操作系統(tǒng)
基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
債券市場對外開放的進程與展望
做個怪怪長實驗
改革開放進程中的國際收支統(tǒng)計
信息系統(tǒng)審計中計算機審計的應(yīng)用
NO與NO2相互轉(zhuǎn)化實驗的改進
實踐十號上的19項實驗
Fresnel衍射的計算機模擬演示