OneOS操作系统入门-01:OneOS简介

 一、OneOS简介

1.1 裸机与RTOS

1.1.1 裸机系统简介

  裸机系统通常指的是没有安装任何操作系统的计算机硬件。在这种状态下,计算机无法直接运行用户级别的应用程序,因为缺乏操作系统提供的接口和抽象层。裸机系统又称前后台系统,由前台程序(中断处理程序)+后台程序(应用程序)组成。

  裸机系统的缺点:

  ① 结构复杂——实现的功能均被放在无限循环中

  ② 实时性差——应用程序(任务)轮流执行,没有优先级处理

  ③ 空等待——在任务等待期间cpu不执行其他代码

1.1.2 RTOS系统简介

  RTOS(实时操作系统):相较于裸机系统,其更注重实时性的保证,可确保系统能在严格的时间限制条件下准确及时的响应处理。

 RTOS的特点:

 ① 分而治之——可将功能划分为多个任务

 ② 无限循环——每个任务都是无限循环

 ③ 抢占式——任务都有优先级,高优先级任务抢占低优先级任务

 ④ 延时函数—— 延时函数负责任务调度,在一个任务等待的时间可将cpu资源分配给其他任务

注1:中断程序可以打断任何一个任务,不论其优先级多高

注2:中断之后先向上查询更高优先级的任务,若无更高优先级任务,则再查询同等级任务,最后才查询更低优先级的任务

1.2 OneOS介绍

1.2.1 什么是OneOS?

  OneOS 是中国移动针对物联网领域推出的轻量级硬实时操作系统,具有可裁剪、跨平台、低功耗、 高安全等特点,支持 ARM Cortex-A 和 Cortex-M、MIPS、RISC-V 等主流芯片架构,兼容 POSIX、 CMSIS 等标准接口,支持 MicroPython 语言开发,提供图形化开发工具,能够有效提升开发效 率并降低开发成本,帮助用户开发稳定可靠、安全易用的物联网应用。

  OneOS的特点:

灵活裁剪: 抢占式的实时多任务 RTOS 内核,支持多任务处理、软件定时器、信号量、互斥锁、消息 队列、邮箱和实时调度等特性,RAM 和 ROM 资源占用极小。可灵活裁剪,搭配丰富组件,适 应不同客户需求。

跨芯片平台: 应用程序可无缝移植,大幅提高软件复用率。支持的主流芯片架构有:ARM Cortex-A 和 Cortex-M、MIPS、RISC-V 等。支持几乎所有的 MCU 和主流的 NB-IOT、4G、WIFI、蓝牙通 信芯片。

丰富组件: 提供丰富的组件功能,如互联互通、端云融合、远程升级、室内外定位、低功耗控制等。 同时提供开放的第三方组件管理工具,支持添加各类第三方组件,以便扩展系统功能。

超低功耗设计: 支持 MCU 和外围设备的功耗管理,用户可以根据业务场景选择相应低功耗方案,系统会 自动采用相应功耗控制策略,进行休眠和调频调压,有效降低设备整体功耗。

FOTA 升级: 提供免费的 FOTA 升级服务。支持加密、防篡改、断点续传等功能,同时支持智能还原和 回溯机制,拥有完善的版本管理和灵活的升级策略配置机制。

全面彻底的安全设计: 针对物联网设备资源受限、海量连接、网络异构等特点,参考等保 2.0 及《GB/T 36951-2018 信息安全技术 物联网感知终端应用安全技术要求》等规范,在系统安全、通信安全、数据安全 等方面提供多维度安全防护能力。

OpenCPU 开发框架: 支持通信 SoC 芯片 OpenCPU 开发模式,为开发者带来屏蔽复杂通信芯片差异的高效开发 方式,提供统一开发体验。同时,在同样的业务功能下,减少了设备额外 MCU 开销和存储器 的使用,大幅降低设备成本。

简易开发: 一站式开发工具 OneOS Studio 可用于对内核和组件的功能进行配置,支持组件自由裁剪, 让系统按需进行积木式构建,同时可帮助用户跟踪调试,快速定位问题

1.2.2 OneOS的组成架构

OneOS的具体架构如下图所示:

1、硬件层

硬件层是操作系统与物理硬件交互的最低层  主要包含了支持的CPU架构:如ARM、RISC-V、MIPS、Xtensa、C-Sky等。

2、内核层

内核层是操作系统的核心,负责管理系统资源和控制任务执行。OneOS的内核层包括:

任务管理:调度、任务创建和删除等。

内存管理:内存分配和回收机制。

同步机制:互斥量、信号量、事件集等,用于任务间同步。

中断管理:中断处理和优先级管理。

时钟管理:系统定时器和时间管理。

3、组件层

组件层提供了操作系统的中间件和高级功能,为应用开发提供支持。OneOS的组件层包括:

消息队列:用于任务间异步通信。

工作队列:用于任务的延迟执行和周期性执行。

远程升级:支持固件的远程更新。

安全机制:提供数据加密和安全通信等。

文件系统:文件存储和管理功能。

4、接口层

接口层为开发者提供统一的编程接口和抽象,简化开发过程。OneOS的接口层包括:

POSIX API:兼容POSIX标准的应用程序接口。

CMSIS API:针对ARM Cortex微控制器的中间件接口。

RT-Thread API:OneOS特定的中间件和功能接口。

标准C库API:提供标准C库函数的实现。

5、应用层

应用层是操作系统的最顶层,直接面向最终用户或应用场景。OneOS的应用层包括:

应用框架:如HTTP服务器、MQTT客户端、LwM2M客户端等。

GUI引擎:图形用户界面支持。

AI支持:集成人工智能算法和模型。

脚本引擎:支持脚本语言的执行。

云服务SDK:提供连接云服务的API和工具。

  OneOS的这种分层设计使得操作系统具有良好的模块化和可扩展性,能够适应不同的硬件平台和应用需求,同时为开发者提供了丰富的API和工具,简化了开发过程。

1.2.3 OneOS与其他操作系统的特性对比

OneOS、UCOSIII、FreeRTOS 之间的特性比较如下表所示:

       从上表可以看到,OneOS 系统配置,编译以及生成工程都离不开 OneOS-Cube 软件,OneOS 依赖于 OneOS-Cube 软件配置,当然不存在路径依赖,简单来说:OneOS-Cube 软件可 以放到其他路径保存,并不需要放置在 OneOS 工程路径中。

      总的来说,OneOS操作系统通过其独特的OneOS-Cube配置工具提供了高效的开发体验,支持自动化的环境和组件搭建,简化了操作系统的定制和配置过程。它支持无限制的任务数目和优先级相同的任务数目,具备灵活的剪裁文件配置能力,以及丰富的同步机制,包括信号量、互斥锁、事件和消息队列,确保了多任务环境下的高效资源管理和任务同步。此外,OneOS还支持可剥夺型任务调度,允许高优先级任务及时抢占CPU资源。尽管OneOS不支持原子操作,但其整体设计针对需要高度灵活性和实时性的复杂嵌入式系统,提供了强大的支持和优势。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值