加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

每天了解一个物联网操作系统(九)(Ostro Linux)

发布时间:2022-12-17 14:02:17 所属栏目:Linux 来源:未知
导读:
自从英特尔公司推出Joule计算模块(运行在最新的四核凌动T5700片上系统上)后,这款基于Yocto Project的发行版一举成名。Ostro Linux符合IoTivity(IoTivity是英特尔和三星主导开发的一个

系统可靠性框图怎么画_linux系统框图_iic嵌入式linux驱动框图

自从英特尔公司推出Joule计算模块(运行在最新的四核凌动T5700片上系统上)后,这款基于Yocto Project的发行版一举成名。Ostro Linux符合IoTivity(IoTivity是英特尔和三星主导开发的一个开源项目,目的是建立统一的物联网设备标准)连接标准。它支持众多的无线技术,还提供一种传感器框架;非常注重物联网安全,提供操作系统、设备、应用程序和数据等层面的保护,包括加密和MAC。该发行版包含在无外设版本和媒体(XT)版本中。

系统可靠性框图怎么画_iic嵌入式linux驱动框图_linux系统框图

英特尔和三星构建的IoTivity框架

在IoTivity框架中,底层通信基于UDP, CoAP是IETF为Constrained device制定的通信标准,包含了两层:message和req/rsp。message层定义了数据传输的格式,并且针对UDP传输的不可靠性,加入了安全传输的机制;req/rsp层为RESTful框架提供链路支撑。

Ostro OS是针对连接和嵌入式设备开发而进行优化的Linux发行版,是一套基于Linux并且为物联网智能设备量身定制的开源操作系统,可以支持蓝牙、NFC、Wi-Fi等连接方式,并且可以支持多种如IoTivity的设备对设备互联互通标准。

Ostro项目是由英特尔公司主导创建的一个开源物联网操作系统项目,它的目的是开发一个针对物联网应用的专门的操作系统,这个操作系统的名字也叫做Ostro。它是基于Linux内核进行裁剪,并针对物联网领域的智能设备进行定制,专门应用于物联网的操作系统。

Ostro操作系统可以被安装在USB存储杆或者SD卡上,可以直接启动物联网硬件设备。当然,物联网应用开发者也可以根据自己的需要对Ostro进行二次裁剪,自定义一个符合自身应用场景的全新内核。这个特征完全符合物联网操作系统的要求。

可以基于Yocto工具链进行编译开发和裁剪。

iic嵌入式linux驱动框图_linux系统框图_系统可靠性框图怎么画

英特尔物联网操作系统Ostro层次结构框图

Ostro操作系统的主要特征包括可裁剪、安全、丰富的开发环境,以及面向物联网的丰富组件和服务支持等,具体如下:

● 基于Linux操作系统进行裁剪,专门用于IoT领域;

● 支持Intel的Quark和Intel Atom处理器;支持VirtualBox虚拟机;

● 支持Node.JS、Python、Java和C/C++等语言进行应用程序开发;

● 支持符合OCF标准的设备发现机制,开发者可通过RestFUL API,对设备状态进行查询;

● 支持符合OCF标准的JavaScript API;

● 安全特性,比如可信启动、应用程序内存隔离、权限管理,以及OS镜像完整性验证等机制;

● 丰富的通信技术支持,包括Bluetooth/BLE, Wi-Fi,6LowPAN,以及CANbus等。下面按照Ostro层次结构框图从上往下的顺序,对Ostro的各个层次做简要阐述。

IoT应用程序

IoT应用程序层次包含了所有使用Ostro编程接口所开发的物联网应用程序。当前的Ostro版本并没有开发任何特定的应用程序实例,仅仅提供了如何开发应用程序的指导及一些简单的代码片段。随着Ostro的发展,或许会有针对特定典型场景的物联网应用程序,比如智慧家庭应用程序被纳入到这个层次中发布。

编程接口

编程接口是Ostro提供给应用程序开发者使用的,用于开发各种各样的物联网应用程序。当前来说,Ostro提供了多种多样的编程接口供开发者根据自己的喜好和特定应用场景进行调用。主要有:

● Java和Python编程接口。物联网应用程序开发者可以采用Python和Java语言,开发特定的应用程序。Ostro提供了常用的支持类库。

● Node.JS编程接口。Ostro提供了Node.JS的运行支持,以及特定的一些JavaScript API(以Node.JS模块方式提供)。这些Java Script API涵盖了相对广泛的物联网应用场景,比如包含了开放连接基金会(OCF)定义的API接口。这样就非常便于物联网应用程序开发者直接使用这些API,调用IoTivity等协同框架的功能。

● Soletta编程接口。Soletta是一个开源的物联网应用程序开发框架,它提供了一些常用的物联网应用开发库,便于程序员方便、快速地开发物联网应用程序。Soletta是一种编程框架,可以采用传统的C语言进行应用程序开发,也可以采用一种叫做“基于流的编程语言”(Flow-based Programming)进行物联网应用的开发。

总之,Ostra提供了相对丰富的编程框架,供应用开发者选择。

物联网协同框架

Ostro内置了对IoTivity的支持。IoTivity是一个开源的软件框架,用于无缝地支持设备到设备的互联,以及人与设备的简便互联。其主要是为了满足物联网开发的需要,构建物联网的生态系统,使得设备和设备之间可以安全可靠地连接。而IoTivity通过提供一系列框架和服务来加速设备的互联应用开发。该项目由OpenInterconnect Consortium(OIC)组织赞助,相当于是OIC标准的一个参考实现。

Ostro服务

Ostro服务主要是指系统级的一些进程或线程,这些进程或线程负责管理网络连接,加载必要的支撑服务,以及提供进程间通信(IPC)支持等。在Ostro操作系统中,保留了大部分Linux操作系统所支持的systemd、D-Bus等。

除此之外,在线软件更新也是Ostro提供的基本服务之一。这是专门为物联网应用所提供的一个基本服务,可以快速地完成物联网设备的软件更新,而且只需要最小的软件下载量,并且只需要重新启动必要的物联网设备即可,而不需要重新启动所有的物联网设备。

在线软件更新是确保物联网可管理、可维护的核心机制,通过物联网操作系统与后端云平台的协同,使得物联网设备的软件始终保持在最新和最安全的状态。

Ostro的基本库

Ostro的基本库包括随Linux内核一起发行的最基本运行库,比如最常用的C运行库等。当然,Ostro可以根据需要,动态地扩展基本库的范围。

Linux内核

Ostro的内核就是通用的Linux内核,它包括最基本的驱动程序支持、硬件适配支持、网络支持、文件系统及设备管理机制等。为了适应物联网的应用,Ostro对Linux内核做了一些微调,使得内核可以支持更多的传感器(Sensor),能够支持更多的连接类型,比如蓝牙、Wi-Fi、ZigBee等。

但是由于Linux内核本身的复杂性和不可分割性linux系统框图,使得Ostro物联网操作系统很难具备其应该具备的高度伸缩性要求。

从上面的分析中可以看出,Ostro操作系统与我们定义的物联网操作系统分层模型基本上是对应的。

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!