基于智能手机的嵌入式操作系统内核教学

时间:2024-03-12 点赞:49405 浏览:100320 作者原创标记本站原创

本文是一篇操作系统论文范文,操作系统有关毕业论文模板,关于基于智能手机的嵌入式操作系统内核教学相关专科毕业论文范文。适合操作系统及嵌入式及实践教学方面的的大学硕士和本科毕业论文以及操作系统相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:针对传统嵌入式系统实验与现实产品脱节的问题,介绍在嵌入式操作系统内核实践课程中进行课程内容、教学过程改革的方法,提出一套基于智能手机教学实践平台的教学方法.

关 键 词:嵌入式操作系统;智能手机;教学改革;能力培养

0、引言

智能手机已经走进千家万户,大部分人都配备了智能手机,针对智能手机的应用开发发展也非常迅速.作为一种典型的嵌入式设备,智能手机不但具有较高的性能,而且成本较为低廉,在体积、重量、功耗、用户体验上有特殊的要求,非常适合作为嵌入式系统/嵌入式操作系统实践教学的载体.

在国防科学技术大学2012专业学位研究生教学方案中,我们针对专业学位研究生教育的特点,开设新的实践类课程嵌入式操作系统内核开发实践,利用智能手机作为实践教学平台,开展全新的实践教学活动.


1.嵌入式操作系统内核开发实践课程的特点

目前,在各大院校、各个专业中开设的嵌入式系统类课程主要分为3类,一类是嵌入式硬件(ARM或者单片机)相关课程,一类是嵌入式操作系统(嵌入式Linux、uC/OS-II)相关课程,另一类是嵌入式应用开发相关课程.这些课程使用的硬件平台大多是各类开发板和开发箱.这类硬件平台的主要优点是具有较强的可塑性、可根据实验要求、具有丰富的接口、能够使用各种测量仪器进行测量等,但是使用这类硬件作为硬件平台的主要问题就是学生缺乏兴趣,硬件平台性能较低,只能开展一些层次较低的实验(如串口通信、流水灯、电子琴、电机驱动、数字钟、硬件小游戏等),而且成本较高.特别需要指出的是,由于这类硬件平台与真实智能手机系统差距较大,因此许多在硬件平台上进行的实验和改进的技术,不能直接应用到现有的智能手机上.

结合国防科学技术大学专业学位研究生的特点及计算机教育的特长,我们以Android智能手机为平台,开设了多门嵌入式类的实践课程,包括嵌入式操作系统内核开发实践、移动应用开发实践等,特别是嵌入式操作系统内核开发实践课程,专注于智能手机Linux内核开发实践.该课程特点主要体现在以下几个方面.

(1)专注Android手机的Linux内核部分.Android是一个较大的系统框架,我们进行完整的教学需要花费很长时间,而且Android系统本身还在不断快速发展,需要很多的知识和能力积累,为此,我们结合未来专业学位研究生就业的特点,选择Android手机的Linux内核部分进行教学实践,既可以避开复杂的手机硬件,又可以增强实用性.

(2)实践性强.传统的嵌入式操作系统学习需要讲解操作系统内核的结构、各种经典的操作系统构件等,这些内容非常繁杂,不容易讲透,也不容易实践.在该课程中,学生在第一堂课就要实际操作手机,在课程全过程中要不断地在智能手机平台上开展实践,特别注重实践性.

(3)实用性强.我们选用的智能手机平台是主流的双核1GHz、512MB智能手机,在其上进行的所有实验,可以直接或者稍作修改就移植到新的智能手机系统中,具有很好的实用性.学生在将来就业时,可以直接利用课堂学习成果进行研发工作.

2.实践平台选择及课程内容设计

目前智能手机阵营主要分为苹果的iOS阵营和谷歌的Android阵营.根据课程教学的需要,我们选择开源的Android智能手机作为实践平台.在该课程中,最终选择来自韩国LG的SU660手机作为实践教学平台,主要有如下几个方面的原因.

(1)硬件开源、操作系统内核开源.SU660可以在网上找到完整的手机电路原理图,包括所有选用的硬件芯片参数、型号、PCB图纸等,大部分选用的芯片可以找到数据手册.操作系统内核也在不断更新,其最新版本的2.6.39.4内核可以在网站上直接下载.这些为开展操作系统内核的教学实践奠定了良好基础.

