實時安卓操作系統(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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章