What happens under the hood when you turn on your Android mobile phone?
When you power on your mobile phone, a meticulous self-test is conducted on all the hardware components. This comprehensive check ensures that every part of your device is functioning flawlessly.
Once this rigorous hardware test is successfully completed, the Boot ROM, stored on the CPU, initiates the loading process.
The bootloader loads Android OS, validating certain aspects of the initial loading. The kernel loads device drivers and background processes and manages the system resources.
The init process loads and mounts directories and files and starts various processes.
The Android runtime is initialized and is mainly used by the Android operating system. As the runtime, ART executes the Dalvik executable (DEX) format and DEX bytecode specification. After these system services are started, the activity manager kicks in to bring the user the initial screen to start interacting.
-
Power-On Self-Test (POST): When you press the power button, the phone undergoes a quick self-check process known as POST. This test ensures that essential hardware components like the processor, memory, and battery function correctly.
-
Bootloader: After the POST is successfully completed, the bootloader, a small yet crucial program stored in the phone’s read-only memory (ROM), takes charge. It not only initializes the hardware but also orchestrates the booting process, including selecting the operating system to load.
-
Loading the Kernel: The bootloader loads the Android kernel into the device’s RAM (Random Access Memory). The kernel is the core of the Android operating system. It manages the device’s resources, such as the CPU, memory, and input/output operations.
-
Init Process: Once the kernel is loaded, the init process (short for initialization) is started. This process is responsible for initializing the Android system and launching essential system services and daemons.
-
Android Runtime (ART) Initialization. This is a critical step as ART is the runtime environment where Android applications come to life. It’s responsible for a significant task and compiles the application code into machine code, ensuring efficient execution on the device’s hardware. This makes ART a crucial part of the booting process.
-
Starting System Services: After the initialization of ART, various system services are started. These services include the Android System Server, which manages core system components like the package manager, activity manager, and window manager.
-
Launcher and User Interface: Once the system services are up and running, the launcher (the user interface that displays your home screen, app icons, and widgets) is started. This allows you to interact with your device and access your installed applications.
-
Loading Applications: Any pre-installed applications and services configured to start automatically are loaded. These may include system apps like the dialer, messaging app.
LinkedIn (and Source):