PROCESOS, HILOS Y ESTADOS
■ Android es un S.O. multiprocesos
■ Los procesos que se ejecutan han de poder descomponerse en hilos
■ Si un recurso no responde en 5 segundos dará lugar a un
mensaje de “Application Not Responding
■ Para liberar recursos, Android elimina los procesos en una
“jerarquía de importancia” en 5 niveles
JERARQUIA DE IMPORTANCIA
■ PROCESOS DE PRIMER PLANO
Proceso requerido para lo que el usuario está haciendo actualmente.
■ PROCESOS VISIBLES
Proceso requerido que no esta en primer plano pero el usurario lo puede ver.
■ PROCESOS DE SERVICIO
Procesos que se ejecutan servicios sin que el usuario los vea
■ PROCESOS EN SEGUNDO PLANO
Procesos en ejecución pero que no están como principal para el usuario.
■ PROCESOS VACÍOS
Procesos que no están presentes en los componentes de la aplicacion
SEMÁFORO
■ El acceso a recursos en un sistema Android es en forma de
competencia
■ Varios Procesos pueden requerir la misma posición de memoria
■ Las soluciones a este problema, los algoritmos de Lamport y
Dekker
CONCURRENCIA
■ Android es un S.O. multitarea
■ Utiliza una gestión de memoria basada en la “localidad temporal” (sí, algo
así como en la memoria caché)
■ Android ejecuta varias aplicaciones sin problema de forma
jerarquica
INTERBLOQUEO
■ Cuando dos o más procesos se encuentran en progreso de manera
simultánea y requieren uno o varios recursos
■ Cuando varios procesos quieren hacer el uso de los mismos recursos al
mismo tiempo
■ La solución lo puede tener el sistema operativo o la
aplicación que quiere ejecutar los procesos
GESTIÓN DE PROCESOS
La estructura de datos de la gestión de procesos es administrada por una
gestión de procesos estándar :
GESTIÓN DE PROCESOS
• Android termina un proceso cuando no hay suficiente memoria para otros
procesos.
• Todos los componentes de aplicaciones que se ejecutan en el proceso que
se está terminando por el sistema operativo se destruyen.
• Un nuevo proceso se iniciará por aquellos componentes cuando estos
componentes deben funcionar de nuevo.
• Android decide que procesa a finalizar en función de su importancia
relativa para el usuario por ejemplo todos los componentes de un proceso
no son visibles.