93 lines
7.7 KiB
Markdown
93 lines
7.7 KiB
Markdown
# XiUOS 简介
|
||
|
||
## 背景
|
||
|
||
XiUOS (X Industry Ubiquitous Operating System) 未名工业物联操作系统是一款面向工业物联场景的泛在操作系统, 来自[未名泛在操作系统研究计划](/about/xuos)。所谓泛在操作系统(UOS: Ubiquitous Operating Systems), 是支持互联网时代人机物融合泛在计算应用模式的新型操作系统, 是传统操作系统概念的泛化与延伸。不同的泛在计算设备和泛在应用场景需要构建不同的UOS, XiUOS即是面向工业物联场景的一种UOS, 主要由一个极简的微型实时操作系统(RTOS)内核和其上的智能工业物联框架构成, 支持工业物联网(IIoT: Industrial Internet of Things)应用。
|
||
|
||
XiUOS诞生于浙江省北京大学信息技术高等研究院, 其研发获得了杭州市萧山区政府的大力支持。萧山是浙江乃至中国的制造业重镇, 工业基础雄厚, 正在谋求传统制造业数字化转型升级、实现新旧动能转换, 寻求工业互联网和物联网等信息技术的助力。XiUOS未名工业物联操作系统正是在这样的背景下应运而生, 希望以研发的工业物联网软硬件系统为助力, 促进先进计算技术和工业场景的深度融合, 助推工业企业的智造升级, 是应用产业需求和学术研究计划结合的产物。
|
||
|
||
## 定位
|
||
|
||
XiUOS是一种工业物联网操作系统, 目标是通过工业物联网的部署和应用, 促进工业领域人、机、物的深度互联, 使能智能化工业生产新体系。要实现该目标, 工业物联网操作系统需要解决“感、联、知、控“四方面的问题:
|
||
|
||
- 感: 复杂多样的工业生产实体智能地识别、感知和采集生产相关数据;
|
||
- 联: 工业数据在互联互通的网络上进行传输和汇聚;
|
||
- 知: 对这些网络化的工业大数据形成快速处理和实效分析;
|
||
- 控: 将数据分析所得到的信息形成开放式服务,从而反馈到工业生产。
|
||
|
||
其中,**感** 和 **联** 主要在物联网节点级设备、传感器等设备上实现, **知**
|
||
和 **控** 主要在边缘计算设备和数据中心设备上实现。面向物联网节点级设备的
|
||
未名工业物联网操作系统, 主要定位于**感**和**联**的层次, 将感知获得的数据传递给边缘设备和数据中心设备, 并具备相当的节点级智能, 能对**知**和**控**提供一定程度的支持, 如下图所示。
|
||
|
||
|
||

