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

?

操作系統(tǒng)與嵌入式系統(tǒng)實驗教學的融合探索

2017-05-12 11:36宮曉利徐浩聰張金盧冶劉哲理
計算機教育 2017年4期
關(guān)鍵詞:操作系統(tǒng)嵌入式系統(tǒng)實驗教學

宮曉利+徐浩聰+張金+盧冶+劉哲理

(南開大學 計算機與控制工程學院,天津 300350)

摘 要:分析目前操作系統(tǒng)和嵌入式系統(tǒng)課程的實驗教學過程中的問題與挑戰(zhàn),闡述兩個課程各自特點以及知識的綜合運用,提出以開源平臺為基礎(chǔ)同時結(jié)合配套設(shè)施資源的新型教學模式,說明具體教學改革方法。

關(guān)鍵詞:操作系統(tǒng);嵌入式系統(tǒng);實驗教學;開源平臺;Tizen

0 引 言

操作系統(tǒng)課程是計算機學科的核心專業(yè)課之一[1]。操作系統(tǒng)中知識的學習兼具理論理解與實踐運用,也是進一步學習其他課程的基礎(chǔ),在計算機專業(yè)教學中占有舉足輕重的地位[2]。由于操作系統(tǒng)的概念抽象,涉及的代碼量巨大且難以理解;在教學時間上處于三年級上學期,學生的編程開發(fā)經(jīng)驗不足,增加了教學的難度。

嵌入式系統(tǒng)是一門集軟硬件技術(shù)于一體,涉及集成電路、計算機技術(shù)、自動控制等多種知識的綜合課程。自21世紀初進入我國高校的教學體系以來,隨著產(chǎn)業(yè)界的不斷發(fā)展課程內(nèi)容日漸豐富,成為計算機相關(guān)專業(yè)的一門重要課程。由于嵌入式系統(tǒng)的設(shè)計強調(diào)以“應用”為中心和導向,注重與產(chǎn)業(yè)結(jié)合以及在工程實踐中的應用,這使得教學過程中存在理論性不足的問題,在實踐教學中更容易變成按部就班的驗證性實驗,或是某商業(yè)產(chǎn)品的展示與應用。

將兩門課程的內(nèi)容銜接,特別是在實驗教學中進行內(nèi)容的調(diào)整融合,能夠提高教學過程的系統(tǒng)性和連貫性。嵌入式系統(tǒng)中涉及硬件原理、嵌入式操作系統(tǒng)、嵌入式應用軟件等多個組成部分,教學環(huán)節(jié)中要完成每部分知識的原理分析和系統(tǒng)驗證,課時相對緊張。將操作系統(tǒng)實驗課程的內(nèi)容與之融合關(guān)聯(lián),既為操作系統(tǒng)中的原理找到了實踐驗證環(huán)境,又為嵌入式系統(tǒng)的實驗課程補充了原理分析環(huán)節(jié)。

為了達到良好的教學效果,讓學生對各類概念的理解達到融會貫通,在教學過程中往往建立一套系統(tǒng)的課程體系,操作系統(tǒng)作為先導必修課,后續(xù)配套 Unix/Linux 操作系統(tǒng)、嵌入式系統(tǒng)原理等專業(yè)選修課,并且每門課程都配有相應的實驗實踐教學。

1 操作系統(tǒng)與嵌入式系統(tǒng)教學中的新挑戰(zhàn)

嵌入式系統(tǒng)、移動云計算、物聯(lián)網(wǎng)等新興產(chǎn)業(yè)的發(fā)展和新技術(shù)的應用,拓展了操作系統(tǒng)的范圍。學生日常生活中使用的智能設(shè)備增多,不再局限于普通 PC 機的使用。依據(jù) PC機的使用方式建立的漸進式學習方法需要隨之相應擴充。操作系統(tǒng)的形式發(fā)生變化的同時,其內(nèi)涵也隨之發(fā)生一些變化。現(xiàn)代操作系統(tǒng)中,對進程、調(diào)度算法等概念的探討相對弱化,而增強了對于外設(shè)、交互、實時性、能耗管理等方面的設(shè)計要求,這些新特性需要給學生形成清晰的認識和直觀的感受。計算機操作系統(tǒng)作為計算機相關(guān)專業(yè)的基礎(chǔ)課程,應沿著計算機產(chǎn)業(yè)走向,緊密結(jié)合最新技術(shù),充實其教學內(nèi)容[3]。

