物联网专业《操作系统》课程教学改革探索

2019-01-22 06:54何轶龙陈锋
现代计算机 2018年35期
关键词:操作系统嵌入式联网

何轶,龙陈锋

(湖南农业大学信息科学技术学院,长沙 410128)

0 引言

物联网专业是一个近几年兴起的热门专业,很多高校从2014年开始招收第一批物联网专业的学生。物联网专业涉猎比较广泛,需要学习硬件、软件、网络等多方面的课程,但是有些传统课程的开设按照以往的教学方法并不适合于该专业学生的学习,主要体现在课程之间缺乏关联性,课程大纲大多照搬计算机科学与技术专业对应课程,与新专业相脱节。

1 课程教学中存在的问题

《操作系统》是计算机学科的核心专业课程[1]。《操作系统》中知识的学习兼具理论理解与实践运用,也是进一步学习其他课程的基础,在计算机专业教学中占有举足轻重的地位。由于操作系统的概念抽象,涉及的代码量大且难理解;学生的编程经验不足,增加了教学难度。

目前,物联网专业《操作系统》课程的主要内容与计算机科学与技术等专业所学内容基本相同,主要为Windows系统的存储管理、系统调度等。实验课程中通过编程实现对Windows调度算法、存储管理等算法进行模拟实现。基于操作系统的应用已经不再局限于PC,各种物联网设备和嵌入式系统中都需要操作系统来进行控制,许多复杂嵌入式系统的开发都是基于小型的嵌入式操作系统,但是学生对此了解不多,无法动手。因此,仅仅了解传统教学大纲中关于Windows的系统调度以及系统管理知识已经不能满足当前的需要。物联网专业的学生需要更多了解其他物联网操作系统以及嵌入式系统的知识,由于嵌入式系统等课程往往开设在《操作系统》课程之后,所以在《操作系统》课程的教学中应该改变以往的方式,更多地融入其他系统的介绍,为以后的其他专业课程学习做好准备[2]。

2 改革方案研究

针对目前存在的问题,在湖南农业大学信息科学技术学院2016级物联网专业的《操作系统》课程教学中采取了如下改革措施。

2.1 按需调整课程教学内容

目前,移动云计算、嵌入式系统、物联网等新兴产业的发展和新技术的应用都离不开操作系统。学生日常生活中使用的智能设备增多,不再局限于普通PC的使用。因此,在物联网专业《操作系统》课程教学中,对原有基本调度算法等理论的讲解之外应加入更多实时系统的介绍。让学生能够在学习该课程的同时与其他课程融会贯通。

鉴于很多嵌入式操作系统系统都是基于Linux为内核,大多是对Linux进行了部分功能的删减。所以要想让《操作系统》课程教学与后续教学能够较好地融合,需要加强对Linux中各种系统调度、任务分配和存储管理等内容的了解。因此,在原来的内容上增加了关于Linux系统的相关操作演示与实验,如表1所示,并在我院物联网专业2016级中进行了实施。

表1 课程相关扩展和实验课内容

通过以上实验,学生掌握Windows中内存管理、进程管理、文件系统等基本理论的基础上,同时掌握了Linux系统中具体的调度管理的命令和过程,即加深了对课本知识的理解,也为后续课程的学习打好了基础。

2.2 深入挖掘物联网操作系统内涵

作为物联网专业的学生,首先应该熟悉物联网操作系统的新特征,这些特征能够体现物联网操作系统与物联网的其他层次紧密关系、方便数据共享,同时反映了物联网操作系统安全的各种因素。本文选取10个有代表性的物联网操作系统[1],对各自的主要特征进行了总结(如表2所示),并对其重要特征进行了提炼归纳,得到了5个重要特征,同时对物联网操作系统和嵌入式操作系统的主要特征进行了比较,如表3所示。

(1)可移植性。因为物联网操作系统移植性更高,对操作系统内核与驱动的可分离性要求也更高,各个物联网设备异构性较大。为了满足不同的设备会有不同的固件与驱动程序的要求,物联网操作系统提高了操作系统内核的适用性和可移植性[1]。

(2)可定制性。物联网操作系统需要对系统功能精确定位,合理使用硬件资源,因此其可裁剪性和配置性的要求比传统嵌入式操作系统要求更高。对于硬件配置多种样式的物联网终端,有小到几千字节内存的微型嵌入式应用,也有高达几十兆字节内存的复杂应用领域。所以对于同一个操作系统,通过裁剪或动态配置,既需要适应低端的需求,又需要具备满足高端复杂的需求的能力。

表2 10个常用物联网操作系统特性

(3)协同互用性。物联网操作系统之间通信协调的要求更好,且需求还会持续上升。物联网环境下各种设备之间相互协同工作的任务会越来越多,而大多独立完成某个单一的任务的传统嵌入式系统将不能胜任未来的工作要求。

