在互联网时代的IT软件世界中,有4个最核心的成员:
操作系统、编程语言、编译器和数据库。
1970年,贝尔实验室的肯·汤普逊和丹尼斯·利奇开发出了世界第一个通用型计算机操作系统:Unix。
1985年,微软推出了第一版Windows操作系统。
Linux是一类Unix计算机操作系统的统称,公认在1991 年诞生。
目前在移动设备上广泛使用的Android操作系统,也是创建在Linux内核之上。
而编程语言的出现,在操作系统之前。
1952年,汇编语言Flow-Matic出现。汇编语言本质上是使用助记符来代替机器语言01010101,但这种语言对计算机硬件依赖很大。不同的计算机,汇编语言不相通。
1957年,世界上第一个高级编程语言FORTRAN问世,它使计算机语言从原始的低级汇编语言走到人人易懂的境界。
从此,计算机不再是科学家的专利。可以说FORTRAN的诞生,孕育了软件产业。此后,计算机高级编程语言进入蓬勃发展的时代。
由此,可以看出操作系统和编程语言的重要性不相伯仲。
到了物联网时代,操作系统发生了变化。
互联网时代,操作系统调度的是PC或者手机中的计算和存储资源。
物联网时代,操作系统进化为物联网平台,它对“物体”的调度过程,由调度“云、管、边、端”不同层级中不同设备的计算资源而实现。
比如RT-thread、Mindsphere、WISE-PaaS…都是物联网时代的操作系统。
下图是在微软眼中,物联网时代操作系统应当具备的能力:
相比于PC操作系统,物联网操作系统或者平台具有以下几个明显特性:
无缝更新:系统更新通过后台完成,无需中断
更加安全:具备防止恶意攻击能力
长期连接:保持 5G、WiFi等连接能力,保证设备间能一直相互连接
可持续的性能
云端接入能力:支持设备与设备间进行无缝访问数据
具备AI能力
支持各种交互:兼顾触控、手写、语音、键鼠等方式,以及能够通过传感器和姿势感知
多样产品形态:支持云、边、端的应用
最近一系列基于微内核的IoT OS推出,比如阿里AliOS Things、华为鸿蒙OS、GoogleFuchisa,进一步诠释了物联网操作系统的特征。
微内核并非新鲜事物,最早可以追溯到卡内基梅隆大学在1985年推出的微内核操作系统 MACH。新一代的微内核IoT OS可以支持从小到大的各种智能设备,包括从烟感传感器、到摄像头、再到计算网关等;提供各种本地插件、轻量级GUI、以及丰富的链接协议,满足碎片化的设备开发的需求;还有丰富的云端一体化的插件,包括连云套件、OTA、视频语音连云套件,确保设备和云端的设备影子实时同步。
总而言之,基于微内核的物联网操作系统,有能力适配高度碎片化的硬件与芯片生态,有丰富的本地组件来支持不同的设备,又能够充分和云端的大数据计算能力形成协同,奠定了数字化物理世界的基础。
在互联网时代,操作系统几乎只需要支持PC和手机就可以完成任务。但是到了物联网时代,IoT操作系统或者IoT平台的复杂性急剧上升,为了令其更加易用,编程语言也需随之进化,IoT编程工具由此产生。
从操作系统到物联网平台,从编程语言到IoT编程工具,这是一个自然而然的推进过程。
可以预见,编译器和数据库在物联网时代也将产生更新或者变异。比如华为在8月31日刚刚开源的方舟编译器,以及涛思数据推出的时序数据库,都更加适合物联网时代的应用。
在物联网时代,上述这些工具都会进化,有些可能会彻底变成新的物种。IoT平台与PC操作系统有本质不同,IoT编程工具也与编程语言有着天壤之别。
因此,在物联网时代我们需要一个更加立体、分层和全局的视角,来看待关键领域。不管是操作系统,还是编程语言,都应建立一个全新的理解,从而发现新的机会,更好的利用工具,实现物联网业务的拓展。
|