商業(yè)化產(chǎn)品宣傳中使用的概念與嵌入式系統(tǒng)教學存在偏差。智能手機、平板電腦等產(chǎn)品更新?lián)Q代迅速。在商業(yè)化宣傳中,處理器核心、硬件平臺、操作系統(tǒng)、應用界面等概念往往被混淆使用。這些商業(yè)產(chǎn)品以及配套軟件開發(fā)的盛行,也使一部分學生對于嵌入式系統(tǒng)的理解局限于智能手機,而對于嵌入式軟件的理解也局限于移動應用軟件。嵌入式系統(tǒng)需要設(shè)計與產(chǎn)業(yè)結(jié)合的教學案例,更需要透過現(xiàn)象看本質(zhì),從技術(shù)和機理層面進行分析,并且與所學的基礎(chǔ)課程和理論知識相對應,因而能夠加深理解。

人才需求轉(zhuǎn)向?qū)σ延邢到y(tǒng)框架的理解、定制和二次開發(fā)。隨著產(chǎn)業(yè)環(huán)境的完善,人才需求不斷擴大。對操作系統(tǒng)和嵌入式系統(tǒng)的教學要求不再滿足于對原理的認知和簡單應用,但也不需要從零開始獨立構(gòu)建一個完整的系統(tǒng),而是需要在現(xiàn)有項目的基礎(chǔ)上進行產(chǎn)品化定制和二次開發(fā),特別是在開源軟件項目的基礎(chǔ)上進行改進。這需要學生在實際動手能力方面能夠了解開源軟件的管理方法,掌握資源獲取和使用的方法,在實踐中學會主流開源系統(tǒng)的原理、開發(fā)和部署的基本方法等。

傳統(tǒng)的操作系統(tǒng)實踐教學偏重局部的理論分析和簡單模擬,而嵌入式系統(tǒng)實踐教學則側(cè)重應用導向,缺少原理分析。傳統(tǒng)的操作系統(tǒng)實驗教學為了強化原理性驗證,大多通過局部模擬的方式,在虛擬環(huán)境中進行操作,缺少與實際使用的結(jié)合,使得很多算法和流程雖然經(jīng)過實踐仍然只能停留在概念狀態(tài),缺少與實際使用系統(tǒng)的直接聯(lián)系,導致學生興趣降低。嵌入式系統(tǒng)的實驗教學中,往往又將操作系統(tǒng)作為黑盒處理,進行簡單定制或是直接使用。學生可以完成部署和驗證,但仍然“不知其所以然”,沒有收到應有的教學效果。

2 教學平臺選型

在綜合考慮學時、課程設(shè)置和教具使用等多種因素的基礎(chǔ)上,操作系統(tǒng)和嵌入式系統(tǒng)原有實踐課程體系保留并適度壓縮,并通過擴展實驗進行銜接。其中,操作系統(tǒng)的基礎(chǔ)知識環(huán)節(jié)借鑒美國麻省理工大學使用的原型操作系統(tǒng) jos 的課程實驗,并對其進行相應的簡化,讓學生完成對操作系統(tǒng)基本原理的理解與驗證。嵌入式系統(tǒng)的實驗使用基于uCLinux 操作系統(tǒng)的嵌入式開發(fā)板進行車載控制系統(tǒng)的模擬與開發(fā),這里引入的擴展實驗使用目前在部分智能移動產(chǎn)品中使用的Tizen操作系統(tǒng)平臺,并在對該平臺的移植部署過程中加入對操作系統(tǒng)各環(huán)節(jié)和運行狀態(tài)的分析,通過直觀感受提升學生的興趣。

實驗中使用Tizen開源系統(tǒng)為目標軟件平臺。Tizen是由 LiMo Foundation 和 Linux Foundation 兩個開源 Linux 聯(lián)盟聯(lián)合發(fā)布,由三星電子、英特爾等產(chǎn)業(yè)巨頭共同開發(fā)的一套完全開源的軟件環(huán)境[4],能夠提供對手機、平板電腦、車載電腦、智能家電等多種設(shè)備的支持。軟件體系中包含引層、操作系統(tǒng)、文件系統(tǒng)、應用程序、開發(fā)工具等多種資源,可以獲得平臺的全部源代碼,并配套有相應的開發(fā)文檔的開發(fā)者社區(qū),也有眾多大學參與其中,提供了豐富的教學資源。Tizen 中選用的操作系統(tǒng)內(nèi)核是 Linux,在操作系統(tǒng)的課程講授中已進行了針對性的原理分析和代碼解讀;Tizen 的應用程序框架基本使用 C/C++編程語言實現(xiàn),與學生所掌握的前繼編程基礎(chǔ)更加契合,這些都降低了學習的難度。

