Android and Hard Real Time
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Android and Hard Real Time

on

  • 7,757 views

 

Statistics

Views

Total Views
7,757
Views on SlideShare
7,757
Embed Views
0

Actions

Likes
1
Downloads
95
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Android and Hard Real Time Presentation Transcript

  • 1. Real Time Android Akshar 24/8/11
  • 2. Objective• Having an Android based device capable of running hard real time tasks
  • 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. 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. Android Kernel
  • 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. 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. Applications in android
  • 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. Possible Approache
  • 11. Available hypervisors• RTAI• RT-Linux• RT patch set for linux• Our own SParK
  • 12. RTAI• RTAI patch is not compatible with android kernel out of the box. [Already tried that]
  • 13. RT patch set (PREEMPT_RT)• Uses 2.6’s new features such as CONFIG_PREEMPT• Well documented• Seems doable at the moment
  • 14. SPaRK• Can it run a rich non RT OS like android on top of it ?• Documentation?• Community Support?
  • 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. 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