1. Equipo5
PROCESO DE CARGA O INICIO DELSISTEMA OPERATIVO
ANDROID WINDOWS
1. BootROM
Cuando se enciende el dispositivo, lo primero que se pone en
marcha es la CPU. Ésta tiene hardcoreada la dirección de
memoriadondese encuentrael códigode inicio, oboot ROM. Lo
que hace este código es inicializar el resto de hardware del
dispositivo. Hecho esto, busca la partición de arranque, que
suele estar en la memoria NAND, y copia el boot loader en la
RAM.
1.
El encendidode la computadoraesel primer pasoen
el proceso de arranque, el microprocesadorse inicia
y carga el BIOS en memoria o directamente lee la
ROM y directamente la ejecuta desde ahí.
2. BootLoader
La CPU empieza a ejecutar entonces el Boot Loader, o SPL. Este
código se asemeja en funcionalidad al GRUBde Linux, ya que su
función es la de lanzar el sistema operativo Android o dar la
opción de elegir una alternativa, como el fastboot, recovery, o
una imagen custom creada por la comunidad.
2
El BIOS toma el control de la secuencia de arranque
del ordenador y se ejecuta el post. En caso de
producir algún error durante el post, se detendrá el
proceso y se generaran los mensajes acústicos y
ópticos pertinentes. En caso de que en proceso
continúe se evaluaran el resto de los dispositivos.
2. Equipo5
3. Kernel
La carga del kernel de Android es igual que cualquier sistema
Linux. Inicializa memoria, dispositivos, schedulers, y acceso a la
partición raíz para lanzar el proceso init.
3
El primer sector de undisco de inicio es el registrode
arranque maestro (MBR). El MBR contiene la
información de partición de disco del disco de
arranque. Cada disco tiene una partición "activa". La
particiónactiva contieneunsector deinicio, quees el
siguientepaso del procesode arranque. Siel discono
tiene una partición activa, no será arrancable y el
BIOS se moverá al siguiente disco en su orden de
inicio, o mostrará un error si ningún disco tiene una
partición activa.
4. Init
Al igual que en un sistema Linux, el proceso init se encarga de
lanzar los scriptsde inicio contenidosen /etc/rcX.d. En este caso
el script que se ejecuta es init.rc que se encuentra en raíz,
aunque el fichero o la ubicación puede variar dependiendo del
dispositivo. Contiene toda la configuración inicial del sistema.
Desde el puntode vista del analista forense, es la parte de inicio
mássuculenta, porloque, si ospica la curiosidad, osrecomiendo
que busques este archivo y le eches un ojo. Necesitareis eso si
undispositivorooteadoy unexplorador de ficheros que permita
navegar por directorios con permisos de root.
4
Windows inicia los procesos, comprueba e inicializa
todos los dispositivos conectados a la motherboard.
el cargador de inicio toma el control del proceso de
inicio y lee su archivo de configuración (boot.ini o
BOOTBCD), que dirige el proceso de instalación a
una instalación de Windows situada en un disco y
partición específicos del sistema.
3. Equipo5
5. Zygote
Este servicio lanzado por Init es el encargado de inicializar las
máquinas virtuales Dalvik. Básicamente su función es crear
máquinas virtuales por cada proceso nuevo que se inicia.
5
Si el archivo de configuración es válido, Windows
empieza a cargarse y verá aparecer la pantalla de
presentación de Windows en la pantalla del sistema.
6. System Server
Iniciadoel servicio Zygote, el sistemaya puede empezara lanzar
servicios básicos, como la telefonía, teclado, y otros agentes y
servicios de Google. Finalizado el inicio de estos servicios, el
sistema está listo para interactuar con el usuario.
6
Finalmente se cargan todas las aplicaciones que se
inician con Windows.