以O(shè)droid-U3為實踐教學的目標硬件平臺。Odroid-U3是由Hardkernel公司設(shè)計的基于Samsung Exynos4412處理器的開發(fā)板,具有4個Cortex-A9架構(gòu)的處理器核心,1.7GHz主 頻,2G內(nèi)存,并通過線纜外接的方式集成了顯示屏、觸摸屏、WiFi、藍牙等外設(shè),能夠模擬主流的平板電腦、智能電視等設(shè)備。通過開發(fā)板的拆裝使用,使學生了解日常使用的智能設(shè)備的模塊組成和工作原理,并通過實驗課程完成對該設(shè)備的啟動、定制和后續(xù)開發(fā)。因為開發(fā)板的形式和功能與學生日常使用的智能設(shè)備類似,可以提高學生的學習興趣并形成系統(tǒng)的認知,改善了單純使用模擬器的抽象教學方法。作為實踐操作的目標平臺,目前教學小組已成功完成Tizen到 Odroid-U3 開發(fā)板移植工作,并準備了完整的移植過程分析資料和教學案例。

3 實踐教學設(shè)計

實驗在整個操作系統(tǒng)教學過程中舉足輕重,也是加深學生概念、原理理解,反映學生學習效果的重要環(huán)節(jié)[2]。實驗教學內(nèi)容的設(shè)計,作為課堂教學和作業(yè)的補充,主要用于完成理論知識和抽象概念與開發(fā)應用實戰(zhàn)的對接。在實驗設(shè)計中,主要體現(xiàn)系統(tǒng)性較強的啟動、進程管理、資源管理、文件系統(tǒng)等知識環(huán)節(jié),并通過完成Tizen在目標開發(fā)板上的移植進行實踐。通過對其中關(guān)鍵部分代碼的閱讀、分析、補全、重構(gòu)等任務,加深知識理解和綜合運用, 同時理解并掌握開源軟件的開發(fā)管理模式。經(jīng)過對實驗內(nèi)容的反復調(diào)整,與學生溝通反饋, 現(xiàn)在實驗內(nèi)容已基本穩(wěn)定。

3.1 環(huán)境搭建和版本管理工具的使用

熟悉開發(fā)環(huán)境并完成實驗環(huán)境中的工具安裝部署,掌握其使用方法。本部分課程主要學習對開源軟件管理和發(fā)布方法的學習,對版本管理的認識和對版本管理工具的使用。培養(yǎng)學生懂得如何獲取開源軟件成為參考資源,掌握閱讀開源代碼的方法,學會代碼版本管理的方法和原則,這是軟件工程開發(fā)中至關(guān)重要的規(guī)范化思想。Tizen 開源項目有多個子項目,多個版本分支共同管理和流轉(zhuǎn),并按照特定的結(jié)點發(fā)布與錯誤修正,是非常有代表性的軟件工程項目管理的案例,可以加深學生的實踐體驗。

3.2 引導過程分析

截取引導程序片段,通過匯編語言編程實現(xiàn)對硬件的簡易控制;通過對簡易引導程序的分析和修改,實現(xiàn)對Tizen內(nèi)核的引導;分析bootloader代碼,學習操作系統(tǒng)的引導過程,并加深對內(nèi)存空間管理、處理器模式轉(zhuǎn)換、MMU等關(guān)鍵技術(shù)的理解。本部分實驗內(nèi)容需要先進行簡單的ARM硬件知識和ARM匯編指令的學習,同時簡單擴展關(guān)于可信計算與Trustzone硬件可信模塊技術(shù),開闊學生視野。

3.3 Tizen系統(tǒng)編譯、分區(qū)管理與內(nèi)容部署

