工业生产的跃迁和产业升级紧紧依赖于信息技术的发展,而这其中的关键技术,就是嵌入式技术,即通过向工业产品或工业制造流程中嵌入计算机系统,给工业装备和生产系统增加智慧的大脑,有效提高装备及生产过程的智能化,满足工业生产对高效、可靠、实时、绿色等诸多方面的苛刻要求,最终实现产品或流程的自动化与智能化。
智能化应用发展的整体过程和趋势体现出从外部到内部、从纵向智能向横向智能发展的特点。从早期一个计算中心、工作站或者服务器运行用于管理手段的PDM、ERP、CRM 等,到技术类的CAD、CAE、CAM、CAPP 等(外部智能,管理手段),进入到嵌入式计算机(内部智能,实现产品本身的智能化),然后是依赖处理器性能和算法的提升(特别是多核和边缘计算)实现智能的纵向提升,再到最近的依赖泛在互联、云边协同的横向协作智能。
该类嵌入式系统具有独有的特点:通常对系统的实时性、并行性、可靠性、功耗等方面具有苛刻的要求。另一方面,伴随着半导体工艺的迅猛发展,现代计算机系统(包括嵌入式系统)的发展趋势是多核处理器取代单核处理器。同时,很多工业系统在一个硬件平台上部署多个不同的应用,这些应用通常具有不同的关键性,例如飞机和汽车嵌入式系统。
为实现在嵌入式平台上搭建满足不同关键性需求的高效、可靠系统,设计者们通常采用虚拟化技术来对不同子系统的功能进行隔离。现有设计与分析技术以及各类平台工具,还无法有效地指导设计者有效支持在复杂嵌入式平台(特别是在云、边、端协同平台)上高效、可靠地搭建该类系统,并充分发挥多核及云、边、端提供的各种异构计算资源和能力。同时,云计算、物联网、人工智能和区块链等技术与工业智能化融合发展,在“功能与需求复杂性”和“系统结构复杂性”双重压力之下,面向工业生产智能化的嵌入式系统开发面临前所未有的挑战。面向工业应用的嵌入式实时操作系统,以及围绕该操作系统的各种中间件和平台、工具软件,为开发该类系统提供了极大的便利,因此面向工业应用的实时操作系统是工业软件的主要代表。
通过前面的分析不难看出,由于运行的硬件平台资源有限,一个面向工业应用的实时操作系统应该支持微内核、可裁剪,从工业需求的实时可靠性方面来看应该支持硬实时,以确保安全(功能安全和抵御攻击的能力)、可靠(完善的容错功能)。
同时,作为一个工业嵌入式系统,我们希望它在开机时能够快速启动,在出现掉电和系统崩溃等问题时,能够快速恢复并进入问题出现前的运行状态,因此Instant power on(快速启动)也应该是一个面向工业的实时操作系统应该具备的功能。
在技术层面,面向工业应用的实时操作系统研究还面临着很多挑战,例如,在多核发展趋势下,目前还没有找到一种像单处理器上应用那样简单有效、在操作层面很容易在操作系统上实现的实时调度算法,更没有类似于单核系统上的简单有效的资源竞争管理协议(优先级继承、优先级置顶等),多核带来的细粒度共享资源对追求可预测性的实时系统来说,一直是一个很大的挑战。
现代工业操作系统,不应仅仅局限于单个产品智能化的封闭嵌入式系统需求,而应该考虑在泛在感知、泛在互联、泛在智能的人、机、物融合发展趋势下,工业互联网环境带来的新挑战。例如,云、边、端协同环境下,在边缘端(大量的专用嵌入式系统)软硬件高度耦合、资源有限、硬件异构、操作系统各异或无操作系统、互联方式各异的情况下,如何实现任务的优化调度和任意迁移? 虽然有很多抽象的理论方面的研究,但在应用层面,特别是面向工业领域应用层面,上述问题尚未得到很好的解决。
另外一个挑战来自于行业的准入门槛,工业的各个行业有各自特殊的行业需求,需要有很好的面向行业的中间件或平台支持,否则,仅仅一个操作系统很难在多个行业应用中发挥作用。
尽管如此,在巨大的挑战面前,我们也应该看到面向工业应用的实时操作系统所面临的机遇。随着产业数字化和数字产业化的不断深化,数字经济将迎来巨大的发展机遇。随着工业互联网持续推动数字经济与实体经济的深度融合,数字经济特征已由消费互联向工业互联跃升,面向供给侧的大量工业互联网提供了巨大的应用需求。
同时,工业上所用嵌入式系统(特别是所用的嵌入式处理器)具有与手机等消费类电子产品不同的特点:专用,追求稳定和可靠。在一定时期内,为了系统的稳定可靠,软件和硬件相对固定,不会为追求性能指标(处理能力和存储能力)而频繁更新。虽然芯片的资源有限,但是高端芯片受限的卡脖子问题相对不是那么明显,当然并不意味着很多行业专用芯片不存在卡脖子问题,只是整体上看,这类系统和芯片的更新相对较慢,这其实也给了我们研究工业嵌入式系统的机会。
从面向工业应用的实时操作系统生态构建的途径来看,可参考如下方式:
◆继承和兼容已有系统,考虑用户的使用习惯转变需要一个过程;
◆依靠自身能力,支持更多的芯片和不同的硬件架构(由嵌入式处理器的专用和多样性决定),建立和快速更新对各种工业嵌入式芯片的支持,开发支持各种工业总线协议和中间件,开发面向特定行业的嵌入式系统开发平台;
◆开源,依靠开源社区完善功能,类似Linux;
◆系统免费使用,通过免费使用培养大量的熟悉该操作系统的技术人才和潜在用户群;
◆与行业领军企业建立战略合作,完善面向特定应用的生态建设;
◆与教育机构合作,建立联合实验室和课程体系(类似Intel的电子设计大赛、Google的大赛和课程体系),从学生入手培养技术人才和潜在用户。
以上观点和看法,算是抛砖引玉,希望业内同行和国内华为、国讯芯微、东土科技等龙头企业,携手互助,共同努力,顺应当前产业发展趋势,把握新一轮产业发展契机,大力开展以工业实时操作系统和中间件等为代表的国产工业软件研发,打造我国自主可控的工业软件体系。
邓庆绪
东北大学计算机科学与工程学院教授,计算机学会嵌入式系统专委会副主任。主要研究方向为实时嵌入式系统、可重构计算、信息物理系统。在实时嵌入式系统、物联网等方向,以负责人身份承担国家863计划项目、国家自然基金、国际合作基金、国家重点研发计划课题等项目30余项。相关成果已获得14项发明专利,曾获省技术发明奖一等奖、省科技进步一等奖和国家科技进步二等奖。已在实时嵌入式系统、物联网、可重构计算等领域的著名国内外期刊和会议上发表论文140多篇。有多篇代表性成果发表于相关领域顶级国际会议RTSS、RTAS、DAC 以及ACM Trans.、IEEETrans.等国际期刊。多次担任嵌入式实时系统和设计自动化系统国际会议RTSS、DAC等程序委员会委员。
1.RISC-V嵌入式开发课程节选版上线!文末还有图书优惠哦!赶快抢!
2.RISC-V能成为八位MCU的选择吗?
3.对嵌入式工程师硬件转软件的几条建议!
4.浅谈智能嵌入式系统的优化设计
5.单片机AD采样常用的十大滤波算法~
6.物联网时代,嵌入式软件测试工具越来越重要~