【物联网】物联网操作系统简介

目录

一、物联网操作系统概述

1.1内存占用

1.2 内存管理

二、物联网操作系统构成

三、物联网操作系统关键特性

3.1 调度方式

3.2 I/O操作方式

3.3 网络服务

3.3.1 TinyOS网络协议栈

3.3.2 LiteOS网络协议栈


一、物联网操作系统概述

        物联网操作系统是支撑物联网大规模发展的最核心软件,由操作系统内核、外围功能组件、物联网协同框架、通用智能引擎、集成开发环境等几个大的子系统组成。

        物联网操作系统屏蔽了物联网碎片化的特征,提供统一的编程接口,降低了物联网应用开发的成本和时间,为物联网统一管理奠定了基础。

物联网操作系统与传统操作系统在内存占用和内存管理存在差别区别

1.1内存占用

        物联网操作系统运行在资源受限的节点上,内存占用与传统操作系统相比较小,一般只有几十KB

1.2 内存管理

        传统操作系统一般运行在具有内存管理单元(MMU)的设备上,能够提供地址翻译和内存保护功能。物联网操作系统则因设备而异,当运行在缺乏MMU的设备上时,一般很难提供地址翻译和内存保护功能,当运行在具备MMU的设备上时,可以提供轻量级的地址翻译和内存保护功能。

二、物联网操作系统构成

  1. 任务调度——抢占、时间片轮转、优先级、FIFO。
  2.  动态加载——需要的时候进行加载。
  3. 内存管理——静态分配、动态分配。
  4. 资源抽象——文件->IO设备,进程->CPU。
  5. 传感接口——将数据传递至MCU。
  6. 网络协议栈——BLE、LwIP、LoRaWAN。

三、物联网操作系统关键特性

3.1 调度方式

        现有的调度方式主要有:抢占式、非抢占式、协同式和时间片轮转。它的区别点主要在于使用堆栈的个数

        抢占式:需要切换线程上下文,多个堆栈(、时间片轮转)

        非抢占式:无需切换线程上下文,单个堆栈

        协同式:需要切换线程上下文,一般多个堆栈

        时间片轮转:需要切换线程上下文,多个堆栈

3.2 I/O操作方式

        I/O操作方式的一般分为阻塞、分阶段两种类型。它们的具体实现区别如下图所示。

        由此,它们的优缺点可以归结为如下几点。

3.3 网络服务

        网络服务是一种服务导向架构的技术,它通过标准的网络协议提供服务,目的是保证不同平台的应用服务可以互操作。

        类别主要分为两种,一种是传统无线传感网的网络协议,另一种是现代物联网的网络协议。

3.3.1 TinyOS网络协议栈

        其中CTP– 支持many-to-one的数据传输,RPL– 支持many-to-one、one-to-many、one-to-one的数据传输,6LoWPAN– 实现IPv6的地址压缩、TCP/UDP的包头压缩、ICMP包头压缩

3.3.2 LiteOS网络协议栈

        LiteOS自带BLE和Zigbee协议栈,LiteOS支持6LoWPAN over 802.15.4 和6LoWPAN over BT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/31031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商还存在错位竞争空间吗?

“上链接试了,十几分钟,成本5块的东西卖1块5了。”今年618前期,某个电商平台上线了自动跟价功能,有一个卖家尝试了一会儿之后赶紧关了。 又一个618,平台、商家、消费者们又迎来了一次狂欢。只是与往年不同的是&#x…

20240620每日后端---------Spring Boot中的 5 大设计模式最佳实践和示例 这些是我经常使用的设计模式并且非常喜欢

在本文中,我们将深入探讨五种基本设计模式,并探讨在 Spring Boot 项目中有效应用它们的最佳实践。每个模式都将附有一个实际示例来演示其实现。 单例模式 Singleton 模式确保一个类只有一个实例,并提供对它的全局访问点。这对于管理资源&am…

绝地求生PUBG联名补偿奖励来了 补偿奖励介绍详情解析

《绝地求生》(PUBG) 作为一款战术竞技型射击类沙盒游戏,从上线以来就深受玩家小伙伴们的喜爱,即便是没有玩过的小伙伴,对“吃 鸡”二字想必也是很耳熟的,这正是《绝地求生》(PUBG) 的别称。 在北京时间6月12日,由于绝…

通过注解@ConfigurationProperties和全局配置文件中配置数据绑定

1、创建创建出两个JavaBean:User和Address 2、在User类上加注解 Component // 标记为组件,放到spring的ioc容器里 ConfigurationProperties(prefix "user") // 和配置文件绑定,可以从配置文件中的注入数据 public class User {…

性能工具之 JMeter 常用组件介绍(七)

文章目录 一、后置处理器1、Regular Expression Extractor(正则表达式提取器)2、JSON Extractor(JSON表达式提取器)3、Regular Expression Extractor(正则表达式提取器) 二、小结 本文主要介绍JMeter主流后置处理器的功能 一、后置处理器 从上面可以看出后置处理可以插件挺多&a…

CASS界址点顺序重排

