Android Automotive Course (CH02) : Embedded Android Basics

 What are the differences between Android and Linux ..?

  • Bionic C: Uses less memory and is not CPU-hungry
  • Low Memory Killer (OOM killer): Out of Memory killer decides which process is less important and can be terminated to free up the memory.
  • Binder IPC
  • HAL
  • Logcat
    • dmesg logs - we can see kernel logs
    • logcat logs - Android app logs
  • Wakelocks

Linux Architecture



  • Drivers play a crucial role as intermediaries between the hardware and the software. Here’s a simplified explanation:
    • Think of the Linux kernel as a busy office manager who needs to ensure that all the different office equipment (hardware) works smoothly with the staff (software). The drivers are like specialized assistants who know how to operate each piece of equipment. They translate the staff’s requests into actions that the equipment can understand and carry out.

Android Architecture



How Linux Boots ..?

  1. When you power-on , the bootloader will be loaded to RAM and it finds the kernel and loads to RAM.
  2. Once the kernel boots it initializes the subsystems, and drivers and mounts the file system. Runs the first UserSpace process "init".
  3. Init will start other services and applications

How Android Boots ..?

  1. Pressing the power button initiates the Boot ROM, which then loads the bootloader into RAM. The bootloader is responsible for starting up the device and finding the system kernel.
  2. Similar to linux , Once the kernel boots it initializes the subsystems, and drivers and mounts the file system. Runs the first UserSpace process "init".
  3. Init process will start the native services and starts the zygote.
  4. Zygote initializes ART and Core libraries.
  5. Finally, Systemserver starts various services and managers which are essential for applications.

Comments

Popular posts from this blog

Devops overview

EdgeAI

GIS Dashboard for RailwayLine Safety