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

?

操作系統(tǒng)實(shí)踐教學(xué)改革探索

2016-11-02 19:29馬立肖張翠軍
電腦知識與技術(shù) 2016年18期
關(guān)鍵詞:操作系統(tǒng)實(shí)施方案課程內(nèi)容

馬立肖 張翠軍

摘要:針對操作系統(tǒng)的課程特點(diǎn)和實(shí)踐教學(xué)現(xiàn)狀,進(jìn)行了深入的實(shí)踐教學(xué)改革,尤其是針對操作系統(tǒng)實(shí)驗(yàn)課程的教學(xué)內(nèi)容和實(shí)施方案進(jìn)行逐步探索和精心設(shè)計,并在教學(xué)實(shí)踐中進(jìn)行了具體實(shí)施,取得了理想的教學(xué)效果。

關(guān)鍵詞:操作系統(tǒng);實(shí)踐教學(xué);課程內(nèi)容;實(shí)施方案

中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)18-0101-03

操作系統(tǒng)是高等學(xué)校計算機(jī)類專業(yè)的一門核心專業(yè)基礎(chǔ)課程,其在計算機(jī)課程體系中處于重中之重的地位。學(xué)習(xí)本課程有助于學(xué)生對前期的專業(yè)基礎(chǔ)知識進(jìn)行整合、應(yīng)用與提升,形成對計算機(jī)系統(tǒng)的整體認(rèn)識。設(shè)計好該課程的實(shí)驗(yàn)課有助于學(xué)生形象和深刻地理解理論課中講述的概念、原理和技術(shù),提升學(xué)習(xí)興趣,提高理論水平和大型軟件的開發(fā)能力。

1操作系統(tǒng)實(shí)踐教學(xué)現(xiàn)狀

操作系統(tǒng)實(shí)踐教學(xué)一直是操作系統(tǒng)課程中的重點(diǎn)和難點(diǎn)。因重視程度、師資水平、學(xué)生基礎(chǔ)等種種因素的影響,各高校對實(shí)驗(yàn)內(nèi)容的選取不一,難度也有差異。目前,國內(nèi)外高校操作系統(tǒng)實(shí)踐教學(xué)主要采用四種模式[1][2]:1)模擬性實(shí)驗(yàn)是針對操作系統(tǒng)中一些典型功能或算法,如進(jìn)程調(diào)度、內(nèi)存分配、頁面置換、文件系統(tǒng)、死鎖檢測、磁盤調(diào)度等進(jìn)行編程實(shí)現(xiàn),這種模式并不對真實(shí)的系統(tǒng)資源進(jìn)行訪問和修改;2)源代碼閱讀實(shí)驗(yàn)是通過閱讀并理解具體操作系統(tǒng)的源代碼以達(dá)到理解操作系統(tǒng)原理和技術(shù)的目的;3)操作系統(tǒng)內(nèi)核擴(kuò)展實(shí)驗(yàn)是選擇一個內(nèi)核簡單的教學(xué)用操作系統(tǒng),對基礎(chǔ)系統(tǒng)進(jìn)行完善和擴(kuò)展。根據(jù)內(nèi)核提供的接口,對相關(guān)模塊如進(jìn)程管理、進(jìn)程調(diào)度、進(jìn)程同步、虛擬存儲以及文件系統(tǒng)功能進(jìn)行設(shè)計實(shí)現(xiàn),通過實(shí)驗(yàn)學(xué)生可以對操作系統(tǒng)有一個相對完善的整體認(rèn)識;4)獨(dú)立設(shè)計實(shí)現(xiàn)內(nèi)核實(shí)驗(yàn)。國內(nèi)部分一流研究型大學(xué)要求學(xué)生獨(dú)立或合作實(shí)現(xiàn)一個結(jié)構(gòu)相對簡單但功能較完備的小型操作系統(tǒng)。通過構(gòu)造真正的操作系統(tǒng)來建立操作系統(tǒng)原理的整體概念,實(shí)驗(yàn)難度較大。

2河北地質(zhì)大學(xué)操作系統(tǒng)實(shí)踐教學(xué)內(nèi)容探索

