Real Time Android      Akshar     24/8/11
Objective• Having an Android based device capable of  running hard real time tasks
Why?• Robust embedded linux kernel• Community supported open souce native  libraries• Well thought partitioning between ma...
What Android lacks• Safety Critical features• Real-Time kernel• Not much support of digital analog I/O. wired  interfaces ...
Android Kernel
Android Kernel• 2.6.25 kernel modified specifically for low  power, low CPU, portable devices.• Translates to 75 edits and...
Android Applications• Each Android app is a process• Scheduled by the underlying Linux scheduler  (SCHED_OTHER)• Memory ma...
Applications in android
RT Suitability• Android Kernel uses the same Completely Fair  Scheduler of Linux 2.6• The libc implementation for Android ...
Possible Approache
Available hypervisors•   RTAI•   RT-Linux•   RT patch set for linux•   Our own SParK
RTAI• RTAI patch is not compatible with android  kernel out of the box. [Already tried that]
RT patch set (PREEMPT_RT)• Uses 2.6’s new features such as  CONFIG_PREEMPT• Well documented• Seems doable at the moment
SPaRK• Can it run a rich non RT OS like android on top  of it ?• Documentation?• Community Support?
To Summarize• Can we build a system with one periodic HARD  REAL TIME task along with Android?  – For simplicity we will a...
References• http://www.linuxjournal.com/magazine/real-time-linux-kernel-  scheduler• Evaluating Android for Real Time Appl...
Upcoming SlideShare
Loading in …5
×

Android and Hard Real Time

7,764 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,764
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
104
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Android and Hard Real Time

  1. 1. Real Time Android Akshar 24/8/11
  2. 2. Objective• Having an Android based device capable of running hard real time tasks
  3. 3. Why?• Robust embedded linux kernel• Community supported open souce native libraries• Well thought partitioning between managed and unmanaged code• Well developed/documented APIs for HMI.
  4. 4. What Android lacks• Safety Critical features• Real-Time kernel• Not much support of digital analog I/O. wired interfaces etc. [typically required in SCRT scenarios]
  5. 5. Android Kernel
  6. 6. Android Kernel• 2.6.25 kernel modified specifically for low power, low CPU, portable devices.• Translates to 75 edits and 88 new file additions• 5 changes to scheduler mostly to the run- queue locking• IPC Binder is new feature by Google.
  7. 7. Android Applications• Each Android app is a process• Scheduled by the underlying Linux scheduler (SCHED_OTHER)• Memory management however is done by Dalvik VM
  8. 8. Applications in android
  9. 9. RT Suitability• Android Kernel uses the same Completely Fair Scheduler of Linux 2.6• The libc implementation for Android is called bionic and it does not support process level mutexes but supports thread level mutexes and conditions.• No implementation of priority inheritance/ ceiling is present
  10. 10. Possible Approache
  11. 11. Available hypervisors• RTAI• RT-Linux• RT patch set for linux• Our own SParK
  12. 12. RTAI• RTAI patch is not compatible with android kernel out of the box. [Already tried that]
  13. 13. RT patch set (PREEMPT_RT)• Uses 2.6’s new features such as CONFIG_PREEMPT• Well documented• Seems doable at the moment
  14. 14. SPaRK• Can it run a rich non RT OS like android on top of it ?• Documentation?• Community Support?
  15. 15. To Summarize• Can we build a system with one periodic HARD REAL TIME task along with Android? – For simplicity we will assume that this task will not share any resources with other Android Processes.
  16. 16. References• http://www.linuxjournal.com/magazine/real-time-linux-kernel- scheduler• Evaluating Android for Real Time Applications (OSPERT -2010)• http://embedded-computing.com/android-rtos-duo-todays- medical-devices• Reliable Real-Time Applications on Android OS• An In-Vehicle Infotainment Software Architecture Based on Google Android• http://www.ibm.com/developerworks/linux/library/l-completely- fair-scheduler/• http://www.ibm.com/developerworks/linux/library/l-cfs/index.html• http://www.scandevconf.se/db/Marakana-Android-Internals.pdf

×