1. Android
1. Encendido y ejecución del código ROMde
arranque
Al encendido, la CPU estará en un estado en
el que no se hayan realizadoinicializaciones.
Los relojes internos no están configurados y
la única memoria disponible es la RAM
interna.Cuandolas fuentes de alimentación
son estables, la ejecución comenzará con el
código ROM de arranque. Este es un
pequeño pedazo de código que está
cableado en la CPU ASIC.
2. El cargador de arranque
El cargador de arranque es un programa
especial separadodel kernel de Linux que se
utilizaparaconfigurar las memorias iniciales
y cargar el kernel a la RAM. En los sistemas
de escritorio,loscargadoresde arranque son
programas como GRUB y en Linux
incorporado. UBoot suele ser el cargador de
arranque de su elección. Los fabricantes de
dispositivos a menudo utilizan sus propios
cargadores de inicio propietarios.
Windows
1. El encendido de la computadora es el
primer paso en el proceso de arranque.
Cuando pulsamos el botón de encendido
situado en la parte frontal del ordenador, lo
que hacemos es conectar la fuente de
alimentacióndelPCyque la corriente llegue
a la placa base y al resto de los dispositivos.
El microprocesador se inicia y carga la BIOS
en memoria o directamente lee la ROMy la
ejecuta desde ahí.
2. La BIOStoma el control de la secuencia de
arranque del ordenador y se ejecuta
el POST (Power On Self Test) o Test de
autochequeo,evaluándose enprimerlugarla
tarjeta gráfica y arrancando el sistema de
vídeo. En caso de producirse algún error
durante el POST,se detendrá el proceso y se
generarán los mensajes acústicos y ópticos
pertinentes. En caso de que el proceso
continúe, se evaluarán el resto de los
dispositivos.
3. Tras estascomprobacionesse habilitará el
monitor, mostrando el conteo de memoria
del sistema,yse realizaráun“inventario”
de los componentes del PC habilitando un
chequeo por cada uno de los dispositivos
instalados. Ahora se inicia el proceso
Plug&Play mostrando en pantalla todos los
elementos encontrados.
2. 3. El kernel de Linux
El kernel de Linux se iniciade manera similar
en Android como en otros sistemas.
Establecerá todo lo que sea necesario para
que el sistema funcione. Inicializar los
controladores de interrupción, configurar
protecciones de memoria, cachés y
programación.
4. El proceso init
El proceso init es la "abuela" de todos los
procesos del sistema. Cada otro proceso en
el sistemase iniciaráapartir de este proceso
o uno de sus descendientes.
4. Finalmente, llega el momento de
buscar una unidad de arranque del sistema
operativo según la secuencia definida en la
propiaBIOS.El Boot Manager esun pequeño
programa que permite cargar el sistema
operativo. En caso de que tengamos un solo
sistema operativo instalado en el equipo lo
ejecutará sin más, pero en el caso de que
tengamos varios sistemas operativos
instalados, este programa nos preguntará
cual sistema operativo deseamos cargar.
3. 5. Zygote y Dalvik
El Zygote es lanzado por el proceso init y
básicamente sólo comenzará a ejecutar e
inicializar la VMde Dalvik.
6. El servidor del sistema
El servidor del sistema es el primer
componente de Java que se ejecuta en el
sistema. Se iniciará todos los servicios de
Android, como administrador de telefonía y
bluetooth. El inicio de cada servicio se
escribe actualmente directamente en el
método run del servidor del sistema. La
fuente del servidor del sistema se puede
encontrar en el marco de archivos / base /
services / java / com / android / server /
SystemServer.java en el proyecto de código
abierto.
7. Botón completado
Se agregó esta parte a la publicación en
20090831 ya que es muy útil y algo que no
debería haber dejado fuera desde el
principio.Unavezque el servidordel sistema
esté en funcionamiento y el arranque del
sistema haya finalizado, hay una acción de
difusión estándar denominada
ACTION_BOOT_COMPLETED.