|
||
|
||
## 特色
|
||
|
||
目前市面上已有非常多成功的物联网操作系统, 如国外的[FreeRTOS](https://freertos.org), [Zephyr](https://www.zephyrproject.org), [RIOT](http://www.riot-os.org), [µC/OS](https://www.micrium.com/rtos), 国内的[RT-Thread](https://www.rt-thread.org), [LiteOS](https://www.huawei.com/minisite/liteos), [AliOS Things](http://www.alios.cn/things)等, 这些系统多是从实时嵌入式系统(RTOS: Real time OS)发展而来, 通常具有非常小巧的实时内核, 多运行在资源受限的微控制单元(MCU: Microcontroller Unit)/单片机上, 对低功耗有较高要求, 常见的处理器为ARM Cortex-M系列。
|
||
|
||
为什么已有这么多操作系统可供选择, 我们仍然要开发XiUOS这一新的操作系统?
|
||
|
||
答案是因为定位不同, 所以特色不同。XiUOS和现有大多数的物联网OS关注点并不相同。
|
||
|
||
- 现有OS多关注单个物联网节点设备, XiUOS更关注由多节点设备组成的网络化集群;
|
||
- 现有OS多关注OS的基础功能, 如基本网络连接, 传感器接入等; XiUOS更关注基础功能之上的高级业务功能, 如将智能化下沉到节点端的智能化感知功能, 智能无线自助网络功能等;
|
||
- 现有OS力图做多领域通用OS, XiUOS更关注工业物联领域, 对复杂工业环境的"感联知控"支持更为专精;
|
||
- 现有OS对大规模部署和管理运维的支持有限, XiUOS强调对大规模部署和管理运维的支持;
|
||
- 现有OS的生态是封闭、碎片化和彼此割裂的, XiUOS更关注开放的生态, 强调对标准规范的支持, 依托现有的各开源生态体系, 而非再建另一个封闭的生态体系。
|
||
|
||
简而言之, 现有物联网OS主要关注的是做优秀的单节点OS, XiUOS是在现有单节点OS的基础上构建面向多节点的网络化智能物联软件栈, 为工业物联网领域应用开发、系统部署、管理运维提供友好方案, 因此现有物联网OS和XiUOS一个在下层一个在上层, 功能是互补的而非竞争的, 如Linux之于Android。
|
||
|
||
|
||
## 设计
|
||
|
||
### 部署
|
||
|
||
XiUOS是面向工业领域多节点设备的网络化OS, 其部署主要包括节点端的多节点集
|
||
群和边缘端/云端的计算设施, 如下图所示。
|
||
|
||

|
||
|
||
在节点端, 支持多种工厂环境传感设备, 既包括基础的环境传感器感知温湿度、烟雾气体、噪音等, 也包括智能传感器可对人体、物体、声音进行识别, 这些传感器支持多种网络通信互联协议, 可以按需自组网络, 通过网关设备向外交换数据, 实现智能物联框架的“感、联”功能。网关设备对同一个集群中的节点设备进行管理, 负责和边缘/云端系统交换数据, 并可具备有限的“知、控”功能。
|
||
|
||
节点端感知的数据经网关传输给边缘/云端系统之后, 边缘/云端的工业互联网平台可对汇聚而来的数据进行分析, 将有价值的数据在控制中心的大屏、管理人员的移动设备上进行展示, 并根据工业应用的业务规则, 通知和调度“设备、排程、人员”, 对生产过程进行优化, 完成“知、控”。
|
||
|
||
### 结构
|
||
|
||
XiUOS的体系结构如下图所示,主要包括硬件层、系统层、框架层和应用层。
|
||
|
||

|
||
|
||
#### 硬件层
|
||
|
||
硬件层主要是XiUOS支持的处理器、感知器件和通信器件, 以及工业领域的可编程逻辑控制器PLC。
|
||
|
||
- 处理器: 支持ARM Cortex-M系列, RISC-V, 以及FPGA。
|
||
|
||
- 通信器: 支持5G/4G/WIFI/BT/NBIoT/LoRa等的网络通信器件。
|
||
|
||
- 感知器: 支持工业领域的各种环境感知传感器, 如烟雾、气体、噪声、电流电压等, 还支持对声音和物体进行感知识别的摄像头、麦克风等音视频设备。
|
||
|
||
- 控制器: 主要PLC厂商如西门子、施耐德、欧姆龙、三菱、台达等的PLC系统, XiUOS可从PLC中获取工业生产相关数据。
|
||
|
||
自主研发的感知器介绍。
|
||
|
||
#### 系统层
|
||
|
||
系统层主要完成单节点的系统管理功能, 包括基本的内存管理、调度管理、设备管理等。在[未名泛在操作系统研究计划](/about/xuos)中, 不同应用场景的UOS系统层能力可以是不同的, 主要体现在内核可以根据应用场景的需求进行定制化, 甚至可以有不同的内核, 这种定制化由未名泛在操作系统的核心XUOS Core提供。未名工业物联操作系统XiUOS中遵循该设计和理念, 其系统层--面向工业物联场景的泛在操作系统核心(XUOS Core for IIoT)--的内核(Kernel)理论上可以有多种选择, 如自研的XiUOS微内核, 对POSIX规范支持较完善的实时操作系统NuttX, 国内非常具有影响力的RT-Thread等。
|
||
|
||
目前XiUOS的应用框架主要在NuttX和RT-Thread这两款相对而言POSIX较友好、发展较成熟的开源RTOS上开展实验和设计, 这可以最大化地复用开源社区的优秀成果, 特别是各种硬件驱动, 从而将主要精力投入到体现工业物联场景特色的“感联知控”框架的设计和实现上。
|
||
|
||
自研XiUOS微内核的研发也在进行中, 一些新的算法和新的设计将主要在自研内核中进行探索和验证, 我们欢迎泛在操作系统社区中关心该方面内容的研究者和我们共同开展相关的研究。
|
||
|
||
系统层为上层框架支持尽可能符合POSIX规范的API。
|
||
|
||
#### 框架层
|
||
|
||
## 工具
|
||
|
||
## 前景
|
||
|
||
未来, 计划
|
||
|