实时安卓操作系统(RTAndroid)

实时安卓操作系统(RTAndroid)

下一代也就是适应人工智能,移动互联网,大数据和工业4.0等的时代的嵌入式实时操作系统

 

 

由成都实安安信科技有限公司开发的实时安卓操作系统(RTAndroid)正式版1.1版,现在已经开发成功了。实时安卓操作系统(RTAndroid)是业界第一个硬实时的安卓操作系统,它的出现填补了操作系统领域的一个空白。

 

    安卓操作系统现在应用越来越广泛,它基于Linux内核,是一个通用的分时操作系统,实时性并不强。把安卓操作系统改造成硬实时的操作系统,可以既利用安卓操作系统强大的功能和完善庞大的生态链实现通用的功能,又可以利用实时框架和接口实现特殊的实时需求。两者要能够完美共存。实时安卓操作系统(RTAndroid)在这方面做出了开创性的尝试,解决诸多技术难题,现在已经成熟了,可以投入商用。

 

    把安卓操作系统改造成硬实时的操作系统,首先是要改造Linux内核,实时安卓操作系统(RTAndroid)对Linux内核的改造采用了双内核改造法,之所以采用双内核改造法,而没有采用移植难度和工作量都小很多的Preempt RT补丁,主要出于两方面的考虑,一是采用双内核改造法可以获得最好的实时性能,二是采用双内核改造法更易于将非实时和实时处理逻辑相隔离。

 

    实时安卓操作系统(RTAndroid)的双内核改造有两个版本,第一个版本是直接移植自xenomai的版本,采用xenomai是因为它很好的解决了用户空间实时性的问题,可以在安卓用户空间创建硬实时线程。移植xenomai并不是一件容易的事情,Linux内核需要修改一两百个文件,很多人在这一步已经失败了。出于公司的战略考虑,还搞了第二个版本,这个版本在xenomai基础上主要做了以下一些方面的改动,第一,裁减掉了xenomai上很多实时安卓操作系统(RTAndroid)所不需要的功能;第二,实时内核采用了早年开发的一个非商用的实时内核FREDOS;第三,没有采用ADEOS/IPIPE,而是采用了一种特殊的架构,即没有采用域的概念,取而代之的是空间的概念,而且只有两个空间,Linux空间和实时空间。空间是硬编码的,不支持动态注册。事实上xenomai的域也只支持Linux域和实时域。它支持域的动态注册,但在现实中没有成功实现的实施例。第四,也支持用户空间实时性,但只有一个接口,POSIX接口,这也没有什么难的,从用户空间到内核空间一般都通过系统调用。第二个版本和第一个版本在实时性能上基本相当。但由于时间和资源所限,xenomai仍然是业界最稳定,最成熟和最全面的Linux双内核改造方案。如果采用第一个版本,尽管我们为了实现实时安卓操作系统(RTAndroid)的功能作了不少改动,我们还是会开放内核层的相关源码,以遵循GPL授权协议。

 

    如果只完成了这一步,还不能称作实时安卓操作系统,充其量只可以称作为实时Linux。为了成为真正的实时安卓操作系统,在现在这个版本中,还做了以下一些方面的工作:

 

  •     第一,修改了安卓操作系统的Bionic,增加了一些实时安卓操作系统(RTAndroid)需要用到的pthread调用。

  •  

    •     第二,创建并编写了实时安卓操作系统(RTAndroid)的用户空间与Linux内核空间实时接口的库librtau_main.so。它是实时安卓操作系统(RTAndroid)的用户空间与Linux内核空间实时接口之间的桥梁。它是一个对POSIX规范的扩展。

  •  

    •     第三,通过对Linux内核及实时安卓操作系统(RTAndroid)的用户空间的修改,开发了一种将实时处理和非实时处理严格隔离的负载均衡策略。基本解决了在非实时通用处理逻辑处在较重处理负载时,实时性能会受到较大影响的困扰多年的问题。

  •  

    •     第四,为实时事件及实时请求的跨进程传递量身订做了RTSock进程间通讯机制。它的接口类似于Linux Socket接口,但对实时事件及实时请求的跨进程传递通过特殊处理,优化了性能。

  •  

    •     第五,为实时事件及实时请求的跨进程传递量身订做了RTBinder进程间通讯机制。它基于谷歌的Binder机制,但通过特殊处理,解决了由于非实时Binder处理的竟争而导致实时Binder处理的性能下降的问题。

  •  

    •     第六,基于RTSock开发了RTASock框架。RTASock框架在内核中运行的中断处理程序或实时线程中和没有ROOT权限的普通安卓应用程序之间建立了一条或多条直接,快速,有效且通用的双向实时通道。通过它可以使普通安卓应用程序可以很容易地且最快速地与内核中的实时驱动打交道。

  •  

    •     第七,基于RTBinder开发了RTABinder框架。RTABinder框架在内核中运行的中断处理程序或实时线程中和没有ROOT权限的普通安卓应用程序之间建立了一条或多条直接,快速,有效且通用的双向实时通道。通过它可以使普通安卓应用程序可以很容易地且最快速地与内核中的实时驱动打交道。

    •  

    •  

      •     第八,当然其它还做了杂七杂八的很多工作,比如,测试RTASock和RTABinder的普通安卓应用和命令,用于测试性能指标的工具及框架,用于和实时内核打交道的一些工具和命令,实时网络的TCP/IP协议栈及命令,以及一些驱动等,在此不再一一列举。

 

    那么实时安卓操作系统(RTAndroid)能给我们带来什么呢,下面分几个方面论述:

 

  •       第一,实时安卓操作系统(RTAndroid)可以优化系统的实时设计。

  •  

    •       由于系统功能的要求,现在很多系统采用这样的设计,由Linux或Windows这样的通用分时操作系统去处理通用的复杂功能的逻辑,再由一个单片机去处理一些实时需求,通用CPU和单片机之间通过串口或网口相连。考虑到单片机成本并不高,所以这种设计很流行。但这种设计效率并不高,通用CPU和单片机之间的通讯效率并不高,成为系统性能提高的瓶颈。之所以流行,主要有两个原因,第一,把通用的分时操作系统改造成实时操作系统难度比较大;第二,担心在非实时处理重负载时,实时性能得不到保证。

    •  

    •  

      •       现在有了实时安卓操作系统(RTAndroid),这两方面均不需要担心,尤其是开发了将实时处理和非实时处理严格隔离的负载均衡策略后。软件的发展一般滞后于硬件,现在CPU一般六个核或八个核,原有的一些设计已不适应于CPU处理能力的发展。采用了实时安卓操作系统(RTAndroid),非实时和实时之间的交互速度达到了片内总线的速度,单片机除非很特殊的情况,将不再必要,这样一个系统既能跑优异的图形界面,复杂的算法和WEB框架,也能处理实时需求,显然这是一种更先进的系统设计。所以大胆的将原有设计升级换代吧。

 

  •       第二,丰富实时系统的功能和大大减少实时系统开发复杂功能时的工作量。

  •  

        现在很多实时系统还在采用像VxWorks和QNX等没有完善生态链支持的传统的实时多任务操作系统(RTOS)。这在传统的时代日子可以过得很好。但在人工智能,移动互联网,大数据,工业4.0等的时代,实时系统也不可能从零开始设计,许多功能对一个几个人或是一个不大的公司的团队来说几乎是不可能实现的。采用像实时安卓操作系统(RTAndroid)这样的有完善生态链支持的操作系统往往可以节省几十倍甚至上百倍的工作量。有些功能对于没有完善生态链支持的操作系统来说甚至是不可能实现的。对于这样的实时系统来说,应该考虑升级换代了。实时安卓操作系统(RTAndroid)是一个不错的选择,毕竟对于人工智能,移动互联网,大数据,工业4.0等的时代,优异的图形界面,复杂的算法和WEB框架往往是必不可少的。当然,有些实时系统,可能用VxWorks和QNX等这样的系统更适合一些。

 

  •       第三,可以利用实时调度来优化执行机构的效率。

  •  

        实时安卓操作系统(RTAndroid)的实时调度性能优越,内核级实时线程的调度延时可达到几微秒级,用户空间级实时线程的调度延时可达到数十微秒级。

      比如,对一个多方向或多维运动或多轴联动的机器人来说,优异的图形界面,复杂的算法和WEB框架(与云端高效率通讯)往往是必须。

      现在人们把注意力往往集中在优化算法的速度,其实对这种机器人来说,优化执行机构的效率,对提升用户体验也是至关重要的。

 

      实时安卓操作系统(RTAndroid)无疑可适应这方面的需求,将执行机构的效率提升到最高,同时又满足优异的图形界面,复杂的算法和WEB框架的需要,而且这些都在一个系统上完成,无需外部接口。

      上面只是举了一个例子,类似的原理可扩展到其它应用场景。读者可以根据你们的工作需求。来看一看实时安卓操作系统(RTAndroid)对于你们是否有契合点。

 

      综上所述,将实时安卓操作系统(RTAndroid)定位于下一代也就是适应人工智能,移动互联网,大数据,工业4.0等的时代的嵌入式实时操作系统。

 

 

      实时安卓操作系统(RTAndroid)没有采用完全开源的发布方式,这是由实时安卓操作系统(RTAndroid)的特殊性所决定的。

      Linux内核一个版本,安卓一个版本,RTAndroid一个版本,这些都需要专业的人士或团队来维护,这样可以让用户把他们的精力集中在算法和业务逻辑的实现上,而不是他们所不熟悉或不擅长的方面。

 

      因此,本公司提供实时安卓操作系统(RTAndroid)的定制开发服务,可按你们的需求来定制开发实时安卓操作系统(RTAndroid),来适用你们的系统和业务需求。

 

 

 

      如需服务,联系方式如下:

 

联系人: 杨先生

电话: 18030466400

EMAIL:[email protected]

 

      欢迎垂询洽谈。谢谢。

 

公司主页    www.shiananxin.com

你可能感兴趣的:(android,realtime,实时,实时安卓,嵌入式操作系统)