持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
介绍
物联网简单理解是物物相连的互联网,用以解决物品与物品、人与物品、人与人之间的互联。近些年, 物联网概念迅速升温,成为了工业界、研究机构的研究 热点,并视为存在巨大的应用前景。全球最具权威信息技术( Information Technology, IT) 研究与顾问咨询公司 Gartner 在 2016 年的技术循环曲线中将物联网( Internet of Things,IOT) 技术定义为期望膨胀期峰值。以安全关键航空领域为例,根据 TrueNorth 公司的报告: 15 年前,全球不足以 10% 的航空器具有互联能力,到 2030 年,90% 的航空器将具有互联能力。
实时控制操作系统
在航空/航天、工业控制、医疗、轨道交通领域中存在着大量的电子设备,该类设备主要完成对应用任务实时控制、显示处理、数据通信等功能,这类设备通常要求操作系统具有较强实时处理能力、较强的运算处理能力、丰富外部设备与能力组件支持。满足该要求的实时类操作系统产品在国内外已经较多地存在,如美国的 WindRiver VxWorks5. x 和 6. x、GreenHill Integrity,中国的航空工业计算所 ACoreOS 操作系统、电科锐华操作系统,以及 Rtems 等开源操作系统。这类操作系统通常具备如下技术特征:
- 任务优先级抢占式、同优先级时间片轮转;
- 消息队列、信号量等通信与同步机制;
- 中断、异常、信号等事件的统一处理;
- 支持文件系统、网络、图形等功能组件;
- 支持 X86、PowerPC、ARM 等处理器类型;
- 操作系统尺寸通常大于 100 KB。
人机交互操作系统
在工业控制、网络通信、兵器领域的一些控制台的电子设备,需要操作系统具有良好的图形化界面、丰富的外围设备支持、丰富的功能组件支持,并具有良好的开放性,对于实时性、确定性等方面要求不高。满足该类要求的操作系统通常在 Linux 基础上进行改进,具备嵌入式操作系统的技术特征,比如增强线程调度的实时性、剪裁一些不必要功能模块、添加特定外围设备的支持等。
物联网环境下操作系统特征要求
物联网中各设备节点由于完成功能不一、采用硬件配置不一,很难采用单一配置的操作系统完成所有的能力支持。因此,需要操作系统可以根据节点任务差异完成操作系统能力的剪裁与配置。比如,一些探测传感器仅需要简单的任务调度能力和通信能力即可,要求操作系统的运行尺寸几十 B 甚至更小; 一些核心控制设备则需要复杂的任务调度、数据通信、文件记录或图形显示等能力,通常操作系统占用几百 KB、几 MB 甚至更大空间。操作系统要实现上述的能力配置,需要采用“组件化、模块化”的思想: 可伸缩的开放式架构、组件的模块化设计以及任务调度分层化管理等设计策略。 构成操作系统的各类模块,典型的如文件系统、网络协议、图形显示、体系架构核心库等,均是独立的组件模块,在构建操作系统时,通过选择不同组件模块、不同版本,定制形成支持不同能力的操作系统。在内核层面,面向资源及其受限的设备提供轻型任务调度机制,面向资源宽裕、功能要求丰富的设备,可以在轻型任务调度的基础提供普通任务调度能力,同时支持任务通信与同步、中断与异常管理、存储管理、时间管理等内核模块的函数级剪裁,支持不同功能模块的独立构建、升级,降低系统改进升级带来的成本。 物联网理念高度关注“连”和“通”,通过传感元器件、通信技术可以实现物联网“连”的实现,但是真正制约物联网发展水平和潜力的将是保证“通”所需的技术、标准和产品。物联网的互连互通需要解决传感网之间、传感网与通信网、传感网与互联网之间的互联。互连性是物联网的一个关键特性。传统的嵌入式操作系统基本都具备一定的互连互通支持能力,部分实现了 IPV4 网络协议栈、PCIE /CAN/FC /1394 等通信总线协议。然而,随着物联网中海量的智能终端设备加入,IPV4( Internet Protocol version 4) 地址已近枯竭,远不能满足物联网海量网络节点的要求,而IPV6( InternetProtocol version 6) 能够提供充足的 IP 地址,成为实现物联网的必然选择; 随着物联网中各类设备不同的通信方式,原有嵌入式操作系统支持的有限的、典型的互连方式,已不能够满足广阔的互连要求。在物联网中,信息安全与系统安全通常密不可分,比如一些医疗设备、核反应堆或汽车,不论受到人为干扰还是自身存在安全缺陷,都有可能造成人身安全或财产安全,如一个典型的案例是震网病毒( Stuxnet) 。在信息安全方面,伴随着网络发展得到了平行发展,特别是互联网商业化加速信息安全的发展,出现了各类防火墙、入侵侦测与防御系统、以及事故事件管理策略等,针对物联网信息安全也提出了感知层安全防护、感知层网络传输与信息安全、应用服务数据安全防护,以及访问、核心网络与信息的安全防护等安全策略。针对操作系统需要符合信息安全相关的共同准则( Common Criteria,CC) 。在系统运行安全认证方面,各行业根据领域与安全等级的差异,出现了各类保障软件质量的安全标准,如航空领域 DO - 178C、工业领域 IEC61508 等;