介紹Tizen系統(tǒng)的整體編譯管理框架,了解產(chǎn)品描述配置文件、多設(shè)備兼容代碼管理、源代碼間的依賴關(guān)系、腳本處理方法等產(chǎn)品級代碼管理方法。通過對Tizen中涉及的各類程序和資源文件的分配,設(shè)計并完成對Tizen的系統(tǒng)存儲分區(qū)和內(nèi)容部署,學習不同文件系統(tǒng)之間的差異和操作系統(tǒng)中對不同文件系統(tǒng)的初始化和兼容加載方法,學習各類進程對存儲的使用方法。由于Tizen平臺源代碼編譯耗時約 4 小時,考慮到課程時間問題,僅對Tizen的平臺管理和軟件工具進行原理講解和分析,并將編譯結(jié)果供學生下載用于完成部署實驗。

3.4 系統(tǒng)初始化流程分析

分析操作系統(tǒng)內(nèi)核加載完成后,第一個進程的創(chuàng)建過程,并實現(xiàn)對配置文件的分析和修改。通過代碼補全的方式完成對系統(tǒng)啟動和進程運行環(huán)境創(chuàng)建過程的原理分析。通過對Tizen的分析,了解對現(xiàn)代智能設(shè)備復雜的初始化過程,分析配置腳本之間的依賴關(guān)系,系統(tǒng)的靈活性、兼容性設(shè)計等,并理解操作系統(tǒng)中的守護進程類服務的啟動過程。

3.5 遙控鍵盤項目開發(fā)

通過藍牙建立實驗開發(fā)板與學生自己的智能手機之間的數(shù)據(jù)傳輸通道,通過在手機上點擊相應的按鈕在開發(fā)板端產(chǎn)生虛擬鍵盤事件。這一項目的開發(fā),需要綜合運用內(nèi)核驅(qū)動、網(wǎng)絡(luò)傳輸、系統(tǒng)調(diào)用、系統(tǒng)服務管理等多個模塊的系統(tǒng)知識。該實驗項目同時還擴展了移動應用開發(fā)、網(wǎng)絡(luò)編程、應用協(xié)議設(shè)計、服務管理、界面優(yōu)化等多方面內(nèi)容,耗時約 8 周交由學生課下完成,并向?qū)W生提供部分參考代碼。

這一系列的實驗設(shè)計涵蓋了操作系統(tǒng)中的引導、初始化、進程、存儲、IO、中斷等多個復雜知識點,并通過真機實踐的方式,以學生日常生活所熟悉的系統(tǒng)完成教學,提高了學生的學習積極性。

4 教學實踐效果與改進計劃

教學實踐改革分兩次推行。第一次進行了小范圍試點嘗試,2015年1—6月,從已完成操作系統(tǒng)課程學習的學生中選出11名志愿者參加,由教師進行小班授課和指導,每位學生獨立承擔實驗。經(jīng)過一個學期的學習,有9名同學成功完成了所有實驗環(huán)節(jié),編程能力和解決系統(tǒng)問題的能力有了明顯提升。

第二次實踐改革嘗試在2015 年9—12月進行,面向正在學習操作系統(tǒng)課程的學生。由于實驗設(shè)備有限并且課程壓力較重,改為5人一組承擔實驗任務,全班共分為9組,在完成jos移植的同時完成Tizen移植任務。學生對此實驗表現(xiàn)了極大的熱情,投入大量的課余時間,整個開發(fā)過程持續(xù)到2016年2月寒假結(jié)束才完成,有4組學生完成了移植工作。由于學生的時間精力不足且實驗平臺的版本變遷,實驗效果受到了一定的影響。

針對發(fā)現(xiàn)的問題,教學組進行了針對性修改:重新修正了課程資料中的錯誤;建立了校內(nèi)資源鏡像;調(diào)整實驗任務的發(fā)放時間點,與操作系統(tǒng)的理論講授課程相對應,并在課上進行針對性的案例教學;建立針對實驗任務的在線問答系統(tǒng),供學生進行討論交流,并按照時間節(jié)點投放問題的正確答案。以上修改和系統(tǒng)建設(shè)已經(jīng)完成,在 2016年9月開始的實踐教學中收到了更好的效果。

5 教學實踐問題分析

