alex.lin 发表于 2016-5-4 17:43:23

mbed OS物联网操作系统 2

这套操作系统是由事件驱动而非典型的实时型方案,ARM公司物联网技术营销事务负责人Zach Shelby告诉我们。换句话来说,这并不是一套复杂的、将处理器根据时间段加以拆分的先占式多任务内核; 其中不存在背景状态切换或者定时器截止机制。相反,mbed操作系统将始终处于休眠状态,直到来自传感器或者其它周边设备将其唤醒,这时它才开始运作并处理相应事件、决定是否触发上层堆栈组件、最终在事件完成后再次进入休眠状态。   如果大家曾经进行过单片机层面的开发工作,那么这样的机制估计并不会让各位感到惊讶。对于此类资源受限性环境而言,这样的处理方式颇具实际意义——也就 是说,能够起到很好的能耗削减效果。“电池续航能力可不会受到摩尔定律的引导,”Shelby指出,并提醒我们如今的移动处理器仍然受到孱弱供电能力的严 重制约。http://static.oschina.net/uploads/img/201412/11142311_8oxs.jpg上图为ARM提供的mbed操作系统分层示意; 基本上,作为一位开发人员,大家需要关注的只有最上端的蓝色区块,也就是应用程序与库。其余部分则构成了mbed Device Server,这部分内容主要是对底层软件与iOS及Android应用程序或者其它服务的交互机制进行了抽象化总结。  对设计思路加以 总结,ARM公司是希望那些利用C++、JavaScript、HTML、Swift以及其它编程语言为智能手机、平板设备以及台式机开发应用程序的编程 人员们能够将与硬件相关的所有环节隐藏在mbed堆栈当中,从而帮助他们轻松完成自己的本职工作。这些程序员用不着了解未公开寄存器与控制代码,也没必要 掌握困扰着整个系统芯片领域的占先机制; 这些工作都被mbed以抽象化方式解决了,这些零散但复杂的难题不应该成为应用程序开发者面前的阻碍。http://static.oschina.net/uploads/img/201412/11142311_JWea.jpg不过这一切到底是为了什么?这个问题指向的正是核心所在。事实上,如果直接要求嵌入式工程技术人员们为物联网打造出示例性传感装置以及表现出色的配套应 用程序,那么这次对话恐怕会陷入短暂但却极其尴尬的沉默当中。实际情况是,我们仍然处于“建设物联网且坚信物联网终将成为现实”的“起步阶段”。  ARM正与IBM公司携手打造智慧城市项目。这意味着市区内的路灯能够通过Wi-Fi或者蓝牙机制检测出附近有多少行人,并以此借助运行有mbed Device Server的系统来判断具体照明效果。此类机制能够更为准确、更细致地发挥运动探测器的功能。  家庭环境同样是物联网的 普及重点,在这里用户可以在橱柜门上安装运动传感器,从而帮助爸爸妈妈了解自己的小宝宝有没有偷偷跑去大啖甜食——在这种情况下,家长既可以选择利用自己 的智能手机接收提醒,也可以直接将其与小朋友的平板设备对接起来。换句话来说,偷吃饼干的小孩儿就不能在自己的平板上玩游戏了。为什么不直接把橱柜锁上 呢?这个嘛,也许有时候小朋友表现很出色,这样家长就能更灵活地加以控制、在适当时将甜食作为奖励。  也许大家更希望单纯通过自己的智能手机对家中的烤箱加以控制。ARM希望更多商家加入到这一领域中来,通过解决用户的迫切需求实现产品销售并借此赚取利润。当然,这也意味着ARM能够从此类产品中获得更多授权收益。http://static.oschina.net/uploads/img/201412/11142312_Fcse.jpgARM公司指出,他们已经拉拢了大批企业开发新型mbed项目——从IBM公司着力打造的智慧城市项目到系统芯片制造商描绘的Cortex-M核心发展蓝图并以此为中心设计周边产品。这些制造商希望能从芯片到主板全方位为mbed操作系统提供支持。http://static.oschina.net/uploads/img/201412/11142312_P1Qu.jpg根据我们掌握的消息,这款mbed操作系统应该会在2014年第四季度被交付至ARM的合作伙伴手中; 不过在2015年之前应该不会有任何采用该软件的设备产品被正式投放市场。Mike Muller认为整个开发流程大概需要三年时间,到那时供应商才能真正拿出理想的mbed物联网产品——当然,前提是这套平台得到广泛认可。而mbed Device Server目前显然已经准备好进入生产流程。  该软件被描述为一款免费且部分开源的解决方案,但是……好吧,事情好像总有但是。据我们 所知,mbed操作系统可供大家免费使用,而且其中很大一部分组件都将最终开源。不过固件当中仍然存在二进制机制,而且其中一部分将以受到严密保护的闭源 驱动程序形式提供给由芯片制造商推出的系统芯片产品; 这一部分是考虑到安全保护需要,另一部分原因在于某部分代码需要在彻底完成之后才能以开源方式呈现。  举例来说,大家应该可以对处于运行当中的单片机固件进行更新,因此我们肯定希望对升级过程进行严格加密、从而避免攻击者将任意恶意代码上传至设备当中。也就是说,闪存当中将包含有公共密钥。   当然,有一部分人会将这种机制称为控制,但ARM自身却将其形容为一致性。大家可以对mbed堆栈当中的开源部分进行调整与完善,但ARM希望保留让特 定组件维持一致性的能力,从而使整套平台实现全面兼容——特别是在安全及无线广播这类完全由代码支撑起具体设备的硬件层。  当mbed操作系统开始启动时,对应设备将能够获取并安装最适合周边机制的固件方案; 为了实现这一目标,系统芯片需要进行初始化,并以安全状态运行其可信命令; 如果设备本身已经遭到入侵,那么再理想的安全更新机制也将形同虚设。  再次强调,二进制组件仍将在系统当中发挥重要作用。不过ARM公司的合作伙伴们将获准对这部分源代码加以访问。原文:http://my.oschina.net/wxfvm/blog/355004
页: [1]
查看完整版本: mbed OS物联网操作系统 2