Equipo 5
PROCESO DE CARGA O INICIO DEL SISTEMA OPERATIVO
ANDROID WINDOWS
1. Boot ROM
Cuando se enciende el dispositivo, lo primero que se pone en
marcha es la CPU. Ésta tiene hardcoreada la dirección de
memoria donde se encuentra el código de inicio, o boot 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 encendido de la computadora es el primer paso en
el proceso de arranque, el microprocesador se inicia
y carga el BIOS en memoria o directamente lee la
ROM y directamente la ejecuta desde ahí.
2. Boot Loader
La CPU empieza a ejecutar entonces el Boot Loader, o SPL. Este
código se asemeja en funcionalidad al GRUB de 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.
Equipo 5
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 un disco de inicio es el registro de
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ón activa contiene un sector de inicio, que es el
siguiente paso del proceso de arranque. Si el disco no
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 scripts de inicio contenidos en /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 punto de vista del analista forense, es la parte de inicio
más suculenta, por lo que, si os pica la curiosidad, os recomiendo
que busques este archivo y le eches un ojo. Necesitareis eso si
un dispositivo rooteado y un explorador 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.
Equipo 5
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
Iniciado el servicio Zygote, el sistema ya puede empezar a 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.

Cuadro comparativo

  • 1.
    Equipo 5 PROCESO DECARGA O INICIO DEL SISTEMA OPERATIVO ANDROID WINDOWS 1. Boot ROM Cuando se enciende el dispositivo, lo primero que se pone en marcha es la CPU. Ésta tiene hardcoreada la dirección de memoria donde se encuentra el código de inicio, o boot 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 encendido de la computadora es el primer paso en el proceso de arranque, el microprocesador se inicia y carga el BIOS en memoria o directamente lee la ROM y directamente la ejecuta desde ahí. 2. Boot Loader La CPU empieza a ejecutar entonces el Boot Loader, o SPL. Este código se asemeja en funcionalidad al GRUB de 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.
    Equipo 5 3. Kernel Lacarga 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 un disco de inicio es el registro de 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ón activa contiene un sector de inicio, que es el siguiente paso del proceso de arranque. Si el disco no 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 scripts de inicio contenidos en /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 punto de vista del analista forense, es la parte de inicio más suculenta, por lo que, si os pica la curiosidad, os recomiendo que busques este archivo y le eches un ojo. Necesitareis eso si un dispositivo rooteado y un explorador 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.
    Equipo 5 5. Zygote Esteservicio 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 Iniciado el servicio Zygote, el sistema ya puede empezar a 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.