Skip to content

Latest commit

 

History

History
16 lines (11 loc) · 1.76 KB

1.4 -- Android Boot Process.md

File metadata and controls

16 lines (11 loc) · 1.76 KB

Booting is starting up computer or electronic device. When we power up our computer device it read data stored in ROM and it contain Firmware. Firmware Initialized your hardware self-test and allow accessing other memory types like Hard Drive or Main Memory and it also loads boot loader into Main Memory and starts Executing.

Major Components of Android Boot loader

  • Boot Loader :-: Bootloader is the Vendor Image file, which is responsible for loading Kernel from secondary storage into Main memory.

  • Kernel :-: Kernel is low level software that interface with Device Hardware with help of different Drivers. when kernel boots, it starts kernel daemons, mount root file system, Initialize I/O and Initialize Process table. kernel also starts the Init System Process.

  • Init :-: Like all other Linux OS, Init is the first Process in android OS. All the command for Init Process are stored in init.rc file. Init Starts Services and Native Daemons, Specify User and Group under which Those services gone work, also starts debuggers like adbd and debuggerd. Native Daemons Starts Zygote Process.

  • Zygote :-: Zygote is the VM Process that starts with system boot. zygote start additional services and load libraries used by android framework. Zygote Process then acts as a loader for different Dalvik Process by creating copies of itself or by Forking. Zygote other major task is to start System_Server Process. This System_Server Process then starts all different so-called managers in Android like :-: 1. Activity managers 2. Notification managers 3. Telephone managers 4. Resource managers

  • Once system Services up and running in memory, “ACTION_BOOT_COMPLETED” standard broadcast action will fire.