How does the typical Android boot process work? Possible Duplicate:
  Can somebody explain the boot process of an Android device?  




Windows follow some specific way to boot:
Start System > BIOS > Load Boot loader > Load WIN Kernel > Load WIN Shell > User > Application.

How does the typical Android boot process work? When comes the "Dalvik VM" into play?
Boot process of embedded system is similar to PC from overview level, but slightly different from microscopic level.

Here's the boot process of an Android device:


PC-BIOS/BootMonitor, MBR and GRUB/LILO etc are all combined in one Boot Strap Firmware called Bootloader. Its init.S initializes stacks, zeros the BSS segment and calls _main() in main.c. The main.c initializes hardware (clocks, board, keypad, console) and creates Linux tags which in turns loads Linux Kernel image in memory.
Linux Kernel sets up the system, loads drivers and starts running the first process init.
The init process involves setup of File System (mount points of /sys etc are created at this point) and execution of init.rc.
Execution of init.rc: It is boot-up script which uses Android-Specific syntax. Zygot process in init.rc brings up Dalvik VM and starts the system server.


All these are happened before Boot Animation is displayed.

For more details of processes, check out this article: http://www.androidenea.com/2009/06/android-boot-process-from-power-on.html