1、绘制一个宗地,如下: 2、注记界址点号,如下 3、【地籍】--【调整宗地内界址点顺序】,如下: 重排完成后,点击工具栏的【重】按钮,即可刷新标注。

C++的动态内存分配

使用new/delete操作符在堆中分配/释放内存//使用new操作符在堆中分配内存int* p1 = new int;*p1 = 2234;qDebug() << "数字是:" << *p1;//使用delete操作符在堆中释放内存delete p1;在分配内存的同时初始化//在分配内存的时初始化int* p2 = new int(100…

Mybatis Plus 详解 IService、BaseMapper、自动填充、分页查询功能

结构直接看目录 前言 MyBatis-Plus 是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 愿景 我们的愿景是成为 MyBatis 最好的搭档&#xff0c;就像 魂斗罗 中的 1P、2P&#xff0c;基友搭配&#xff0c;效…

电子期刊制作教程:跟着步骤轻松学会制作

随着数字时代的快速发展&#xff0c;电子期刊以其独特的便捷性和互动性&#xff0c;已经成为信息传播的重要载体。你是否也想掌握制作电子期刊的技能呢&#xff1f;今天&#xff0c;就让我来为你一步步解析电子期刊的制作过程&#xff0c;带你轻松学会制作属于自己的电子期刊。…

Zookeeper 一、Zookeeper简介

1.分布式系统定义及面临的问题 分布式系统是同时跨越多给物理主机&#xff0c;独立运行的多个软件所组成的系统。类比一下&#xff0c;分布式系统就是一群人一起干活。人多力量大&#xff0c;每个服务器的算力是有限的&#xff0c;但是通过分布式系统&#xff0c;由n个服务器组…

阵列波束形成与维纳滤波

本篇文章是博主在通信等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对通信等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在通信领域笔记&#xff1a;…

算法设计与分析 实验4 动态规划法求扔鸡蛋问题

目录 一、实验目的 二、问题描述 三、实验要求 四、实验内容 动态规划法 算法描述 算法伪代码描述 算法复杂度分析 数据测试 二分优化的动态规划法 算法描述 二分优化&#xff1a; 算法伪代码 算法复杂度分析 数据测试 单调决策优化的动态规划法 算法描述 算…

多线程下JVM内存模型 和 volatile关键字

1、线程的概念 线程&#xff08;thread&#xff09;是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流&#xff0c;一个进程中可以并发多个线程&#xff0c;每条线程并行执行不同的任务…

微软修复Wi-Fi驱动高危漏洞 影响Windows所有版本 可通过局域网发起攻击

微软修复 WiFi 驱动程序中的高危安全漏洞&#xff0c;该漏洞影响 Windows 所有版本&#xff0c;可以通过公共 WiFi 等发起攻击。如果攻击者能够接入到目标设备所处的网络中&#xff0c;则可以悄无声息完成攻击&#xff0c;不需要用户进行任何交互。 在本月例行安全更新中微软修…

oracle 主从库中,从库APPLIED为YES ,但是主库任然为NO

主库 从库 从库已经APPLIED但是主库为APPLIED&#xff0c; 主数据库和备用数据库之间的ARCH-RFS心跳Ping负责更新主数据库上v$archived_log的APPLICED列。 在主数据库上有一个指定的心跳ARCn进程来执行此Ping。如果此进程开始挂起&#xff0c;它将不再与远程RFS进程通信&#…

WEB自动化测试(selenium工具)框架、面试题

一、什么是web自动化测试 让程序员代替人为去验证web项目功能的过程 二、什么web项目适合自动化测试 1)需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁&#xff0c;测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本&…

单木:面试官超爱问的字符串,今天给它彻底讲透

本文已收录于&#xff1a;https://github.com/danmuking/all-in-one&#xff08;持续更新&#xff09; 前言 哈喽&#xff0c;大家好&#xff0c;我是 DanMu。今天这边文章&#xff0c;想和大家聊聊有关字符串的问题&#xff0c;字符串似乎很简单&#xff0c;但其实字符串几乎…

MySQL之复制(七)

复制 定制的复制方案 分离功能 许多应用都混合了在线事务处理(OLTP)和在线数据分析(OLAP)的查询。OLTP查询比较短并且是事务型的。OLAP查询则通常很大&#xff0c;也很慢&#xff0c;并且不要求绝对最新的数据。这两种查询给服务器带来的负担完全不同&#xff0c;因此它们需…

嵌入式linux系统中UART子系统基本实现

今天主要给大家分享一下,如何使用linux系统中的UART帧结构。 第一:UART串口波形 先观察UART波形,是如何被准确识别成字符D,而不是其他的内容呢? 当两个设备需要通过UART协议进行通讯时,它们需要同时约定好以下内容: 每—位信号的时间长度T(波特率= 1/T) 帧结构中每—…

fastadmin多语言切换设置

fastadmin版本&#xff1a;1.4.0.20230711 以简体&#xff0c;繁体&#xff0c;英文为例 一&#xff0c;在application\config.php 里开启多语言 // 是否开启多语言lang_switch_on > true, // 允许的语言列表allow_lang_list > [zh-cn, en,zh-tw], 二…