(2)价格便宜.这是在课堂教学中大规模使用的前提,该手机的裸机价格约600元,大大低于各种高档手机的价格,也大大低于各种高档嵌入式开发板和开发箱的价格.

(3)性能配置较强.该手机是全球首款双核手机,配置了双核1GHz处理器、512MB内存、4英寸显示屏、16GB内置闪存、丰富的传感器等.学生对此类手机较为熟悉,容易接受.

(4)具有较大的用户群.在国外著名的XDA网站上,有专门的版面讨论该手机的Android开发等问题.对于具体问题,学生和教师都可以在网上进行研讨并寻求答案.

在课程内容的设计上,我们采用专题的方式,围绕与智能手机息息相关的一些专题展开教学,具体内容包括以下几个方面.

(1)Linux内核的、移植与编译.该专题主要介绍Linux内核开发的一般流程,包括如何内核、编译内核和移植内核的一般思路等.

(2)面向性能优化的增强性设计.该专题主要围绕如何提高CPU性能和I/O性能、如何评测系统性能等方面展开,还涉及超频、I/O调度算法的选择等内容.

(3)面向功耗优化的增强性设计.该专题主要围绕如何降低系统的功耗展开,首先介绍系统中与电源管理相关的内容,然后重点就DVFS、各个硬件模块的低功耗设计进行实践.

(4)面向安全性的增强性设计.该专题主要介绍Android、Linux、Bootloader等各个层次的安全性措施,智能手机Root的原理,针对智能手机的、解锁、Root等技术.

(5)面向增强用户体验的设计优化.该专题主要介绍各种增强用户体验的技术,如ProiectButter、未接来电提示灯、手电筒等,这些技术往往涉及特定的硬件驱动和内核技术,具有一定难度.

(6)基于GitHub的操作系统内核协同开发实践.GitHub已经成为开源软件的集散地,其方便的协同开发功能吸引了全球的程序员共同完成应用开发.很多手机Linux内核开发也在GitHub上进行.3、课程教学过程

作为一门实践性课程,学生在课程伊始就需要在真实的手机上进行操作,通过简单的烧写系统更新手机系统,可以立刻体会到课堂内容的趣味性,提升了学习兴趣;然后,我们介绍基本的Linux操作系统内核与编译,通过使用编译脚本大大简化编译步骤,实现“零基础”新手快速入门;使用菜单化的内核配置工具,让学生了解内核配置的方法和过程,不再畏惧“庞大”的操作系统.

在后续各个专题中,我们会突出实践的趣味性和实用性.例如,在讲解性能增强专题时,开展安兔兔跑分竞赛,看谁的跑分高,同时根据跑分结果的不同介绍芯片工艺、批次不同带来超频能力不同的基本原理;在讲解低功耗增强设计专题时,开展待机时间竞赛,使用实验室提供的高精度毫安级直流电源,精确计算每个学生降频后手机的功耗,分析手机中各个硬件模块带来的功耗及其优化方法;在安全性相关专题中,介绍利用内核设备突破手机限制的方法,让学生通过动态修改内核,完成对手机的;在增强用户体验专题中,让学生阅读手机特定芯片数据手册,设计出带有亮度控制的手电筒;在协同设计专题中,学生在OitHub上注册自己的账号,然后将自己对内核的修改提交到教师的代码仓库中,由教师审核,最后再进行代码合并和提交.

另一方面,在课程的教学过程中,我们特别注重培养学生发现、分析和解决问题的能力,从介绍一般性的方法人手,以案例为示范,以实践来强化.例如,当发现手机出现某种奇怪的问题时,首先要通过adb查阅系统的dmesg日志,分析可能出现问题的硬件部件和驱动模块,到Linux内核代码中找到相应的源程序,通过printk等内核调试手段,添加调试功能;然后再次烧机固件并观察故障,完成故障的定位,故障定位后还需深入研究故障的产生机理,制作相应的补丁或者对程序进行修正;最后在手机上验证所做工作的正确性和有效性.