為了配合河北地質(zhì)大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè)“試點(diǎn)班”的教學(xué)改革,我院在操作系統(tǒng)課程實(shí)踐教學(xué)上進(jìn)行了深入的研究和探討,實(shí)踐教學(xué)內(nèi)容經(jīng)歷了難度逐步加大的過程。第一階段,即在2010級和2011級學(xué)生中,借鑒了北京大學(xué)操作系統(tǒng)課程實(shí)踐教學(xué)模式,使用Nachos作為操作系統(tǒng)的實(shí)踐教學(xué)平臺,要求學(xué)生對Nachos操作系統(tǒng)進(jìn)行改進(jìn)和完善;第二階段,即在2012級和2013級學(xué)生中,借鑒了南京大學(xué)操作系統(tǒng)實(shí)踐課程教學(xué)模式,要求學(xué)生設(shè)計并實(shí)現(xiàn)一個微型操作系統(tǒng)內(nèi)核。

2.1 基于Nachos操作系統(tǒng)的實(shí)踐教學(xué)內(nèi)容設(shè)計

Nachos是美國加州大學(xué)伯克萊分校在操作系統(tǒng)課程中已多次使用的操作系統(tǒng)課程設(shè)計平臺,在美國很多大學(xué)中得到了應(yīng)用。Nachos(C++語言版)建立在一個軟件模擬的虛擬機(jī)之上,模擬了MIPS R2/3000的指令集、主存、中斷系統(tǒng)、網(wǎng)絡(luò)以及磁盤系統(tǒng)等操作系統(tǒng)所必須的硬件系統(tǒng),源碼有一萬多行。Nachos不是向?qū)W生展示一個成功的操作系統(tǒng),而是讓學(xué)生在一個框架下發(fā)揮自己的創(chuàng)造性進(jìn)行擴(kuò)展[3-4]。

該實(shí)驗(yàn)主要是要求學(xué)生在閱讀和分析Nachos操作系統(tǒng)源碼的基礎(chǔ)上,掌握該操作系統(tǒng)框架,對線程管理模塊、內(nèi)存管理模塊和文件管理模塊進(jìn)行擴(kuò)展。具體如下:

1)線程管理模塊擴(kuò)展

在閱讀Nachos線程管理模塊源碼的基礎(chǔ)上,對線程管理模塊進(jìn)行擴(kuò)充。具體包括:擴(kuò)展線程的數(shù)據(jù)結(jié)構(gòu),增加“用戶ID、線程ID”兩個數(shù)據(jù)成員,同時在Nachos現(xiàn)有的線程管理機(jī)制中增加對這兩個數(shù)據(jù)成員的維護(hù)機(jī)制;增加全局性線程管理機(jī)制,在Nachos中增加對線程數(shù)量的限制,使得Nachos中最多能夠同時存在128個用戶線程;擴(kuò)展同步機(jī)制,實(shí)現(xiàn)鎖和條件變量,并應(yīng)用Nachos中的信號量、鎖和條件變量,實(shí)現(xiàn)“生產(chǎn)者—消費(fèi)者問題”;擴(kuò)展線程調(diào)度算法,實(shí)現(xiàn)基于優(yōu)先級的搶占式調(diào)度算法。

2)存儲管理模塊擴(kuò)充

在閱讀Nachos存儲管理部分源碼的基礎(chǔ)上,對存儲管理模塊進(jìn)行擴(kuò)展。具體包括:擴(kuò)展TLB管理機(jī)制,增加異常處理功能,并為TLB機(jī)制實(shí)現(xiàn)一種合適的頁面替換算法,以盡可能避免系統(tǒng)顛簸的產(chǎn)生;設(shè)計并實(shí)現(xiàn)一個全局性的數(shù)據(jù)結(jié)構(gòu)(如空閑鏈表、位圖等)來進(jìn)行內(nèi)存的分配和回收,并記錄當(dāng)前內(nèi)存的使用狀態(tài);打破Nachos的單線程限制,使得Nachos系統(tǒng)支持多個線程同時存在于內(nèi)存中;基于TLB機(jī)制的異常處理和頁面替換算法的實(shí)踐,實(shí)現(xiàn)缺頁中斷處理。

3)文件管理模塊擴(kuò)充

在閱讀Nachos文件系統(tǒng)相關(guān)源碼的基礎(chǔ)上,理解Nachos文件系統(tǒng)的工作原理,對文件管理模塊進(jìn)行擴(kuò)充。具體包括:擴(kuò)展文件屬性,增加文件描述信息,嘗試突破文件名長度的限制;擴(kuò)展文件長度,改直接索引為間接索引,以突破文件長度不得超過4KB的限制,并可以動態(tài)調(diào)整文件長度;對文件的創(chuàng)建操作和寫入操作進(jìn)行適當(dāng)?shù)男薷?,以使其符合?shí)踐要求。

