物联网操作系统分为低资源MCU设备端和高资源CPU设备端;
低资源MCU设备端,由于硬件资源有限,一般都是用极低内核资源的操作系统,如FreeRTOS,TinyOS,Lite OS,这类os,一般都是以C,C++进行编程,一般由资深的嵌入式工程师进行应用程序设计,难度较高。
还有一类是目前针对物联网应用开发而设计的低门槛的操作系统,一般使用目前最流行的JAVA,JavaScript,LUA等高级语言编程的操作系统; 使用JavaScript编程的目前有多种开源操作系统,运营的比较好的是RUFF,目前有一款nodemcu使用LUA编程,JAVA因为移植难度比较大,目前只有钛极OS(TiJOS)可以实现在低资源MCU上进行编程。在淘宝上可以找到他们的开发套件,例程也比较详细和丰富。
高资源CPU设备端,资源大,可以实现复杂功能,一般都有大公司在拼,如谷歌的Brillo OS,微软的WIN10 IOT版本,uClinux,华为LiteOS等。
智慧树知到《DIY智慧小屋带你玩转物联网》2023见面课答案
1、在快速建立产品时,引导进来别人建立的物模型需要修改什么?()
AProductKey
BProductSecret
CDeviceSecret
DDeviceName
正确答案:ProductKey
2、查阅AT指令,如果我们只是做一个物联网的时钟,也就是准确时间是从网络上获取的,在设置北京时间为东八区后,你可选用哪个AT指令来完成。()
AAT+WJAPS
BAT+SYSTIME
CAT+MQTTKEEPALIVE
DAT+RTCGET
正确答案:AT+RTCGET
3、当串口接收传输过来的数据仅仅是长度不对时,可能的原因是:()
A波特率没设置好
B停止位设置错误
C缓存区大小没设置好
D硬件速度不够
正确答案:缓存区大小没设置好
1、NB-IoT与LoRa均为LPWAN的重要实现方式。下列两种网络技术的对比,说法正确的是:()
ALoRa的信道带宽相比NB-IoT更宽。
BLoRa的传输距离比NB-IoT更远
CLoRa的传输速度比NB-IoT更快
DLoRa的建网成本比NB-IoT更低
正确答案:LoRa的传输距离比NB-IoT更远
2、嵌入式实时操作系统蓬勃发展的今天,以下不属于中国企业的RTOS是:()
ART-Thread
BAliOSThings
CFreeRTOS
DLiteOS
正确答案:FreeRTOS
3、FreeRTOS中任务(Task)可能处于:运行态、阻塞态、就绪态、挂起态四种之一,不同状态之间可以进行转换,但以下不可能直接实现的转换是:( )
A由就绪态到运行态
B由阻塞态到挂起态
C由就绪态到挂起态
D由挂起态到阻塞态
正确答案:由挂起态到阻塞态
1、智慧小屋的实现过程中,涉及到了物联网系统架构中的那几层? ()
A设备层
B网络层
C平台层
D应用层
正确答案:设备层#网络层#平台层#应用层
2、以下不属于物联网操作系统特点的是()
A实时性
B安全性
C代码行数少
D具有丰富的功能组件
正确答案:代码行数少
3、课程里智慧小屋系统搭建过程中,没有使用以下哪种传感器:()
A温度传感器
B光敏传感器
CPM25传感器
D噪声传感器
正确答案:噪声传感器
4、课程里智慧小屋中设备接入阿里云物联网平台,是基于以下哪种协议:()
A Modbus
B MQTT
C CoAP
D其余选项都不对
正确答案: MQTT
5、智慧小屋中Arduino与WIFI模块之间的通信接口是:()
A I2C
B SPI
C UART
D其余选项都不对
正确答案: UART
1、NB-IoT技术是实现低功耗广域网的一个重要技术,之所以被称为窄带(Narrow Band)是因为它所占用的带宽仅为()
A180Hz
B180KHz
C18MHz
D18MHz
正确答案:180KHz
2、得益于占用带宽小的特点,NB-IoT支持带内部署的方式,即在原有通讯频段的基础上添加NB-IoT网络,目前应用来看,不支持NB-IoT带内部署的频段有:( )
A光通讯频段
BGSM网络频段
CUMTS网络频段
DLTE网络频段
正确答案:光通讯频段
3、窄带通信的技术标准最早由哪家组织\公司提出:( )
A3GPP
B中国电信
C华为
D高通
正确答案:华为
准确的说,mbed OS是专门为物联网定制的一个操作系统: 下面一段定义来自于ARM官网: 专为基于ARM Cortex-M处理器的设备所设计的免费操作系统,将物联网所需的所有基础组件,包括安全, 通信传输与设备管理等功能,整合为一套完整软件,以协助开发低功耗,产品级的物联网设备并实现量产。 这套操作系统将自2014年第四季度起作为初期开发工具提供给mbed合作伙伴,首批采用mbed操作系统的设备预计于2015年问世。 mbed官网是这样定义自己的: We are creating a modern full-stack operating system that is designed specifically for ARM Cortex®-M-based MCUs 这是一个为物联网打造的操作系统,不要把它想做可以和Android或IOS相抗衡的操作系统,ARM提供一大堆套件,不得不说这些套件都很好很强大。
分类: 电脑/网络 >> 操作系统/系统故障
解析:
实时多任务操作系统(RTOS)1实时多任务操作系统(RTOS)
(1)更加面向硬件系统,而不是操作者
嵌入式系统处理器一般都是独立工作的,没有人的直接参与;即使参与,也没有大量的文字信息输出,这是和桌面计算机有所不同的。因此RTOS着重面向的是硬件,而不是具有完整的人机界面。
(2)实时性
单片机系统的监测、控制、通信等工作都要求实时性,一旦出现有关情况,CPU能够及时响应,刻不容缓。为此,一个实用的RTOS都应具有完善的中断响应机制,保证中断响应潜伏时间足够短。
(3)多任务
半导体技术的发展和应用复杂性的增长促使CPU的处理能力越来越高,当今的一片16位或32位单片机,在运算速度、寻址能力等方面可以相当于8位单片机的几十片之和。在这样强大的处理器上运行应用程序,必然不是整块,而是根据所要实现的若干方面功能,划分为数个任务,这样有利于软件的开发和维护。
因此单片机系统中采用的RTOS必然是支持多任务的,并能够根据各个任务的轻重缓急,合理地在它们之间分配CPU和各种资源的占用时间。
(4)不同的典型外设驱动支持
单片机的典型片内外设为定时器、A/D、PWM、D/A、串行口、LCD/LED接口,CAN-bus、IC-bus等。根据处理器类型的不同,RTOS在出厂时一般附带若干上面硬件接口的驱动程度,而网卡等片外设备的驱动程序,以及其它一些高级驱动函数,如兼容DOS的文件系统、TCP/IP协议等,则需要另行选购。以RTOS为基础和接口标准,可以设计出大量的库函数驱动模块,并根据实际需要选择或裁剪。
(5)高可靠性
一般计算机的操作系统出现问题,例如死机,除数据丢失等外,不会有太大的问题;而单片机系统一般都是和工业控制、交通工具、医用器械等机电系统密切相关,不适当的输出甚至不及时的输出都可能会带来财产损失和安全问题。因此嵌入式系统中的RTOS要求高可靠性,发行之前必须经过严格的测试。这是一个耗费时间和精力的过程,也是RTOS价格普遍高于一般操作系统的原因之一。
2RTOS是一个内核
典型的单片机程序在程序指针复位后,首先进行堆栈、中断、中断向量、定时器、串行口等接口设置、初始化数据存储区和显示内容,然后就来到了一个监测、等待或空循环,在这个循环中,CPU可以监视外设、响应中断或用户输入。
这段主程序可以看作是一个内核,内核负责系统的初始化和开放、调度其它任务,相当于C语言中的主函数。
RTOS就是这样的一个标准内核,包括了各种片上外设初始化和数据结构的格式化,不必、也不推荐用户再对硬件设备和资源进行直接操作,所有的硬件设置和资源访问都要通过RTOS核心。硬件这样屏蔽起来以后,用户不必清楚硬件系统的每一个细节就可以进行开发,这样就减少了开发前的学习量。
一般来说,对硬件的直接访问越少,系统的可靠性越高。RTOS是一个经过测试的内核,与一般用户自行编写的主程序内核相比,更规范,效率和可靠性更高。对于一个精通单片机硬件系统和编程的“老手”而言,通过RTOS对系统进行管理可能不如直接访问更直观、自由度大,但是通过RTOS管理能够排除人为疏忽因素,提高软件可靠性。
另外,高效率地进行多任务支持是RTOS设计从始至终的一条主线,采用RTOS管理系统可以统一协调各个任务,优化CPU时间和系统资源的分配,使之不空闲、不拥塞。针对某种具体应用,精细推敲的应用程序不采用RTOS可能比采用RTOS能达到更高的效率;但是对于大多数一般用户和新手而言,采用RTOS是可以提高资源利用率的,尤其是在片上资源不断增长、产品可靠性和进入市场时间更重要的今天。
3RTOS是一个平台
RTOS建立在单片机硬件系统之上,用户的一切开发工作都进行于其上,因此它可以称作是一个平台。采用RTOS的用户不必花大量时间学习硬件,和直接开发相比起点更高。
RTOS还是一个标准化的平台,它定义了每个应用任务和内核的接口,也促进了应用程序的标准化。应用程序标准化后便于软件的存档、交流、修改和扩展,为嵌入式软件开发的工程化创造了条件、减少开发管理工作量。嵌入式软件标准化推广到社会后,可以促进软件开发的分工,减少重复劳动,近来出现的建立于RTOS上的文件和通信协议库函数产品等就是实例。
RTOS对于开发单位和开发者个人来说也是一种提高。引入RTOS的开发单位,相当于引入了一套行业中广泛采用的嵌入式系统应用程序开发标准,使开发管理更简易、有效。基于RTOS和C语言的开发,具有良好的可继承性,在应用程序、处理器升级以及更换处理器类型时,现存的软件大部分可以不经修改地移植过来。
对于开发人员来说,则相当于在程序设计中采用一种标准化的思维方式,提高知识创造的效率;同时因为具有类似的思路,可以更快地理解同行其它人员的创造成果。
4RTOS产生并得到迅速发展的原因
单片机处理器能力的提高和应用程序功能的复杂化、精确化,迫使应用程序划分为多个重要性不同的任务,在各任务间优化地分配CPU时间和系统资源,同时还要保证实时性。靠用户自己编写一个实现上述功能的内核一般是不现实的,而这种需求又是普遍的。在这种形势之下,由专业人员编写的、满足大多数用户需要的高性能RTOS内核就是一种必然结果了。
对程序实时性和可靠性要求的提高也是RTOS发展的一个原因。此外,单片机系统软件开发日趋工程化,产品进入市场时间不断缩短,也迫使管理人员寻找一种有利于程序继承性、标准化、多人并行开发的管理方式。从长远的意义上来讲,RTOS的推广能够带来嵌入式软件工业更有效、更专业化的分工,减少社会重复劳动、提高劳动生产率。
5RTOS的基本特征
(1)任务
任务(Task)是RTOS中最重要的操作对象,每个任务在RTOS的调用下由CPU分时执行。激活的或当前任务是CPU正在执行的任务,休眠的任务是在存储器中保留其执行的上下文背景、一旦切换为当前任务即可从上次执行的末尾继续执行的任务。任务的调度目前主要有时间分片式(TimeSlicing)、轮流查询式(Round-Robin)和优先抢占式(Preemptive)三种,不同的RTOS可能支持其中的一种或几种,其中优先抢占式对实时性的支持最好。
(2)任务切换
RTOS管理下的系统CPU和系统资源的时间是同时分配给不同任务的,这样看起来就象许多任务在同时执行,但实际上每个时刻只有一个任务在执行,也就是当前任务。任务的切换有两种原因。当一个任务正常地结束操作时,它就把CPU控制权交给RTOS,RTOS则检查任务队列中的所有任务,判断下面那个任务的优先级最高,需要先执行。另一种情况是在一个任务执行时,一个优先级更高的任务发生了中断,这时RTOS就将当前任务的上下文保存起来,切换到中断任务。RTOS经常性地整理任务队列,删除结束的任务,增加新的要执行任务,并将其按照优先级从大到小的顺序排列起来,这样可以合理地在各个任务之间分配系统资源。
(3)消息和邮箱
消息(Message)和邮箱(Mailbox)是RTOS中任务之间数据传递的载体和渠道,一个任务可以有多个邮箱。通过邮箱,各个任务之间可以异步地传递信息,没有占用CPU时间的查询和等待。当RTOS包含片上总线接口驱动功能时,各个单片机之间的通信也通过邮箱的方式来进行,用户并不需要了解更深的关于硬件的内容。
(4)旗语
旗语(Semaphore)相当于一种标志(Flag),通过预置,一个事件的发生可以改变旗语。一个任务可以通过监测旗语的变化来决定其行动,在监测旗语变化的时候不消耗CPU时间,旗语对任务的触发是由RTOS来完成的。通过使用旗语,一个任务在等待事件变化的时候就可以不必不断查询,而把CPU时间出让给其它任务。
(5)存储区分配
RTOS对系统存储区进行统一分配,分配的方式可以是动态的或静态的,每个任务在需要存储区时都要向RTOS内核申请。RTOS通过使用存储分配类核心对象管理数据存储器,在动态分配时能够防止存储区的零碎化。
(6)中断和资源管理
RTOS提供了一种通用的设计用于中断管理,有效率而灵活,这样可以实现最小的中断潜伏时间和最大的中断响应度。RTOS内核中的资源对象类则实现了对系统实体资源或虚拟资源的独占式访问,一个任务可以取得对资源的唯一访问权,其它任务在资源释放以前无法访问,这样可以避免资源冲突。设计完善的RTOS具有检查可能导致系统死锁的资源调用设计。
上面是RTOS的基本特征。根据产品的不同,它可能还包含许多其它功能。
6你的处理器是不是需要一套实时多任务操作系统
RTOS是目前嵌入式系统领域的热点之一,是流行的开发平台,但它毕竟对于许多用户来说还是昂贵的,还会大量改变用户习惯的开发方式,因此在引入RTOS以前对必要性进行考察还是明智的。你可以思考下面的几个问题:
(1)你的处理器控制的时间和方式和你预想的一样吗?
(2)你是否发现自己花费很多时间盘算怎样使一段代码在该执行的时候执行?
(3)你是否花费太多时间在中断子程序上,知道主程序不可能顺序地处理中断事件,便试图编出所有代码来处理中断事件?
(4)你是否发现自己在不断地测试标志或调用测试标志的子程序,来判断是否应当执行一段子程序?
如果你对上面问题的回答有一个以上是肯定的话,那么就是到了需要一套实时多任务操作系统将你从编程的琐碎中解脱出来的时候了。
8目前有什么样的RTOS?
当你在电子杂志上寻找RTOS的时候,可能会发现世界上研制RTOS产品的公司多得令你无所适从;但是仔细阅读后会发现,它们的产品可能只覆盖几种处理器,而且是你所不熟悉的。目前产品比较全面的公司主要有美国的CMXCompany和EmbeddedSystemProducts(ESP),Inc,它们对中国单片机工业流行的单片机,如8051,251,196/296,P51XA,68xxx等都有RTOS及其相关的接口库函数产品,提供源程序代码,没有每个产品的二进制版税。其中CMX公司的产品价格略低,较适合中国市场;而ESP公司的产品则有较丰富的库函数支持
看系统的包含内容。
物联网就是物物相连的互联网,物联网操作系统是一个通用的概念,与“嵌入式操作系统”一样,是一类操作系统的统称。其中操作系统都包含HelloX、ARM Mbed OS、Android IoT/Brillo、Windows 10 IoT Core、WatchOS、Ubuntu Core 16、μCLinux、QNX、TRON、μT/OS、FreeRTOS、TinyOS等等还有很多种,物联网操作系统是新一代信息技术的重要组成部分。
TencentOS tiny 是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如 STM32 全系列)及模组芯片上。而且,基于 RTOS 内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。
物联网和操作系统这个话题出现在IT界时,你常常听到“嵌入式操作系统”这个术语与“实时操作系统”(RTOS)互换使用。但实际上,一些嵌入式操作系统有实时功能,另一些则没有这种功能。 真正的RTOS物联网设备需要处理数据时没有缓冲延迟。
以上就是关于物联网操作系统有哪些全部的内容,包括:物联网操作系统有哪些、智慧树知到《DIY智慧小屋带你玩转物联网》2023见面课答案、如何看待ARM新发布的mbed OS等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!