(4)自动与智能化。随着物联网应用技术发展,物联网设备需要人为干预的操作更少,而自动化与智能化的操作越来越多,物联网操作系统比传统的嵌入式操作系统更加智能[5]。

(5)安全可信性。物联网设备需要连接网络进行数据传送,随着物联网设备在工业与生活中的普及,网络攻击的威胁将会是物联网操作系统面临的严峻挑战,物联网设备存储和使用的数据将更加敏感和重要。这些系统被控制后将对个人、企业和社会造成严重的影响。而传统工业设备的嵌入式操作系统处于封闭环境中,传统的嵌入式设备与用户的关联不紧密。因此,对于物联网设备的安全和可信性提出了更高的要求。

表3 物联网操作系统与传统嵌入式系统特征比较

学生通过熟练使用这些物联网操作系统,才能达到物联网专业的教学需求,为以后更深入的学习做好准备。

2.3 不断加强实践能力培养

引入小型项目的实践教学到课程教学中。我们采用了在具有RTOS的STM32Cube上来开发应用。在STM32Cube固件中,通过ARM提供的通用CMSIS-OS封装层,将FreeRTOS用作实时操作系统。使用FreeR⁃TOS的样例和应用可直接移植到其他任何RTOS而不需要修改高层API,在此情况下仅需更改CMSIS-OS封装。

FreeRTOS是RTOS的一种,尺寸非常小,可运行于微控制器上,但其使用并不限于微控制器应用。Fre⁃eRTOS内核只有3个.c文件,全部围绕任务调度,没有任何其他干扰,便于理解学习,而且根本不需要其他繁多的功能,只需要任务调度。FreeRTOS免费开源更易于教师和学生掌握其内涵及其源码,方便教学。

因为学生还未学习嵌入式系统和STM32课程,所以我们实验演示的目的只在于了解FreeRTOS的运行机制。因此我们直接通过API函数的调用来介绍,例如:

osSemaphoreDef(SEM);/*定义信号量*/

osSemaphoreId osSemaphore=osSemaphoreCreate(osSemaphore(SEM),1);/*创建信号量*/

osMutexDef(osMutex);/*定义互斥量*/

osMutexId osMutex=osMutexCreate(osMutex(osMutex));/*创建互斥量*/

osMessageQDef(osqueue,Queue_Size,uint16_t);/*定义队列,Queue_Size占2个字节*/

osMessageQId osQueue=osMessageCreate(osMessageQ(os⁃queue),NULL);/*创建队列*/

通过这些函数调用,结合任务删除函数vTaskDe⁃lete(xTaskHandle pxTask)、创建函数 xTaskCreate(…)等,将教材中所学到的生产者算法、内存调度算法能编程实现。

3 实践效果

物联网专业的《操作系统》教学改革通过实践后,在2016级学生中取得了如下效果:

一是扩充了学生知识面。通过课程教学,学生熟悉了更多的物联网操作系统及其内涵,而不再局限于Windows。通过对FreeRTOS系统调度函数的演示,并将其与教材中相关算法进行结合,学生更深入的掌握了教材中的算法,也能看到程序具体运行的效果。

二是提升了教学效果。根据课程考试成绩统计,采用新的教学内容后,2016级学生成绩提高比较明显,优秀率明显提升,同时不及格率有所下降,如表4所示。

表4 课程教学效果比较

三是强化了专业学习兴趣。在2016级《操作系统》教学中穿插了Linux对应的命令与系统调度方式教学后,学生学习兴趣明显提高,实验课动手机会增多。促进了学生有目的进入创新实验室参与项目开发,在“一周一汇报”基础上,选择优秀的同学组成创新团队参与全国大学生创新创业比赛,让优秀成绩激发更多同学参与项目开发、撰写开发日记;同时安排同学及时总结自己创新成果,将它们转化为论文与专利发表,在推免试研究生的资格上具有更大优势。表5是本专业2015级到2017级申请项目和软件著作权、参与创新比赛等情况。

表5 2015-2018年本专业2015-2017级学生成果比较

课程教学的改革说明这种教学的改革让学生学习兴趣提高很多,参与创新实验室与比赛的学生人数也越来越多,取得的成果也越来越明显。目前已形成了非常好的创新实验室风气,组成了稳定的“教师+研究生+本科生”的优秀团队,并形成高年级带低年级的良好风气,当前学生在项目开发方面的进展非常不错,能较好处理团队成员的合作与分工,对项目功能扩展,能提出比较合理的建议与设想。

猜你喜欢
操作系统嵌入式联网
基于IMX6ULL的嵌入式根文件系统构建
“身联网”等五则
《物联网技术》简介
《物联网技术》简介
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
简述传感器在物联网中的应用
基于ARM嵌入式的关于图像处理的交通信号灯识别
TS系列红外传感器在嵌入式控制系统中的应用
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究