2.2 基于微型操作系統(tǒng)內(nèi)核的實(shí)踐教學(xué)內(nèi)容設(shè)計

微型操作系統(tǒng)內(nèi)核設(shè)計是從建立操作系統(tǒng)整體概念的思想出發(fā),選擇最能反映操作系統(tǒng)核心技術(shù)的實(shí)驗(yàn)內(nèi)容,像“搭積木”一樣逐步構(gòu)建操作系統(tǒng)[5-6]?;赨buntu操作系統(tǒng)上搭建的Bochs虛擬環(huán)境作為微型操作系統(tǒng)的硬件平臺,設(shè)計下述幾個循序漸進(jìn)的實(shí)驗(yàn)單元[7-8]。

1)引導(dǎo)程序

引導(dǎo)程序的本質(zhì)是將位于外存上的應(yīng)用程序或系統(tǒng)加載到內(nèi)存指定位置,并為其準(zhǔn)備好運(yùn)行環(huán)境。本實(shí)驗(yàn)單元分層次、循序漸進(jìn)展開以下實(shí)驗(yàn)內(nèi)容:在引導(dǎo)程序中實(shí)現(xiàn)實(shí)模式到保護(hù)模式的切換;加載程序到內(nèi)存指定位置,并進(jìn)行實(shí)驗(yàn)測試。該實(shí)驗(yàn)階段,學(xué)生利用匯編語言搭建引導(dǎo)程序,深刻理解計算機(jī)啟動之后至操作系統(tǒng)工作之前,計算機(jī)內(nèi)部的工作情況,為理解操作系統(tǒng)工作原理和操作系統(tǒng)內(nèi)核的設(shè)計和開發(fā)打下基礎(chǔ)。

2)進(jìn)程管理

在實(shí)驗(yàn)(1)基礎(chǔ)之上實(shí)現(xiàn)微內(nèi)核操作系統(tǒng)的進(jìn)程管理功能。該實(shí)驗(yàn)單元依次展開以下實(shí)驗(yàn)環(huán)節(jié):進(jìn)程創(chuàng)建、進(jìn)程調(diào)度、進(jìn)程同步機(jī)制、進(jìn)程通信機(jī)制。

學(xué)生在完成理論課學(xué)習(xí)及部分Linux相關(guān)源碼閱讀的基礎(chǔ)上,完成該部分實(shí)驗(yàn)。其中進(jìn)程創(chuàng)建實(shí)驗(yàn)內(nèi)容包括進(jìn)程PCB定義、內(nèi)核初始化、idel進(jìn)程創(chuàng)建、內(nèi)核進(jìn)程創(chuàng)建等;進(jìn)程調(diào)度實(shí)驗(yàn)需要進(jìn)行系統(tǒng)中斷設(shè)置、進(jìn)程隊(duì)列管理、調(diào)度算法設(shè)計等;進(jìn)程同步機(jī)制實(shí)驗(yàn)主要實(shí)現(xiàn)PV操作,并通過生產(chǎn)者消費(fèi)者問題進(jìn)行驗(yàn)證。進(jìn)程通信實(shí)驗(yàn)主要實(shí)現(xiàn)基于消息的進(jìn)程通信機(jī)制,保證內(nèi)核進(jìn)程之間的正確通信。通過該實(shí)驗(yàn)單元,學(xué)生可站在內(nèi)核角度,深刻理解進(jìn)程實(shí)體、調(diào)度機(jī)制;掌握進(jìn)程同步及通信原理,為深刻理解操作系統(tǒng)并發(fā)的概念奠定基礎(chǔ)。

3)內(nèi)存管理

在實(shí)驗(yàn)(2)基礎(chǔ)之上進(jìn)行微內(nèi)核操作系統(tǒng)內(nèi)存管理模塊的設(shè)計和開發(fā)。該實(shí)驗(yàn)單元主要包括物理內(nèi)存管理、分頁機(jī)制及地址映射、用戶進(jìn)程創(chuàng)建等內(nèi)容。在實(shí)現(xiàn)內(nèi)存管理基礎(chǔ)之上,構(gòu)建用戶進(jìn)程。通過該實(shí)驗(yàn)單元,學(xué)生可站在內(nèi)核角度,深刻理解分頁機(jī)制、地址映射等概念,把握操作系統(tǒng)內(nèi)存管理的本質(zhì)。

