原创 话说物联网操作系统

2015-5-23 15:48 3209 14 21 分类: 消费电子
最近好多家都宣布推出自己的物联网操作系统。
 
1. Google将要在Google I/O大会发布的Brillo;
2. 三星推出的Artik芯片搭载Mentor Graphics的Nucleus;
3. 华为最近推出的LiteOS。
 
Brillo
 
从36氪的报道看“Google正在打造自己的物联网操作系统,名为Brillo,最低能在配置32MB或64MB内存的设备上运行,既适用于冰箱这样的家电,又适用于小型的传感器及相关设备”。这个描述可以看出,Google的Brillo并不是定位于MCU及内存在KB级别的操作系统。
 
LiteOS
 
而LiteOS的名字很早就被使用了,是美国伊利诺思大学发布的一个开源物联网平台。而华为推出的LiteOS当前只限于海思平台,这基本上限制了它的应用。
5月23号访问其在Github上的代码仓库并没有提交源代码。代码的最后更新时间是2015.04.23。距离发布有一个月的时间,但是到发布也没有上传源代码。而且,华为提供的LiteOS社区的注册过程有异常,邮箱的校验一直提示有问题,其实可以注册。从这些细节来看,华为并没有做好将其开发的LiteOS开源的准备。所以说其噱头大于实质,并非夸大其词。
 
Nucleus RTOS
 
由Mentor Graphics公司开发的Nucleus RTOS需要付费使用。
 
Contiki
 
物联网操作系统,肯定要提到Contiki的。在Github上的Contiki的代码更新很快。这个操作系统已经开发了10多年,主要开发者Adam博士(LwIP和uIP的设计与开发者), 而且Contiki本身也已经被使用。 更有丰富的资料供参考。 单是围绕Contiki的论文就有很多,从Contiki的软件架构,到其协议栈的实现都有论文介绍。 而且源码在Github上可以直接获取。 国内玩Contiki的人也已经有很多了,国内的开发者写的关于Contiki的博客也有很多。
 
应用
 
不同的硬件资源决定了能够运行多大的软件。对于物联网节点而言,其功能要求简单,所以采用的硬件资源极为有限。这种情况下要求软件足够小。是否采用操作系统也不一定,裸奔(没有操作系统)也未尝不是一种选择。
但是,对于一些功能要求更多一些的设备,需要采用的硬件资源较多,可以运行较大的软件。这种情况下,选择操作系统是必须的。这样可以减小开发的工作量,提高开发效率。
由于物联网本身的复杂性,决定了必然会存在很多硬件资源差异很大的设备。每一种操作系统都有其使用的范围,如果非要使用一种操作系统跑在所有的硬件上不太现实。
所以每一种操作系统都要想好自己的应用范围。做好自己的事情,并做好(一个程序只做一件事情,并做好)。

文章评论7条评论)

登录后参与讨论

用户1691471 2015-10-13 12:57

物联网操作系统,布吉岛国内的,机智云呀,庆科呀,等这些公司的算不算???

用户1831397 2015-8-14 14:47

深圳康协利供应新思,敦泰,汇顶,赛普拉斯效率最高的触摸屏测试工具联系人,左先生:13510413458 罗先生:13316924980 www.comshare-sz.c om

1989tie_959541171 2015-5-27 20:27

在物联网中,着重于联网。 现在的RTOS强调于实时,它们的侧重点不一样。 如果要移植一个RTOS做物联网操作系统,跑6LoWPAN+IP+UDP(将来物联网的主流网络协议),如果自己写估计要不少时间,如果直接使用也要移植uIP(或者LwIP),UDP,6LoWPAN等。 而这些,Contiki都已经实现了。Contiki本身就是为了IP在MCU上跑诞生的。

用户1454308 2015-5-27 19:56

Good

用户1454308 2015-5-27 19:55

Good

用户1251548 2015-5-27 17:08

好多开源的RTOS都可以做物联网操作系统的

用户1678053 2015-5-25 09:38

看看

用户1624139 2014-2-13 09:51

理論和實踐都有突破,看來假以時日,玻璃的強度增加有希望了。
相关推荐阅读
catch2000 2015-07-19 11:44
信号线小电阻的作用
在一块新的PCB上,测试系统能否正常运行的时候,发现系统上电后没有正常启动。  系统框图如下:   在上电的时刻,CPU A(GPIO电平2.6V)会向串口发送启动日志数据,CPU A启动后,...
catch2000 2015-07-05 17:04
协议设计中ACK机制的影响
在TCP/IP中,延时ACK和Nagle算法。  TCP为了同时处理成块数据(通常为512字节的用户数据)和交互数据(通常用户数据比较少,例如不大于10个字节),采用了延时ACK和Nagle算法...
catch2000 2015-03-31 23:52
不要采用异或来交换两个变量
在进行两个变量的时候,经常会看到有些书误人子弟的推荐使用异或的方式: 方式一 {   x = x ^ y;   y = x ^ y;   x = x ^ y; } 而不是...
catch2000 2014-10-09 07:28
为什么要测试先行
在产品的研发过程中,测试一项至关重要。不论是软件还是硬件。   软件的测试先行,在研发过程中,就做到质量的保证,因为在出现Bug的时候,容易定位Bug,而且即使是在客户端出现Bug,也能够...
catch2000 2014-10-09 07:26
C语言的面向对象编程(一)
一、前言 对于编程而言,重要的是解决问题的方式,而不是语言本身。面向对象与面向过程是解决问题和思考问题的方式。C语言常说是面向过程开发的语言,因为其缺少很多对于面向对象特性的支持。但,这并不影...
我要评论
7
14
关闭 站长推荐上一条 /2 下一条