/
Background Introduction Background Introduction

Background Introduction - PowerPoint Presentation

trish-goza
trish-goza . @trish-goza
Follow
343 views
Uploaded On 2020-01-02

Background Introduction - PPT Presentation

Background Introduction Android OS Architecture Feasibility and Necessity Android RTS Architecture Limitation Improvement Lei Cui Evaluating Android OS for Embedded RealTime Syst em Background Introduction ID: 771857

amp android kernel linux android amp linux kernel architecture memory based management scheduling resource apps integration dalvik time platform

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Background Introduction" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Background IntroductionAndroid OS ArchitectureFeasibility and NecessityAndroid RTS ArchitectureLimitationImprovementLei Cui Evaluating Android OS for Embedded Real-Time Syst em

Background IntroductionAndroid platform has been instantly improved either in terms of features or supported hardware, as well as the extension-based new types of devices, which has attracted much attention from the various industries fields gradually. In other words, the utilization of Android OS based on Linux kernel has covered the whole daily life related to the E-control.However, there is a feature that has not been explored yet - the RT capabilities. This paper provides an idea of adding some RT features into Android platform to make it a RT architecture in order to be used in open real-time environment.

Android OS ArchitectureAndroid ArchitectureApplication Uppermost layer; a core set of applications; out of the box Application Framework APIs; Services; Libraries libc : the standard C system library for embedded Linux-based devices Android RuntimeAndroid VM (Dalvik): target for memory/CPU-constrained devices; Infinite register-based machineLinux KernelDrivers; Resource Management; Power Management; Hardware Control Management, etc; HAL: interaction with HW via Drivers Details of Android Architecture

Android OS Architecture(DVM)1. Why does Android architecture utilize DVM but JVM? Less instruction dispatch and memory access——30% Less CPU resource and computation time More bytes in the instruction stream——35%2. What is the principle of Dalvik VM?

Dalvik-VMLinux KernelResource Management CapabilityFeasibility and Necessity

Feasibility and Necessity(Dalvik-VM) Fork() VM father process Child processes Pre-initialization & Pre-loading Of Android APIs and Classes (initial Andriod Runtime & setup VM) All the scheduling activities are delegated by the VM to the kernel

Feasibility and Necessity(Linux Kernel)

Feasibility and Necessity(Resource Management Capability)

Android RTS ArchitectureAndroid Full RT Platform Pros predict priority inversion; better resource management; more-seamless integration; predictability and determinism; Cons Drivers supported natively implement during integration phase; Android Extended Difference(RTSJ) Both works ensure resource reservation & RT tasks scheduling in order to guarantee resource bandwidth to apps, within an interval of time Pros: beneficial for incorporating a more deterministic RT behavior in the VM level; Con: keep up with release cycle of Android Pros: bound-based memory management; RT scheduler in RT-JVM; better synchronisation mechanisms; avoid priority inversion; Cons: integration issues

Android RTS ArchitectureAndroid Partly RT Android with a RT Hypervisor Guest OS Parallel High Priority High Priority No need for VM Apps that need VM will not benefit from this model Apps are limited by RT Hypervisor; If RT apps hangs, the sys may hang; Low Integration

RT Linux LimitationLinux system scheduling unit is 10ms, which is coarse-granularity and cannot provide the precise timing;Until now, when a task or process is called into kernel state from userland it is unpreempted that cannot guarantee the predictability & undeterministics;The utilization of virtual memory technology; ……. 5. Lack of effective and efficient RT scheduling algorithms & policies;

ImprovementImprove the accuracy of the CPU clock via Clock Counter Register to solve the Linux coarse-granularity issues; eg. RT-Linux & Kurt-Linux;By insert preempted points into kernel functions to solve unpreempted issues that cannot guarantee the predictability & undeterministics; for instance, RED-Linux; ……. Define OS scheduling RT framework & algorithms to solve the issues lack of effective and efficient RT scheduling algorithms & policies; RED-Linux, Qlinux , H-SFQ, Cello, SILK, etc.

Background IntroductionArchitectureImplementation & EvaluationLei CuiReal-Time Android: Deterministic Ease of Use

Background IntroductionThe preferences of end-usersDevelopers with consistent usability A convenient development environmentAndroid Platform(upper)Rich & Mature feature set Linux Kernel(bottom) Android Architecture Android stack with RT capabilities in a minimally invasive way via adding a crucial Linux building block Exclusive concern in the industrial embedded domainRemedies for user & programmerof embedded RTS

ArchitectureLinux Kernel(Kernel State) Android Framework (User State ) Communication & Data exchange

Architecture---Linux Kernel RT support by the OS kernel is obviously a mandatory requirement for RT architectures RTAI RTLinux , Xenomai Preempt_rt Litmus-RT … Preempt_rt is not a RT kernel owing to the complexity of the Linux kernel ——impossible to prove upper bounds on all operations under all possible circumstances ——allow to determine upper latency bounds

Architecture--- User State Android Full RT Platform Android Extended The Android userland is heavily based on the Dalvik VM, based on register rather than stack architecture. Obsolete--why Exceed constrained developer resources Provide an insufficient return o n investment Linux C without translation by VM

Architecture--- Data exchange Communication Channel Reject unbounded delays Shared-memory & Mutual exclusion  avoid data corruption Easily result in unbounded latencies Shared-memory & Synchronization algorithm  lock-free & wait-free

Implementation & EvaluationA. Basis Component Integration Based on the preempt_rt release 2.6.33, back-port the BSP from 36 to 33, and forward-port the Android patch set from 32 to 33.B. Shared-memory 1. A system service creates a shared-memory via mmap () sys call; 2. The service registers at Binder; 3. All programs acquire reference via Binder call; 4. Native clients receive pointer directly; JNI library provides access methods to Android apps.

Implementation & EvaluationC. Demo D. Latency Measurements E . Efforts