4)系統(tǒng)調(diào)用

在實(shí)驗(yàn)(3)基礎(chǔ)之上實(shí)現(xiàn)簡單的系統(tǒng)調(diào)用fork()、exit()等。通過該實(shí)驗(yàn)單元,幫助學(xué)生理解操作系統(tǒng)為用戶提供服務(wù)的方式,體會系統(tǒng)調(diào)用的本質(zhì)。

3 操作系統(tǒng)實(shí)踐教學(xué)的實(shí)施方案

為了保質(zhì)保量地完成操作系統(tǒng)實(shí)踐教學(xué)內(nèi)容,獲得理想的教學(xué)效果,在實(shí)施過程中采取了下述措施。

1)本著“理論和實(shí)踐兩手都要硬”的原則,對操作系統(tǒng)的實(shí)驗(yàn)課程實(shí)行單列,即脫離其理論課程母體,獨(dú)立作為一門課程設(shè)置。

2)在操作系統(tǒng)理論教學(xué)過程中滲入linux源代碼分析環(huán)節(jié)。例如,對進(jìn)程控制部分原理講解后,對 Linux0.11版本中相應(yīng)的代碼片段進(jìn)行分析,以達(dá)到原理與實(shí)現(xiàn)相結(jié)合的目的,從而給實(shí)踐教學(xué)中相應(yīng)實(shí)驗(yàn)單元的代碼實(shí)現(xiàn)提供參考。

3)為了協(xié)調(diào)理論講解和實(shí)驗(yàn)項(xiàng)目的進(jìn)度,在時間安排上進(jìn)行了跨學(xué)期設(shè)計。例如,基于Nachos操作系統(tǒng)的前兩個實(shí)驗(yàn)與理論課同學(xué)期安排;因操作系統(tǒng)理論課中的文件管理部分內(nèi)容在學(xué)期末講解,則將第三個實(shí)驗(yàn)即文件管理模塊擴(kuò)充實(shí)驗(yàn)安排在暑假,利用兩周時間集中完成,第二學(xué)期再進(jìn)行項(xiàng)目驗(yàn)收;因?yàn)榛谖⑿筒僮飨到y(tǒng)的引導(dǎo)實(shí)驗(yàn)跟操作系統(tǒng)的先修課程結(jié)合緊密,并且可以打破一個實(shí)用操作系統(tǒng)裝載運(yùn)行的神秘感,為此安排在操作系統(tǒng)開課前的寒假集中完成,其他實(shí)驗(yàn)與理論課同學(xué)期進(jìn)行。

4)UNIX程序設(shè)計課程與操作系統(tǒng)實(shí)踐教學(xué)協(xié)調(diào)安排。首先讓學(xué)生通過UNIX程序設(shè)計課程掌握系統(tǒng)調(diào)用的功能及應(yīng)用,產(chǎn)生感性認(rèn)識,使得其在完成操作系統(tǒng)實(shí)驗(yàn)單元的某些系統(tǒng)調(diào)用的實(shí)現(xiàn)時目標(biāo)明確,思路清晰。

5)加強(qiáng)實(shí)驗(yàn)過程管理,弱化對實(shí)驗(yàn)結(jié)果的評判。教師嚴(yán)格把控實(shí)驗(yàn)進(jìn)度,每個實(shí)驗(yàn)單元完成后,教師逐一嚴(yán)格驗(yàn)收程序,認(rèn)真批改實(shí)驗(yàn)報告,并進(jìn)行總結(jié)和講評,幫助學(xué)生在實(shí)踐中不斷總結(jié)經(jīng)驗(yàn),從感性認(rèn)識上升為理性認(rèn)識。

4 操作系統(tǒng)實(shí)踐教學(xué)效果