(1)開源軟件版本差異,隨時更新引起的變化?;钴S的開源軟件隨時發(fā)生變化,不活躍的開源軟件能從開源社區(qū)中消失,這使得教學過程中容易出現(xiàn)授課內(nèi)容與代碼不對應或者無法獲取資源等問題。為了保證教學的連續(xù)性,需要建立教學中的開源代碼鏡像,隨時更新維護,并在學生實驗過程中明確版本和開發(fā)狀態(tài),以確保實驗順利進行。

(2)產(chǎn)品特征影響教學案例典型性。在產(chǎn)品化的過程中存在一些技術(shù)整合和混雜,隨著開發(fā)的代碼和模型逐漸復雜,使得難以在商業(yè)化系統(tǒng)中找到非常貼切的教學用模型。同時編程方法和兼容性的變化也使代碼變得復雜,分析講解時過于復雜。這需要選擇合適的版本和資料進行教學,并需要教學人員隨時跟進開源軟件的進展,如果能夠講解代碼更迭的過程,收到的教學效果會更好。

6 結(jié) 語

通過在課程體系的實驗教學中加入大型開源項目和開源平臺的分析,幫助學生加深對操作系統(tǒng)類課程概念的理解,并掌握嵌入式系統(tǒng)的原理和開發(fā)方法。通過在學生熟悉的平板電腦開發(fā)平臺上進行定制開發(fā),幫助學生理解操作系統(tǒng)的作用和在產(chǎn)業(yè)環(huán)境中的應用,提高了學生的積極性,收到了良好的教學效果。

基金項目:教育部高等學校博士學科點專項科研基金資助課題(20130031120028);天津市應用基礎(chǔ)與前沿技術(shù)研究計劃(14JCQNJC00700, 16JCYBJC15200);計算機體系結(jié)構(gòu)國家重點實驗室開放課題(CARCH201504, CARCH201604)。本次教學活動得到了天津三星電子有限公司的資助。

第一作者簡介:宮曉利,男,講師,研究方向為嵌入式系統(tǒng)、移動云計算、物聯(lián)網(wǎng),gongxiaoli@nankai.edu.cn。

參考文獻:

[1]陸億紅, 黃德才. 操作系統(tǒng)教學方法的若干思考[J]. 計算機教育, 2011(5): 80-82.

[2]王宇英, 谷建華, 周興社, 等. 操作系統(tǒng)教學探索及其在嵌入式教學中的實踐[J]. 計算機教育, 2011(11): 98-101.

[3]張偉娜. 以云計算為導向的計算機操作系統(tǒng)教學研究[J]. 軟件, 2014(7): 85-88.

[4]Linux Foundation. TizenProject[EB/OL]. [2016-11-09]. https://www.tizen.org/blogs/tsg/2013/tizen-2.2.1-platform-release.

[5]馮紅偉, 王鵬. 操作系統(tǒng)教學與實驗設(shè)計研究[J]. 實驗室研究與探索, 2007(12): 251-253.

[6]潘登, 陳啟軍. 面向卓越人才培養(yǎng)的嵌入式系統(tǒng)教學改革[J]. 計算機教育, 2013(13): 1-5.

[7]李文生, 鄧春健, 呂燚. 案例驅(qū)動的嵌入式系統(tǒng)教學改革探索[J]. 計算機教育, 2011(2): 22-25.

(編輯:郭田珍)

猜你喜歡
操作系統(tǒng)嵌入式系統(tǒng)實驗教學
基于科學探究的高中生物實驗教學探索
網(wǎng)絡(luò)與云技術(shù)在實驗教學中的應用
初中化學實驗教學中“微課”教學模式的探討
談初中化學實驗教學的初探
智能手機操作系統(tǒng)的分析與比較
國產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應用研究
基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學改革的研究與實踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學實踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學研究
瑞丽市| 云浮市| 大化| 曲周县| 北票市| 天津市| 赤壁市| 中宁县| 揭东县| 鄂伦春自治旗| 喀喇| 汾西县| 伊川县| 威信县| 会泽县| 邢台县| 宁国市| 芜湖县| 南昌县| 安仁县| 河源市| 安远县| 嘉定区| 武强县| 彭山县| 昌邑市| 东乌珠穆沁旗| 徐汇区| 玛多县| 罗山县| 平定县| 万宁市| 忻州市| 景德镇市| 凤城市| 郯城县| 萨嘎县| 台中市| 太原市| 宝清县| 慈溪市|