亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android平臺下操作系統(tǒng)課程設(shè)計的教學(xué)改革

        2014-07-02 01:09:30張玉宏李歆馬宏琳
        計算機(jī)教育 2014年8期
        關(guān)鍵詞:操作系統(tǒng)課程設(shè)計

        張玉宏 李歆 馬宏琳

        摘要:針對目前操作系統(tǒng)中實踐環(huán)節(jié)存在的問題,結(jié)合“卓越計劃”的培養(yǎng)目標(biāo),提出利用Android平臺實施操作系統(tǒng)課程設(shè)計的實踐教學(xué)模式。通過構(gòu)建Android虛擬實驗室,幫助學(xué)生完成Android平臺下的系統(tǒng)調(diào)用與進(jìn)程、同步、調(diào)度、虛擬內(nèi)存和文件系統(tǒng)5個編程項目。

        關(guān)鍵詞:操作系統(tǒng);Android;課程設(shè)計;實踐學(xué)習(xí)法

        0 引言

        由于操作系統(tǒng)本身具有理論性強(qiáng)、內(nèi)容涉及面廣、概念較為抽象以及需要多門前導(dǎo)專業(yè)基礎(chǔ)課程支撐等特點,因此對教師而言,授課難度較大,而對學(xué)生來說,則難以掌握課程要領(lǐng),甚至部分學(xué)生在學(xué)完之后感到收效甚微。與此同時,隨著信息技術(shù)的發(fā)展,計算平臺正在發(fā)生顯著變化,移動計算終端環(huán)境所占的市場份額也越來越大。據(jù)國際數(shù)據(jù)公司(International DataCorporation,IDC)2013年第三季度發(fā)布的報告顯示,目前69%的用戶使用移動設(shè)備訪問互聯(lián)網(wǎng),而配置在這些移動設(shè)備上的基礎(chǔ)軟件——操作系統(tǒng)也快速發(fā)生著變革。IDC的報告顯示,移動設(shè)備中裝配的操作系統(tǒng)Android占據(jù)統(tǒng)治地位,比例高達(dá)81.0%。這些數(shù)字表明,面向Android操作系統(tǒng)的產(chǎn)業(yè)鏈很長,而這個產(chǎn)業(yè)鏈對優(yōu)秀工程師的需求也非常旺盛。

        根據(jù)教育部“卓越工程師教育培養(yǎng)計劃”(以下簡稱“卓越計劃”)的目標(biāo),“卓越計劃”要強(qiáng)化培養(yǎng)學(xué)生的工程能力和創(chuàng)新能力,培養(yǎng)一大批能適應(yīng)及支撐產(chǎn)業(yè)發(fā)展、具有創(chuàng)新能力和國際競爭力的卓越工程師。該計劃的主要目標(biāo)和改革措施需通過專業(yè)培養(yǎng)方案的制定和具體實施方可實現(xiàn),其中面向卓越工程師后備人才培養(yǎng)的課程體系和教學(xué)內(nèi)容改革屬于核心內(nèi)容。

        在此背景下,我們以河南工業(yè)大學(xué)的兩個“卓越計劃”教學(xué)班共63名學(xué)生為教改實驗對象,使用Android操作系統(tǒng)實施操作系統(tǒng)的課程設(shè)計改革。在這個課程設(shè)計中,指導(dǎo)學(xué)生分組完成Android系統(tǒng)下的5個編程項目,分別涵蓋操作系統(tǒng)5個重要概念,即調(diào)用與進(jìn)程、同步、調(diào)度、虛擬內(nèi)存和文件系統(tǒng),旨在通過該課程設(shè)計增強(qiáng)學(xué)生對操作系統(tǒng)重要概念和原理的理解,鍛煉學(xué)生的工程實踐能力。

        1 使用Android實施課程設(shè)計的背景

        1.1 教學(xué)現(xiàn)狀

        隨著信息技術(shù)的快速發(fā)展,操作系統(tǒng)在社會信息化進(jìn)程中的地位日益凸顯。與此同時,操作系統(tǒng)相關(guān)的新概念、新技術(shù)亦不斷涌現(xiàn)。相比較而言,目前操作系統(tǒng)課程的教學(xué)存在一些問題:操作系統(tǒng)的發(fā)展日新月異,而國內(nèi)采用的一些教材內(nèi)容較為陳舊,只能反映經(jīng)典內(nèi)容,應(yīng)用實例多以類Unix為主,與主流市場應(yīng)用存在距離,無法體現(xiàn)當(dāng)代操作系統(tǒng)的發(fā)展?fàn)顩r和態(tài)勢,不能滿足社會發(fā)展對人才的培養(yǎng)需求。此外,傳統(tǒng)實驗通常是對操作系統(tǒng)實現(xiàn)方法和原理的模擬或驗證,缺少設(shè)計性、綜合性實驗,忽略對學(xué)生創(chuàng)新能力和工程實踐能力的培養(yǎng),導(dǎo)致出現(xiàn)與卓越人才培養(yǎng)目標(biāo)脫節(jié)的現(xiàn)象。

        因此,教師在講授操作系統(tǒng)課程時,一方面應(yīng)思考如何在課程教學(xué)中體現(xiàn)最新的操作系統(tǒng)原理與方法,另一方面還應(yīng)讓學(xué)生有機(jī)會親自動手完善操作系統(tǒng)的內(nèi)核,體會操作系統(tǒng)的原理,同時注重強(qiáng)化學(xué)生的工程實踐能力,提高學(xué)生解決實際問題的工程實踐能力。

        1.2 使用Android系統(tǒng)的優(yōu)越性與必要性

        操作系統(tǒng)是邏輯上緊密配合的整體,學(xué)生若想有效地把握操作系統(tǒng)全貌,需具備較強(qiáng)的軟件工程意識和工程素質(zhì),而工程意識和工程素質(zhì)的培養(yǎng)需要學(xué)生通過自己動手編程完成一些具有特定功能的項目,積累編程經(jīng)驗,這是融會貫通計算機(jī)科學(xué)知識非常重要的一個環(huán)節(jié)。因此,在操作系統(tǒng)課程設(shè)計的實踐環(huán)節(jié)中,讓學(xué)生自主編寫一些內(nèi)核程序,對幫助學(xué)生體會操作系統(tǒng)核心概念有重要意義。使用Android系統(tǒng)實踐操作系統(tǒng)課程設(shè)計的先進(jìn)性和必要性有以下幾個方面。

        (1)作為一個穩(wěn)定成熟的操作系統(tǒng),Android系統(tǒng)能使學(xué)生體驗一個真實的操作系統(tǒng)。編寫操作系統(tǒng)內(nèi)核可以令學(xué)生原來掌握的操作系統(tǒng)概念與原理不再是空中樓閣,而這正是一些基于教學(xué)型(即裁剪版)的模擬操作系統(tǒng)所不具備的。

        (2)Android系統(tǒng)是一個基于Linux內(nèi)核的開源操作系統(tǒng),學(xué)生可借助前期學(xué)到的Linux知識和文檔,還可獲取源代碼等豐富的資料,因此學(xué)習(xí)的門檻不是太高。

        (3)作為一個商業(yè)操作系統(tǒng),Android系統(tǒng)不需要普通用戶和學(xué)習(xí)者維護(hù),其不斷的開發(fā)與改善有利于學(xué)生了解操作系統(tǒng)開發(fā)的最新理念。

        (4)隨著Android系統(tǒng)在移動設(shè)備應(yīng)用中的日益普及,學(xué)生對使用該系統(tǒng)具有濃厚興趣,而學(xué)習(xí)好這個操作系統(tǒng)對日后開展基于Android系統(tǒng)的應(yīng)用程序開發(fā)大有益處。

        2 Android系統(tǒng)課程設(shè)計的實施

        2.1 課程設(shè)計的內(nèi)容

        為了方便使用Android實施操作系統(tǒng)教學(xué),我們使用哥倫比亞大學(xué)提出的Android虛擬實驗室的教學(xué)環(huán)境,我們同時使用模擬的和實際的移動設(shè)備配置開發(fā)環(huán)境。在虛擬設(shè)備環(huán)境下,學(xué)生可在自己的電腦上直接使用或部署Android的開發(fā)環(huán)境。這就要求學(xué)生能讀懂和理解AndroidLinux的組件功能,在教師的指導(dǎo)下修改或添加一些功能組件。在整個課程設(shè)計過程中,學(xué)生需要完成5個有關(guān)Android內(nèi)核編程小項目,分別涵蓋操作系統(tǒng)的5個重要概念:①基于Android設(shè)備獨特進(jìn)程層次的系統(tǒng)調(diào)用與進(jìn)程;②基于全局資源(如共享傳感器)的進(jìn)程同步;③虛擬內(nèi)存;④使用自動位置定位的文件系統(tǒng);⑤基于開放Android系統(tǒng)的單應(yīng)用程序調(diào)度模型。

        2.2 虛擬實驗室的構(gòu)建

        在操作系統(tǒng)課程設(shè)計中,能便捷地使用合適的開發(fā)工具非常重要,為此,在Android操作系統(tǒng)的虛擬實驗室里,我們?yōu)閷W(xué)生提供已配置好環(huán)境的VMware虛擬機(jī),其中預(yù)先安裝了學(xué)生完成上述5個項目所必需的Android和Linux開發(fā)工具。這套工具既包括真實移動設(shè)備的啟動〔boot〕和測試程序、Android SDK開發(fā)工具包(包括Android模擬器)、創(chuàng)建虛擬設(shè)備工具、GUI調(diào)試工具等,又包括交叉編譯的工具鏈、Android環(huán)境中的Bionic C言語開發(fā)庫等。此外,我們還提供交叉編譯環(huán)境的使用指南和設(shè)備以及模擬器的詳細(xì)使用說明。endprint

        盡管各種平臺均提供Android開發(fā)工具,但是出于教學(xué)上的方便,我們提供上述預(yù)制的開發(fā)工具包,這是出于如下原因:①減輕學(xué)生的系統(tǒng)管理與配置負(fù)擔(dān),避免學(xué)生在有限的教學(xué)時間內(nèi)迷失于具體的配置細(xì)節(jié),避免出現(xiàn)“只見樹葉不見森林”的教學(xué)情況。②配置好的虛擬平臺可為(無意)破壞開發(fā)工具安裝或系統(tǒng)安裝失敗的學(xué)生提供系統(tǒng)安全保護(hù)。對學(xué)生來說,如果經(jīng)歷系統(tǒng)配置或安裝失敗,他們只需重啟預(yù)制好的VMware工作站,就可得到原來的編程環(huán)境。此外,VMware強(qiáng)大的截圖功能可以記錄學(xué)生的學(xué)習(xí)過程,便于他們體驗實驗環(huán)節(jié)。③通過提供簡單、標(biāo)準(zhǔn)化的Makefile、shell腳本和用戶層的開發(fā)工具,預(yù)制好的虛擬平臺可避免交叉編譯帶來的不便,可令學(xué)生將更多的精力用于操作系統(tǒng)概念及原理的學(xué)習(xí)與理解。

        Android SDK主要用來開發(fā)用戶層的GUI應(yīng)用程序,不是針對Android的內(nèi)核而設(shè)計,因此一些編譯器及Android實時運(yùn)行庫的預(yù)先配置是有必要的,更重要的是標(biāo)準(zhǔn)化的環(huán)境能夠允許學(xué)生使用簡單的Makefile文件編譯調(diào)試程序,簡化了Linux內(nèi)核交叉編譯的指令。取代在shell環(huán)境下通過手動輸入的參數(shù),利用手機(jī)3D方位感知模型,使用定制的Android模擬器程序OpenIntents,可加速將方向或加速度等數(shù)據(jù)輸入到模擬器中,大大簡化學(xué)生的輸入過程。

        3 課程設(shè)計任務(wù)的完成

        我們將學(xué)生分成12個小組,每組約5人,讓學(xué)生通過預(yù)制好的Android虛擬實驗室合作完成課程設(shè)計。課程設(shè)計包括5個有關(guān)Android內(nèi)核的編程小項目,其中,部分項目要求學(xué)生能讀懂并能修改簡單的程序塊,而部分項目僅要求學(xué)生編寫簡單的用戶空間測試程序,學(xué)生不必編譯整個Android代碼或者GUI應(yīng)用程序(這是后續(xù)專門的Android應(yīng)用程序開發(fā)課程所專注的)。這5個課程設(shè)計(作業(yè))對應(yīng)于5個操作系統(tǒng)的重要概念,有所不同的是它們的某些特性具有Android或移動設(shè)備所專有的特征,這5個課程設(shè)計分別對應(yīng)的概念是系統(tǒng)調(diào)用與進(jìn)程、同步、調(diào)度、虛擬內(nèi)存和文件系統(tǒng),這5個概念與Android相關(guān)的主題分別對應(yīng)為zygote進(jìn)程與Java工作線程、設(shè)備傳感器、顯示優(yōu)先調(diào)度、通過寫時拷貝(copy-on-write)共享內(nèi)存實現(xiàn)的多進(jìn)程工作集以及定位感知的文件系統(tǒng)。

        操作系統(tǒng)課程設(shè)計的任務(wù)安排也是有條理的,不僅要讓學(xué)生在課程設(shè)計早期理解操作系統(tǒng)原理,而且在課程設(shè)計后期的程序設(shè)計實踐中添加Android系統(tǒng)獨有的特征,加深對這些重要概念的理解。舉例來說,在課程設(shè)計初期要求學(xué)生理解Android進(jìn)程樹,關(guān)注為什么所有的GUI程序都是進(jìn)程zygote的子進(jìn)程。zygote本意為受精卵,其他后生細(xì)胞均由受精卵分裂而成,其用在Android系統(tǒng)中表示其他子進(jìn)程由zygote進(jìn)程“孕育”而生。這和Linux中的fork進(jìn)程的命名有異曲同工之處,fork本意為叉子,叉子外形是一柄而多齒,因此fork父進(jìn)程也有父生多子寓意。此類形象的比擬教學(xué)便于學(xué)生理解一些晦澀的操作系統(tǒng)概念,而親自動手實踐則可加深學(xué)生對該概念的理解。zygote是一個虛擬機(jī)進(jìn)程,同時也是一個虛擬機(jī)實例的孵化器,每當(dāng)系統(tǒng)要求執(zhí)行一個Android應(yīng)用程序,zygote進(jìn)程就會fork出一個子進(jìn)程執(zhí)行該應(yīng)用程序。

        在課程設(shè)計的后期安排上,利用zygote進(jìn)程節(jié)省系統(tǒng)內(nèi)存(RA2d)可加強(qiáng)學(xué)生對進(jìn)程間內(nèi)存共享機(jī)制的理解。對于一些只讀(read-only)系統(tǒng)庫,當(dāng)操作系統(tǒng)需要一個新的虛擬機(jī)實例時,zygote復(fù)制自身使得所有虛擬機(jī)的實例都與zygote共享一塊內(nèi)存區(qū)域,從而大大節(jié)省了內(nèi)存開銷。

        同步是現(xiàn)代多任務(wù)操作系統(tǒng)的一個重要概念。移動設(shè)備中有大量的傳感器,基于Android系統(tǒng)的智能終端通過傳感器感知用戶信息,這就不可避免地涉及對某些資源的競爭使用。在Android系統(tǒng)中,學(xué)生可通過執(zhí)行一個新的同步原語——orientation event(方向事件)理解同步的概念。執(zhí)行該原語可讓多個進(jìn)程阻塞執(zhí)行(掛起),直到移動設(shè)備處于某個特定方向。在編程實踐中,我們要求學(xué)生完成一個趣味性小任務(wù):在手機(jī)屏幕沒有面朝桌面放好之前,某個進(jìn)程必須被阻塞執(zhí)行。為了完成這個小任務(wù),學(xué)生要在用戶空間寫一個守護(hù)進(jìn)程(daemon),這個進(jìn)程使用標(biāo)準(zhǔn)的Android硬件抽象庫,然后通過系統(tǒng)調(diào)用(system call)向內(nèi)核空間傳遞數(shù)據(jù)。方向事件的完成需要如下3個新的系統(tǒng)調(diào)用來支持:orientevt open(方向事件開),orientevt close(方向事件關(guān)),orientevt wait(方向事件等待)。這個守護(hù)進(jìn)程將設(shè)備的方位信息作為一個信號源(signal),以喚醒(wakeup)被阻塞的進(jìn)程。學(xué)生通過編寫幾個簡單的小程序就可測試這個新的系統(tǒng)調(diào)用接口。程序功能順利完成帶來的成就感極大提高了學(xué)生參與的熱情。

        最后,在課程設(shè)計的答辯環(huán)節(jié)中,我們設(shè)計出多個簡單的有關(guān)操作系統(tǒng)的概念性問題,除了要求學(xué)生給出問題答案,還要求學(xué)生解釋這些概念與原理如何體現(xiàn)在Android這個特定的移動設(shè)備操作系統(tǒng)中。

        4 教學(xué)效果的驗證

        對于河南工業(yè)大學(xué)兩個“卓越”工程班的63名學(xué)生,我們使用Android系統(tǒng)作為載體,實施操作系統(tǒng)課程設(shè)計教學(xué)改革。盡管在實施過程中面臨諸多困難,但是絕大多數(shù)學(xué)生的整體評價是正面的,取得了一定的改革成效。課程設(shè)計完畢后,我們設(shè)計了一個問卷調(diào)查,以了解學(xué)生對這種新模式下操作系統(tǒng)課程設(shè)計的評價,見表1。

        由表1可看出,大部分學(xué)生認(rèn)為Android操作系統(tǒng)課程設(shè)計有益于理解操作系統(tǒng)原理,可以增強(qiáng)基于Android系統(tǒng)的項目動手編程能力,但是我們也收到一些負(fù)面反饋,如部分學(xué)生認(rèn)為Android設(shè)備模擬器運(yùn)行速度太慢,調(diào)試Android嵌入式內(nèi)核的過程過于復(fù)雜,不容易掌握。此外,在日常生活和學(xué)習(xí)中,學(xué)生接觸更多的還是桌面操作系統(tǒng)(如Windows等)。因此,相比較而言,學(xué)生對類Linux系統(tǒng)的Android系統(tǒng)相對陌生,這種生疏感也使得部分學(xué)生對日后開展類似Android課程設(shè)計持否定或中立態(tài)度,這個比例達(dá)到20.64%。實際上,負(fù)面反饋的問題正是我們教學(xué)的薄弱環(huán)節(jié),也是我們下一步教學(xué)改革需要重點考慮的方向之一。endprint

        5 結(jié)語

        為了適應(yīng)操作系統(tǒng)理論與技術(shù)的快速發(fā)展,在河南工業(yè)大學(xué)“卓越人才”培養(yǎng)計劃指導(dǎo)下,我們開展了Android平臺下操作系統(tǒng)課程設(shè)計的教學(xué)改革,增強(qiáng)了學(xué)生對操作系統(tǒng)原理的理解,提高了學(xué)生的工程實踐能力。卓越工程師的培養(yǎng)主要通過相應(yīng)課程體系的實施實現(xiàn),因此有針對性地對大學(xué)生課程體系進(jìn)行改革至關(guān)重要,但我們也認(rèn)識到學(xué)生工程動手能力培養(yǎng)不是立竿見影的,它是一項復(fù)雜艱巨的系統(tǒng)工程。若要達(dá)到熟練地使用Android系統(tǒng)編程,學(xué)生還需要具備良好的C/C++、Linux程序設(shè)計及數(shù)據(jù)結(jié)構(gòu)等課程的知識儲備。針對“卓越工程”計劃的要求,在以后的教學(xué)實踐過程中,我們?nèi)孕鑸猿植恍傅靥剿髡n程教學(xué)改革之路,力爭全面提高工程人才的培養(yǎng)質(zhì)量。

        參考文獻(xiàn):

        [1]劉琦.操作系統(tǒng)教學(xué)改革的思考與研究[J].中國科技信息,2011(18):155-156.

        [2]楊柳,胡志剛,李璽,等.CDIO的“操作系統(tǒng)”教學(xué)改革探討與實踐[J].計算機(jī)教育,2009(14):24-26.

        [3] International Data Corporation.Android pushes past 80%manet share while Windows phone shipments leap 156.0%year over year in the third quarter,according to IDC[EB/OL].(2013-11-12)[2013-12-05].http:∥www.idc.corn/getdoc.Jsp?containerld- prUS24442013.

        [4]林健.面向“卓越工程師”培養(yǎng)的課程體系和教學(xué)內(nèi)容改革[J].高等工程教育研究,2011(5):1-9.

        [5]Aviv A J,Mannino V,Owlarn T,et al.Experiences in teaching an educational user-level operating systems implementation project[J]. ACM SIGOPS Operating Systems Review,2012,46(2):80-86.

        [6]Cox R,F(xiàn)rey C,Yu X,et al.Xv6,a simple Unix-like teaching operating system[EB/OL].[2013-09-05].http:∥pdos.csail.mit. edu/6.828/2012/xv6.html.

        [7]徐惠,郭榮祥,周建美.基于計算機(jī)專業(yè)學(xué)生創(chuàng)新能力培養(yǎng)的課堂教學(xué)改革[J].計算機(jī)教育,2009(21):86-89.

        [8]姚紅巖,譚丹丹.面向卓越軟件工程師培養(yǎng)的操作系統(tǒng)教學(xué)策略[J].計算機(jī)教育,2013(15):31-35.

        [9]Andrus J,Nieh J.Teaching operating systems using android[C],/Proceedings of the 43rd ACM Technical Symposium on Computer Science Education.New York:ACM,2012:613-61 8.

        [10] OpenIntents.Sensor Simulator[EB/OL].(2013-01-21)[2013-09-05].http:∥code.google.com/p/openintents/wiki/SensorSimulator.

        (編輯:宋文婷)endprint

        猜你喜歡
        操作系統(tǒng)課程設(shè)計
        龍鳳元素系列課程設(shè)計
        智能手機(jī)操作系統(tǒng)的分析與比較
        卷宗(2016年10期)2017-01-21 14:04:15
        國產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
        計算機(jī)維護(hù)中操作系統(tǒng)還原技術(shù)的分析
        對計算機(jī)進(jìn)行操作系統(tǒng)重裝的維護(hù)
        基于Articulate Storyline的微課程設(shè)計與開發(fā)
        基于自動化系統(tǒng)的PLC課程設(shè)計
        開放大學(xué)課程設(shè)計與資源開發(fā)
        国产亚洲av人片在线播放| 中文字幕一区在线观看视频| 精品一区二区三区无码视频| 最新国产成人综合在线观看| 国产麻豆极品高清另类| 亚洲午夜无码毛片av久久| 国产最新进精品视频| 91视频爱爱| 亚洲一区二区av免费观看| 伊人久久大香线蕉av波多野结衣| 久久久天堂国产精品女人 | 无码人妻中文中字幕一区二区| 小黄片免费在线播放观看| 无码中文字幕人妻在线一区| 欧美日韩一区二区三区自拍| 欧美日韩中文字幕日韩欧美| 国产av一区二区网站| 乱码1乱码2美美哒| 中国极品少妇videossexhd| 久久国产精品男人的天堂av| 亚洲av男人的天堂一区| 末成年女a∨片一区二区| 九九99久久精品在免费线18| 日本一区二区三区在线视频观看 | 最近中文字幕完整版| 四虎成人精品国产永久免费| 亚洲精品在线视频一区二区| 粗大猛烈进出白浆视频| 亚洲男女免费视频| 亚洲二区精品婷婷久久精品| 久久精品国产亚洲av果冻传媒| 国产va免费精品观看| 中文字幕日韩人妻高清在线| 日本a级一级淫片免费观看| 伊人久久久精品区aaa片| 亚洲欧美另类精品久久久| 亚洲一区二区三区精品久久av | 成人黄色片久久久大全| 亚洲熟妇丰满多毛xxxx| 亚洲日韩乱码中文无码蜜桃臀 | 东京热无码av一区二区|