2010、2011級計算機(jī)科學(xué)技術(shù)“試點(diǎn)班”所有學(xué)生都能讀懂Nachos操作系統(tǒng)給的源碼并進(jìn)行改進(jìn)和功能擴(kuò)充,大大提高了其開發(fā)和調(diào)試底層軟件的能力、開發(fā)大型復(fù)雜軟件的能力和獨(dú)立解決實(shí)際問題的能力,部分學(xué)生的軟件開發(fā)能力達(dá)到甚至超過國內(nèi)著名重點(diǎn)大學(xué)學(xué)生的水平。國防科大計算機(jī)學(xué)院的教師來我院訪問交流,對學(xué)生的操作系統(tǒng)的設(shè)計成果進(jìn)行了觀摩,給予了充分肯定。2010級秦棟同學(xué)在求職面試時講述了自己完成Nachos操作系統(tǒng)的項(xiàng)目經(jīng)歷,收到面試官的認(rèn)可;2010級劉歡、2011級石雯、2012級楊超杰等同學(xué)在中科院軟件所研究生復(fù)試時匯報了自己的操作系統(tǒng)設(shè)計作品,均獲得了較高的復(fù)試成績。2011級田天和陳瑞同學(xué)在中科大選擇跟操作系統(tǒng)相關(guān)的研究題目并能順利完成畢業(yè)設(shè)計,這跟他們在操作系統(tǒng)實(shí)驗(yàn)中動手能力的提高不無關(guān)系。學(xué)生們的種種表現(xiàn)說明這些學(xué)生的實(shí)踐動手能力不遜于重點(diǎn)大學(xué)的學(xué)生,也是對我們實(shí)踐教學(xué)改革的極大肯定。

5 結(jié)束語

操作系統(tǒng)是計算機(jī)系統(tǒng)的核心組成部分,課程的實(shí)踐教學(xué)內(nèi)容也隨著教學(xué)改革的進(jìn)展進(jìn)行合理調(diào)整和更新。該課程實(shí)踐教學(xué)內(nèi)容的設(shè)計使學(xué)生在復(fù)雜軟件系統(tǒng)設(shè)計與實(shí)現(xiàn)方面得到一次十分重要的工程訓(xùn)練,在專業(yè)能力方面獲得顯著提升。而這一訓(xùn)練與能力的提升是其他任何課程不可替代的。該課程的教學(xué)改革仍在探索之中,提高操作系統(tǒng)實(shí)踐教學(xué)的質(zhì)量,需要從課程實(shí)踐的內(nèi)容設(shè)置、實(shí)施等方面進(jìn)行思考、探索、實(shí)踐和總結(jié),結(jié)合每一學(xué)年具體的教學(xué)進(jìn)度和學(xué)生實(shí)際能力的差異進(jìn)行調(diào)整,由淺入深、循序漸進(jìn)地展開,以達(dá)到培養(yǎng)學(xué)生的專業(yè)綜合能力,激發(fā)學(xué)生的學(xué)習(xí)興趣,提升教學(xué)質(zhì)量的目的,為學(xué)生未來從事高性能應(yīng)用軟件的開發(fā)打下堅(jiān)實(shí)的基礎(chǔ)。

參考文獻(xiàn):

[1] 張其亮,韓斌.操作系統(tǒng)課程實(shí)踐教學(xué)改革探析[J].計算機(jī)教育,2010(7):91-93.

[2] 孫自廣,唐培和,黃鎮(zhèn)謹(jǐn).操作系統(tǒng)課程的實(shí)踐教學(xué)模式探討[J].2010(8):146-148.

[3] Peiyi Tang. Study Book.CSC2404/66204:Operating Systems.2002.

[4] 趙炯.Linux內(nèi)核完全剖析——基于0.12內(nèi)核[M].北京:機(jī)械工業(yè)出版社,2009.

[5] 費(fèi)翔林,李敏,葉保留.Linux操作系統(tǒng)實(shí)驗(yàn)教程[M]. 北京:高等教育出版社,2010

[6] 陳渝,向勇.操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)[M].北京:清華大學(xué)出版社,2013.

[7] 張亞英,戚正偉.UNIX環(huán)境高級編程[M].北京:人民郵電出版社,2006.

[8] 于淵.Oranges一個操作系統(tǒng)的實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2009.

猜你喜歡
操作系統(tǒng)實(shí)施方案課程內(nèi)容
關(guān)于“十四五”新型城鎮(zhèn)化實(shí)施方案的批復(fù)
基于“課程內(nèi)容六要素”的繪本文本解讀路徑探析
下周分紅派息實(shí)施方案
下周分紅派息實(shí)施方案
黑龍江省土壤污染防治實(shí)施方案
學(xué)前教育專業(yè)體育課程內(nèi)容的構(gòu)建
依標(biāo)明辨 巧用萃取——談如何將文本內(nèi)容萃取成課程內(nèi)容
《風(fēng)電場規(guī)劃與設(shè)計》課程內(nèi)容探討