在整个教学过程中,我们基本上在每个专题都设置了“找问题、打补丁”的实践环节.正是这些实践环节、让学生一次次地重复发现、分析和解决问题的过程,强化了实践动手能力,同时也加深了对Linux操作系统内核的理解.

4.教学成果

通过一个学期的教学活动,课程教学取得显著成果.大部分学生表示对课程内容较为满意、感兴趣、学有收获.典型的教学成果案例如下.

(1)某学生通过研读手机电路图,发现其上有处理器温度传感器,但是在操作系统内核中并没有该功能.该生通过添加相应的硬件驱动,顺利实现对该手机处理器温度的监控和报警功能.这一过程极大地强化了该生对软硬件系统的理解.

(2)某本科物理专业的学生通过该课程初步掌握嵌入式系统,特别是嵌入式手机操作系统的大体结构和知识,能够完成一些内核应用的开发.

(3)某学生通过阅读Linux内核代码关于音频解码器部分驱动的内容,发现提供代码中的bug会导致通话中的语音问题,于是将该问题及解决方案发布到XDA论坛上,得到许多开发者的认可.

5.课程教学经验

虽然课程教学取得了一定成果,但也暴露出一些问题.

(1)学生水平参差不齐,施教困难.特别是作为专业学位研究生,其入学基础就有较大不同,导致施教过程中进度控制较为困难.一些学生甚至不知道Linux,不会C语言,这些直接导致课程教学中的困难.我们只能要求这些学生在课后多补课,多学习,并且在课上给予额外辅导.

(2)计算机系统观的培养不足.作为一种典型的计算机系统,智能手机并不是非常适合计算机系统观培养的载体.作为实际商品,其不具备许多开发调试接口,学生很少接触到硬件,也看不见信号,缺少对硬件的感性认识.所有的硬件知识只能来源于电路图、芯片数据手册和源代码等.

(3)缺乏系统的教材.智能手机操作系统开发实践有别于传统的Linux内核开发实践,其在功耗、性能、用户体验、复杂性上都有很大区别.目前关于Android手机应用开发的书籍很多,但是关于智能手机Linux内核开发的书很少,我们只能依靠教师本身的工作经验进行实际指导.

(4)对教师自身要求较高.由于课程内容涉及硬件、操作系统等方面,要求教师本身具有较广的知识面,特别是在硬件、驱动程序上有较强的基础,并且能够紧跟智能手机发展的前沿,不断补充知识,强化自身能力.

6.结语

将Android智能手机作为嵌入式操作系统内核开发实践的平台是一次大胆的尝试,它与基于传统的单片机、ARM、开发板、开发箱的实践有很大不同,同时提供了非常广阔的实践内容选择空间.在这次教学过程中,智能手机体现了其作为实践教学平台的优势,对培养专业学位研究生的动手实践能力具有良好的促进作用.

相关论文

嵌入式操作系统在智能手机中的应用

本文是一篇操作系统论文范文,关于操作系统硕士学位论文,关于嵌入式操作系统在智能手机中的应用相关毕业论文参考文献格式范文。适合操作系统。

嵌入式操作系统在智能手机中的应用

本文是一篇操作系统论文范文,操作系统类在职毕业论文开题报告,关于嵌入式操作系统在智能手机中的应用相关开题报告范文。适合操作系统及嵌入。

智能手机端教学实践

这是一篇互联网类有关毕业论文参考文献格式范文,与智能手机端教学实践相关毕业论文题目。是政治教学专业与互联网及实训教学及教育技术学方。

《嵌入式操作系统》课程实践教学

本文是一篇操作系统论文范文,关于操作系统类毕业论文的格式,关于《嵌入式操作系统》课程实践教学相关电大毕业论文范文。适合操作系统及嵌入。

智能手机控制家用电器

本文是一篇家电论文范文,家电类有关毕业论文格式模板,关于智能手机控制家用电器相关毕业论文开题报告范文。适合家电及软件应用及电气设备方。

智能手机让耳朵不再寂寞

本论文为关于软件方面论文目录怎么写,关于智能手机让耳朵不再寂寞相关硕士毕业论文,可用于软件论文写作研究的大学硕士与本科毕业论文开题。