999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android平臺下操作系統課程設計的教學改革

2014-07-02 01:09:30張玉宏李歆馬宏琳
計算機教育 2014年8期

張玉宏 李歆 馬宏琳

摘要:針對目前操作系統中實踐環節存在的問題,結合“卓越計劃”的培養目標,提出利用Android平臺實施操作系統課程設計的實踐教學模式。通過構建Android虛擬實驗室,幫助學生完成Android平臺下的系統調用與進程、同步、調度、虛擬內存和文件系統5個編程項目。

關鍵詞:操作系統;Android;課程設計;實踐學習法

0 引言

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

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

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

1 使用Android實施課程設計的背景

1.1 教學現狀

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

因此,教師在講授操作系統課程時,一方面應思考如何在課程教學中體現最新的操作系統原理與方法,另一方面還應讓學生有機會親自動手完善操作系統的內核,體會操作系統的原理,同時注重強化學生的工程實踐能力,提高學生解決實際問題的工程實踐能力。

1.2 使用Android系統的優越性與必要性

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

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

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

(3)作為一個商業操作系統,Android系統不需要普通用戶和學習者維護,其不斷的開發與改善有利于學生了解操作系統開發的最新理念。

(4)隨著Android系統在移動設備應用中的日益普及,學生對使用該系統具有濃厚興趣,而學習好這個操作系統對日后開展基于Android系統的應用程序開發大有益處。

2 Android系統課程設計的實施

2.1 課程設計的內容

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

2.2 虛擬實驗室的構建

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

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

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

3 課程設計任務的完成

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

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

在課程設計的后期安排上,利用zygote進程節省系統內存(RA2d)可加強學生對進程間內存共享機制的理解。對于一些只讀(read-only)系統庫,當操作系統需要一個新的虛擬機實例時,zygote復制自身使得所有虛擬機的實例都與zygote共享一塊內存區域,從而大大節省了內存開銷。

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

最后,在課程設計的答辯環節中,我們設計出多個簡單的有關操作系統的概念性問題,除了要求學生給出問題答案,還要求學生解釋這些概念與原理如何體現在Android這個特定的移動設備操作系統中。

4 教學效果的驗證

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

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

5 結語

為了適應操作系統理論與技術的快速發展,在河南工業大學“卓越人才”培養計劃指導下,我們開展了Android平臺下操作系統課程設計的教學改革,增強了學生對操作系統原理的理解,提高了學生的工程實踐能力。卓越工程師的培養主要通過相應課程體系的實施實現,因此有針對性地對大學生課程體系進行改革至關重要,但我們也認識到學生工程動手能力培養不是立竿見影的,它是一項復雜艱巨的系統工程。若要達到熟練地使用Android系統編程,學生還需要具備良好的C/C++、Linux程序設計及數據結構等課程的知識儲備。針對“卓越工程”計劃的要求,在以后的教學實踐過程中,我們仍需堅持不懈地探索課程教學改革之路,力爭全面提高工程人才的培養質量。

參考文獻:

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

[2]楊柳,胡志剛,李璽,等.CDIO的“操作系統”教學改革探討與實踐[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]林健.面向“卓越工程師”培養的課程體系和教學內容改革[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,Frey 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].計算機教育,2009(21):86-89.

[8]姚紅巖,譚丹丹.面向卓越軟件工程師培養的操作系統教學策略[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

主站蜘蛛池模板: 精品免费在线视频| 亚洲永久色| 国产精品爆乳99久久| 亚洲最猛黑人xxxx黑人猛交 | 亚洲色图在线观看| 欧美亚洲一区二区三区在线| 久久午夜夜伦鲁鲁片无码免费| 国产网站黄| 91成人在线观看视频| 免费又黄又爽又猛大片午夜| 玖玖精品在线| 日韩人妻无码制服丝袜视频| 婷婷六月激情综合一区| 国产亚洲欧美日韩在线一区二区三区| 综合色区亚洲熟妇在线| 亚洲狼网站狼狼鲁亚洲下载| 国产亚洲精品自在久久不卡| 亚洲欧美一级一级a| 亚洲永久免费网站| 亚洲黄色成人| 又粗又硬又大又爽免费视频播放| 亚洲欧美自拍中文| 狠狠亚洲婷婷综合色香| 国产日韩欧美中文| 国产精品主播| 午夜国产精品视频| 国产一区二区三区视频| 国产精品视频3p| 日韩人妻少妇一区二区| 欧美激情福利| 激情综合图区| 天堂在线视频精品| 亚洲精品自产拍在线观看APP| 亚洲 日韩 激情 无码 中出| 国产资源免费观看| 国产欧美视频综合二区| 国产成人精品一区二区秒拍1o| 免费网站成人亚洲| 国产三级毛片| 久久夜色精品国产嚕嚕亚洲av| 日韩成人在线一区二区| 亚洲第一成年人网站| 午夜成人在线视频| 国产成人亚洲精品蜜芽影院| 国产亚洲精久久久久久久91| 国产精品视频系列专区| 国产亚洲现在一区二区中文| 久久亚洲国产视频| 女人av社区男人的天堂| 2020精品极品国产色在线观看| 91av成人日本不卡三区| 国产精品嫩草影院av | 欧美性天天| 美女扒开下面流白浆在线试听| 国产欧美中文字幕| 香蕉eeww99国产在线观看| 亚洲国内精品自在自线官| 婷婷激情亚洲| 色妞www精品视频一级下载| 久99久热只有精品国产15| 亚洲a级毛片| 欧美中文字幕无线码视频| 97国产在线视频| 久久久久夜色精品波多野结衣| 国产网友愉拍精品视频| 美女无遮挡免费网站| 国产手机在线ΑⅤ片无码观看| 国产精品区视频中文字幕| 国产区在线看| 国产成人亚洲精品无码电影| 国产91视频观看| 久青草国产高清在线视频| 亚洲中字无码AV电影在线观看| 日本欧美一二三区色视频| 国产成人AV综合久久| 狠狠色噜噜狠狠狠狠色综合久 | 午夜精品一区二区蜜桃| 国产在线精彩视频论坛| 国产午夜无码专区喷水| jizz国产视频| 久久一日本道色综合久久| 无码精品福利一区二区三区|