APP下载

嵌入式操作系统实践教学方法的探索

2017-04-15戴燕玲

电子测试 2017年13期
关键词:嵌入式操作系统内核嵌入式

戴燕玲

(厦门软件职业技术学院,浙江兰溪,361024)

嵌入式操作系统实践教学方法的探索

戴燕玲

(厦门软件职业技术学院,浙江兰溪,361024)

针对传统嵌入式系统实践教学与现实企业需求相脱节的问题,介绍一些嵌入式操作系统实践教学的内容和改进方法,提出一些基于µC/OS-II和智能手机linux内核的实践教学内容和项目。

µC/OS-II;linux内核;实践教学

0 引言

操作系统是嵌入式系统中最重要的系统软件,但又比较抽象难懂,实践性又很强,而目前关于嵌入式操作系统的实践教学又无法适应时代的需求,学生也无法真正理解和掌握嵌入式操作系统内核的工作原理,也就无法真正学好嵌入式系统。因此必须不断更新现有的操作系统实践教学内容和方法才能与时俱进,紧跟时代潮流。

1 目前嵌入式操作系统现状

目前在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。

µC/OS-II占用空间少,执行效率高,实时性能优良,且针对新处理器的移植相对简单。linux则占用空间相对较大,实时性能一般,针对新处理器的移植相对复杂。但是,linux具有对多种文件系统的支持能力、内嵌了tcp/ip协议,对一些复杂的应用,linux具有相当优势。

操作系统的选择是由嵌入式系统的需求决定的。简单的说就是,小型控制系统可充分利用µC/OS-II小巧且实时性强的优势,如果开发pda和互联网连接终端等较为复杂的系统则linux是不错的选择。

2 实践平台的选择

目前大多数高校,特别是高职院校开设的嵌入式实践教学基本都是ARM试验箱之类的硬件平台,实践平台单一,且只能开展一些低端实验,如:键盘、SD卡等驱动程序的编写;基本绘图、键盘、跑马灯等应用程序的编写;以及串口通信等,这些实验学生缺乏兴趣,且与实际嵌入式操作系统的应用差距较大,跟不上时代潮流与发展,同时学生也缺乏对操作系统如µC/OS或linux内核功能的理解,实践教学效果不理想。

为了改变这一现状,同时考虑到学生现有的知识水平和能力,可以让学生从简单的操作系统µC/OS-II入手。µC/OS-II作为一个多任务抢占式的实时操作系统内核,它只包含了任务调度、任务管理、时间管理、内存管理、任务间的通信和同步等基本功能,而输入输出管理、文件系统、网络等额外的服务是需要额外获取再整合的。µC/OS-II本身具有的良好的可扩展性以及其结构小巧和源码开放的优点,使µC/OS-II成为嵌入式学习中非常好的入门工具。在此基础上再选择Android手机的Linux内核部分进行学习。

3 实践内容与教学方法的改革

实践教学内容可以从三个层次考虑。

(1)基础性实验(验证性实验)

在ARM试验箱上完成键盘、USB、SD卡等简单驱动程序的编写并烧写运行,以及键盘、跑马灯、基本绘图等简单应用程序的编写并烧写运行。

(2)综合性实验

可以通过修改µC/OS-II操作系统内核代码或者增加一些新的算法来实现新的功能的方法来实现。

也可以选取一般操作系统中常见的而µC/OS-II并 未采用的几个典型算法,如进程调度算法中除OS-II采用的优先级算法外,还有时间片轮转算法、 短作业优先算法、先到先服务算法等,让学生在OS-II的框架下编程实现其中的某个算法并替换原 先µC/ OS-II中所采用的算法,通过实际运行结果来 检验设计的正确性,最终实现一个在某一方面有别 于µC/OS-II的小操作系统。

(3)设计性实验(创造性实验)

① Linux内核的定制、移植与编译。该专题 主要介绍Linux内核开发的一般流程,包括如何 定制内核、编译内核和移植内核的一般思路等。,通过使用编译 脚本大大简化编译步骤,实现“零基础”新手快 速人门;使用菜单化的内核配置工具,让学生了解内核配置的方法和过程,不再畏惧“庞大”的 操作系统。

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

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

④面向安全性的增强性设计。该专题主要 介绍Android、Linux、Bootloader等各个层次的 安全性措施,智能手机Root的原理,针对智能 手机的破解、解锁、Root等技术。如增加智能手机语音解锁功能;通过增加手机的硬件驱动程序实现手机丢失或被盗的报警功能等等。

⑤面向增强用户体验的设计优化。该专题 主要介绍各种增强用户体验的技术,这些技术 往往涉及特定的硬件驱动和内核技术,具有一定 难度。如,开发一个小型的聊天或交友APP,有别于现有的聊天工具QQ或微信,可以增加一些额外的功能,如更人性化的图形界面,更方便快捷的视频语音聊天等等。

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

4 结语

通过嵌入式操作系统实践教学平台和方法的改进,通过具体的项目实践,学生可以更好的理解操作系统的抽象理论,掌握µC/OS-II的内核结构和功能,理解智能手机linux内核的源代码以及内核功能的实现原理,并通过对OS某些功能和算法的改进和设计,培养学生的创新能力,这样学生才能深入理解和学习嵌入式操作系统。

[1]康鸿雁.Linux在操作系统理论教学中的应用研究[J].信息系统工程,2010,1(7): 107-108.

[2]岳键,季赛.pC/OS-n在操作系统课程教学中的应用方法[J].中国科技信息,2008,7(22) :294-295.

[3]王苏峰,窦勇,陆洪毅,等.针对嵌入式实时编程的系统性教学方法探讨[J].计算机教育,2009(14): 54-56.

[4]姜余祥.嵌入式手机编程实验教学系统设计与实现[D].北京:北京工业大学,2008: 1-10.

Research on practice teaching method of Embedded Operating System

Dai Yanling
(Xiamen institute of software technology,Lanxi Zhejing,361024)

In view of the traditional practice teaching of embedded system and practical needs of enterprises in line with the problems, introduces some embedded operating system the content of practice teaching and puts forward some improvement methods, based on C/OS-II and intelligent mobile phone Linux kernel practice teaching content and project.

µC/OS-II ; linux kernel; practice teaching

猜你喜欢

嵌入式操作系统内核嵌入式
强化『高新』内核 打造农业『硅谷』
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
搭建基于Qt的嵌入式开发平台
计算机嵌入式操作系统分析
嵌入式软PLC在电镀生产流程控制系统中的应用
微生物内核 生态型农资
关于高校嵌入式操作系统课程教学的探索与思考
基于嵌入式操作系统的工业采集板设计
应用服务型人才培养体系下的嵌入式操作系统教学改革探索