SlideShare una empresa de Scribd logo
Android:
Es un sistema operativo móvil, queriendo esto decir que está orientado a dispositivos
portátiles o móviles como lo son los smartphones, tablets, smart TVs, entre otros; Es
desarrollado por Google Inc. Con la ayuda de la Open Handset Alliance, basado en el
Kernel (Núcleo) de Linux bajo una licencia de código abierto.
¿Cómo nace Android?:
La primera aparición de Android se hace en 2003 con la fundación de Android Inc. en
Palo Alto, Estados Unidos. Esta compañía se fundó con el propósito de crear un sistema
operativo móvil de código abierto basado en el núcleo de Linux.
En 2005 Google Inc. adquiere esta empresa siendo esta la nueva responsable del
desarrollo de Android. En 2007 se funda la Open Handset Alliance, un consorcio con el
propósito de crear estándares abiertos para dispositivos móviles, la cual pasaría a formar
parte del proyecto Android con lo que la primera versión de este sistema operativo vería
la luz. A partir de ahí se seguiría desarrollando este sistema operativo hasta la actualidad.
Estructura de Android:
El sistema operativo Android está organizado en varias capas, siendo la más baja el
núcleo y la más alta las aplicaciones.
Núcleo: Esta capa es el Kernel de Linux, provee servicios genéricos tales como el
manejo de la seguridad (permisos), manejo de procesos, manejo de memoria, sistema de
archivos, E/S y los controladores del hardware. Además de estos servicios del Kernel de
Linux mencionados, también provee servicios específicos de Android como lo son el
manejo de energía (batería), el low memory killer (liberador de memoria), entre muchos
otros.
Librerías nativas: Es una variedad de librerías escritas en C y C++ usadas por el sistema
para la creación de procesos e hilos, cálculos, asignación de memoria, actualización de la
visualización, reproducción de audio y video, modelado de gráficos 3D, manejo de bases
de datos y para la representación y visualización de páginas web.
Runtime de Android: Esta capa está compuesta por un conjunto de librerías escritas en
JAVA que facilitan la programación de nuevas aplicaciones; Y por una maquina virtual. Las
aplicaciones de Android están escritas en JAVA, por lo cual se necesita una maquina virtual
que ejecute estos programas, pero, dadas las limitaciones de hardware que poseen los
dispositivos hacia los cuales está dirigido Android, no es posible utilizar la maquina virtual
de JAVA por lo que Google desarrollo una maquina virtual llamada Dalvik la cual permite
ejecutar sus aplicaciones en dispositivos móviles.
Entorno de aplicación: Esta se conforma por una gran cantidad de software reusable
que las aplicaciones necesitan tales como botones, iconos, cajas de entrada de texto,
entre otros elementos utilizados en las interfaces de usuario, la lista de aplicaciones
instaladas para facilitar la comunicación entre las aplicaciones, gestor de ventanas, gestor
de actividades, proveedor de contenido, gestor de ubicación, gestor de notificaciones,
entre otros.
Aplicaciones: Es un conjunto de aplicaciones propias de Android como la pantalla de
inicio, el marcador de teléfono, el navegador web, el lector de correo electrónico, etc.
Componentes de aplicación:
En Android cada aplicación está conformada por componentes, estos componentes son
los diferentes puntos desde los que el sistema puede ejecutar la aplicación, los hay de
cuatro tipos según el propósito que tenga en la aplicación:
Actividades (activities): Son pantallas con interfaz de usuario. Por ejemplo una
aplicación de correo electrónico puede tener una actividad que visualiza una lista de
correos recibidos, otra que edita un correo a ser enviado y otra que permite leer un
correo recibido.
Servicios (services): Son componentes que se ejecutan en segundo plano y no ofrecen
ninguna interfaz de usuario. Por ejemplo un servicio puede reproducir música mientras el
usuario está en otra aplicación.
Receptores de difusión (broadcast receivers): Estos componentes responden a
anuncios enviados a todo el sistema. Por ejemplo que la pantalla se apagó.
Proveedores de contenido (content providers): Estos se encargan de gestionar
información compartida con otras aplicaciones.
Gestión de procesos:
Cuando se inicia un componente de alguna aplicación, y esta aplicación no tiene ningún
otro componente ejecutándose, el sistema crea un nuevo proceso para esa aplicación con
un único hilo de ejecución, por defecto, todos los componentes de una misma aplicación
se ejecutan dentro de este mismo proceso y a medida que se inician más componentes se
anexan al proceso.
El sistema intenta mantener los procesos en memoria por el mayor tiempo posible,
pero si llega a necesitar memoria para procesos de mayor importancia, se verá en la
necesidad de matar procesos. Para determinar qué proceso ha de matar, el sistema le
asigna a cada proceso una prioridad, matando siempre el proceso con menor prioridad, en
caso de haber varios procesos con la misma prioridad se mata al menos recientemente
usado. Las prioridades son:
Primer plano: Estos son procesos que contienen la actividad con la que el usuario esta
interactuando en ese momento o contienen algún servicio del que dependa el proceso
que contiene a la actividad que interactúa con el usuario.
Visible: Estos son procesos que contienen alguna actividad que, aunque no está en
primer plano, es visible para el usuario, por ejemplo si se da el caso de que la actividad en
primer plano recién iniciada permita ver la actividad anterior justo tras ella, o bien
contiene algún servicio del que depende otro proceso visible.
Servicio: Son procesos que contienen servicios que, aunque no interactúan
directamente con el usuario, le incumben directamente al usuario, por ejemplo el
reproductor de música.
Segundo plano: Estos son procesos cuyos componentes no afectan a la experiencia del
usuario. Por lo general estos procesos son los matados mas comúnmente por lo que están
preparados para reanudarse en el punto en que quedaron una vez vuelven a iniciarse.
Vacio: Estos procesos no tienen componentes activos por lo que no ejecutan nada, la
única razón por la que se mantienen en memoria es para agilizar el inicio de futuros
componentes que necesiten ejecutarse en el.
La prioridad que se le asigna a un proceso siempre es la de su componente con mayor
prioridad, es decir, si su componente con mayor prioridad es Visible entonces la prioridad
del proceso será visible.
Puede darse el caso de que un proceso A sea dependiente de otro con menor prioridad
B, en estos casos la prioridad del proceso B tendría que igualar la prioridad del proceso A
ya que un proceso no puede tener menor prioridad que la de los procesos que dependen
de él.

Más contenido relacionado

La actualidad más candente

Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
José Antonio Sandoval Acosta
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
thalia margarita serrano diaz
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
Luis Dario Gomez
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
manuel alfredo chacon valero
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Caso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetosCaso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetosMiguel Martinez
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
Gusttavo Nipas
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
Sofylutqm
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
Mario Alberto Antonio Lopez
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre Juan Anaya
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
NANO-06
 
Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.
jorm1297
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia webMeli Vidal
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
Luis Eduardo Aponte
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
DorvinEduardo
 

La actualidad más candente (20)

Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Calculadora
CalculadoraCalculadora
Calculadora
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Administracion de entrada y salida
Administracion de entrada y salidaAdministracion de entrada y salida
Administracion de entrada y salida
 
Caso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetosCaso practico de base de datos orientada a objetos
Caso practico de base de datos orientada a objetos
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.Cuadro comparativo sobre los tipos de sistemas operativos.
Cuadro comparativo sobre los tipos de sistemas operativos.
 
Tecnologia web
Tecnologia webTecnologia web
Tecnologia web
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 

Similar a Android estructura del Sistema Operativo

Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
Frank Jorge
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 
Abarca so moviles
Abarca so movilesAbarca so moviles
Abarca so moviles
Cinthya Abarca
 
sistema operativo de una computadora
sistema operativo de una computadorasistema operativo de una computadora
sistema operativo de una computadora
Junior Choqque
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
hojalataverde
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones movilesJose Antonio Prieto
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3
ERWIN AGUILAR
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
Habib Franco
 
El software
El softwareEl software
El software
maiietchegoyen
 
Artículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas OperativosArtículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas Operativos
1719786046
 
App inventor
App inventorApp inventor
App inventor
Mariaelena Moscoso
 
Materitopicos.pdf
Materitopicos.pdfMateritopicos.pdf
Materitopicos.pdf
AdelfaHernndezRodrgu
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
Emilio Aviles Avila
 
Informe de computacion 05.07.2014
Informe de computacion 05.07.2014Informe de computacion 05.07.2014
Informe de computacion 05.07.2014
21586985
 

Similar a Android estructura del Sistema Operativo (20)

Gestion de procesos Android
Gestion de procesos AndroidGestion de procesos Android
Gestion de procesos Android
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Gestion de memoria_en_android
Gestion de memoria_en_androidGestion de memoria_en_android
Gestion de memoria_en_android
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 
Abarca so moviles
Abarca so movilesAbarca so moviles
Abarca so moviles
 
sistema operativo de una computadora
sistema operativo de una computadorasistema operativo de una computadora
sistema operativo de una computadora
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones moviles
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
El software
El softwareEl software
El software
 
El software
El softwareEl software
El software
 
El software
El softwareEl software
El software
 
El software
El softwareEl software
El software
 
Artículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas OperativosArtículo científico sobre Sistemas Operativos
Artículo científico sobre Sistemas Operativos
 
App inventor
App inventorApp inventor
App inventor
 
Materitopicos.pdf
Materitopicos.pdfMateritopicos.pdf
Materitopicos.pdf
 
Trabajo
TrabajoTrabajo
Trabajo
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Informe de computacion 05.07.2014
Informe de computacion 05.07.2014Informe de computacion 05.07.2014
Informe de computacion 05.07.2014
 

Más de Jesus Jimenez

Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...
Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...
Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...
Jesus Jimenez
 
Accesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones Web
Accesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones WebAccesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones Web
Accesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones Web
Jesus Jimenez
 
Migracion de Sistemas Computacionales
Migracion de Sistemas ComputacionalesMigracion de Sistemas Computacionales
Migracion de Sistemas Computacionales
Jesus Jimenez
 
Presentacion Migracion de Sistemas Computacionales
Presentacion Migracion de Sistemas ComputacionalesPresentacion Migracion de Sistemas Computacionales
Presentacion Migracion de Sistemas Computacionales
Jesus Jimenez
 
Seguridad 3 - Redes de Computadoras
Seguridad 3 - Redes de ComputadorasSeguridad 3 - Redes de Computadoras
Seguridad 3 - Redes de Computadoras
Jesus Jimenez
 
Capa de Aplicacion - Redes de Computadoras
Capa de Aplicacion - Redes de ComputadorasCapa de Aplicacion - Redes de Computadoras
Capa de Aplicacion - Redes de Computadoras
Jesus Jimenez
 
Seguridad 2 - Redes de Computadoras
Seguridad 2 - Redes de ComputadorasSeguridad 2 - Redes de Computadoras
Seguridad 2 - Redes de Computadoras
Jesus Jimenez
 
Seguridad 1 - Redes de Computadoras
Seguridad 1 - Redes de ComputadorasSeguridad 1 - Redes de Computadoras
Seguridad 1 - Redes de Computadoras
Jesus Jimenez
 
Capa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de ComputadorasCapa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de Computadoras
Jesus Jimenez
 
Capa de Enlace - Redes de Computadoras
Capa de Enlace - Redes de ComputadorasCapa de Enlace - Redes de Computadoras
Capa de Enlace - Redes de Computadoras
Jesus Jimenez
 
Sistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOsSistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOs
Jesus Jimenez
 
El reconocimiento facial
El reconocimiento facialEl reconocimiento facial
El reconocimiento facial
Jesus Jimenez
 
Organizacion del computador documento vertical
Organizacion del computador documento verticalOrganizacion del computador documento vertical
Organizacion del computador documento vertical
Jesus Jimenez
 
Trabajo de circuito logico restador
Trabajo de circuito logico restadorTrabajo de circuito logico restador
Trabajo de circuito logico restador
Jesus Jimenez
 

Más de Jesus Jimenez (14)

Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...
Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...
Tesis: Desarrollo de Aplicación Web tipo help desk integrado en Sistema Web e...
 
Accesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones Web
Accesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones WebAccesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones Web
Accesibilidad Web - Universidad de Carabobo - Desarrollo de Aplicaciones Web
 
Migracion de Sistemas Computacionales
Migracion de Sistemas ComputacionalesMigracion de Sistemas Computacionales
Migracion de Sistemas Computacionales
 
Presentacion Migracion de Sistemas Computacionales
Presentacion Migracion de Sistemas ComputacionalesPresentacion Migracion de Sistemas Computacionales
Presentacion Migracion de Sistemas Computacionales
 
Seguridad 3 - Redes de Computadoras
Seguridad 3 - Redes de ComputadorasSeguridad 3 - Redes de Computadoras
Seguridad 3 - Redes de Computadoras
 
Capa de Aplicacion - Redes de Computadoras
Capa de Aplicacion - Redes de ComputadorasCapa de Aplicacion - Redes de Computadoras
Capa de Aplicacion - Redes de Computadoras
 
Seguridad 2 - Redes de Computadoras
Seguridad 2 - Redes de ComputadorasSeguridad 2 - Redes de Computadoras
Seguridad 2 - Redes de Computadoras
 
Seguridad 1 - Redes de Computadoras
Seguridad 1 - Redes de ComputadorasSeguridad 1 - Redes de Computadoras
Seguridad 1 - Redes de Computadoras
 
Capa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de ComputadorasCapa de Transporte - Redes de Computadoras
Capa de Transporte - Redes de Computadoras
 
Capa de Enlace - Redes de Computadoras
Capa de Enlace - Redes de ComputadorasCapa de Enlace - Redes de Computadoras
Capa de Enlace - Redes de Computadoras
 
Sistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOsSistemas Operativos Moviles, Android y IOs
Sistemas Operativos Moviles, Android y IOs
 
El reconocimiento facial
El reconocimiento facialEl reconocimiento facial
El reconocimiento facial
 
Organizacion del computador documento vertical
Organizacion del computador documento verticalOrganizacion del computador documento vertical
Organizacion del computador documento vertical
 
Trabajo de circuito logico restador
Trabajo de circuito logico restadorTrabajo de circuito logico restador
Trabajo de circuito logico restador
 

Último

trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 

Último (10)

trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 

Android estructura del Sistema Operativo

  • 1. Android: Es un sistema operativo móvil, queriendo esto decir que está orientado a dispositivos portátiles o móviles como lo son los smartphones, tablets, smart TVs, entre otros; Es desarrollado por Google Inc. Con la ayuda de la Open Handset Alliance, basado en el Kernel (Núcleo) de Linux bajo una licencia de código abierto. ¿Cómo nace Android?: La primera aparición de Android se hace en 2003 con la fundación de Android Inc. en Palo Alto, Estados Unidos. Esta compañía se fundó con el propósito de crear un sistema operativo móvil de código abierto basado en el núcleo de Linux. En 2005 Google Inc. adquiere esta empresa siendo esta la nueva responsable del desarrollo de Android. En 2007 se funda la Open Handset Alliance, un consorcio con el propósito de crear estándares abiertos para dispositivos móviles, la cual pasaría a formar parte del proyecto Android con lo que la primera versión de este sistema operativo vería la luz. A partir de ahí se seguiría desarrollando este sistema operativo hasta la actualidad.
  • 2. Estructura de Android: El sistema operativo Android está organizado en varias capas, siendo la más baja el núcleo y la más alta las aplicaciones. Núcleo: Esta capa es el Kernel de Linux, provee servicios genéricos tales como el manejo de la seguridad (permisos), manejo de procesos, manejo de memoria, sistema de archivos, E/S y los controladores del hardware. Además de estos servicios del Kernel de Linux mencionados, también provee servicios específicos de Android como lo son el manejo de energía (batería), el low memory killer (liberador de memoria), entre muchos otros.
  • 3. Librerías nativas: Es una variedad de librerías escritas en C y C++ usadas por el sistema para la creación de procesos e hilos, cálculos, asignación de memoria, actualización de la visualización, reproducción de audio y video, modelado de gráficos 3D, manejo de bases de datos y para la representación y visualización de páginas web. Runtime de Android: Esta capa está compuesta por un conjunto de librerías escritas en JAVA que facilitan la programación de nuevas aplicaciones; Y por una maquina virtual. Las aplicaciones de Android están escritas en JAVA, por lo cual se necesita una maquina virtual que ejecute estos programas, pero, dadas las limitaciones de hardware que poseen los dispositivos hacia los cuales está dirigido Android, no es posible utilizar la maquina virtual de JAVA por lo que Google desarrollo una maquina virtual llamada Dalvik la cual permite ejecutar sus aplicaciones en dispositivos móviles.
  • 4. Entorno de aplicación: Esta se conforma por una gran cantidad de software reusable que las aplicaciones necesitan tales como botones, iconos, cajas de entrada de texto, entre otros elementos utilizados en las interfaces de usuario, la lista de aplicaciones instaladas para facilitar la comunicación entre las aplicaciones, gestor de ventanas, gestor de actividades, proveedor de contenido, gestor de ubicación, gestor de notificaciones, entre otros. Aplicaciones: Es un conjunto de aplicaciones propias de Android como la pantalla de inicio, el marcador de teléfono, el navegador web, el lector de correo electrónico, etc. Componentes de aplicación: En Android cada aplicación está conformada por componentes, estos componentes son los diferentes puntos desde los que el sistema puede ejecutar la aplicación, los hay de cuatro tipos según el propósito que tenga en la aplicación: Actividades (activities): Son pantallas con interfaz de usuario. Por ejemplo una aplicación de correo electrónico puede tener una actividad que visualiza una lista de correos recibidos, otra que edita un correo a ser enviado y otra que permite leer un correo recibido.
  • 5. Servicios (services): Son componentes que se ejecutan en segundo plano y no ofrecen ninguna interfaz de usuario. Por ejemplo un servicio puede reproducir música mientras el usuario está en otra aplicación. Receptores de difusión (broadcast receivers): Estos componentes responden a anuncios enviados a todo el sistema. Por ejemplo que la pantalla se apagó. Proveedores de contenido (content providers): Estos se encargan de gestionar información compartida con otras aplicaciones. Gestión de procesos: Cuando se inicia un componente de alguna aplicación, y esta aplicación no tiene ningún otro componente ejecutándose, el sistema crea un nuevo proceso para esa aplicación con un único hilo de ejecución, por defecto, todos los componentes de una misma aplicación se ejecutan dentro de este mismo proceso y a medida que se inician más componentes se anexan al proceso. El sistema intenta mantener los procesos en memoria por el mayor tiempo posible, pero si llega a necesitar memoria para procesos de mayor importancia, se verá en la necesidad de matar procesos. Para determinar qué proceso ha de matar, el sistema le asigna a cada proceso una prioridad, matando siempre el proceso con menor prioridad, en caso de haber varios procesos con la misma prioridad se mata al menos recientemente usado. Las prioridades son: Primer plano: Estos son procesos que contienen la actividad con la que el usuario esta interactuando en ese momento o contienen algún servicio del que dependa el proceso que contiene a la actividad que interactúa con el usuario. Visible: Estos son procesos que contienen alguna actividad que, aunque no está en primer plano, es visible para el usuario, por ejemplo si se da el caso de que la actividad en primer plano recién iniciada permita ver la actividad anterior justo tras ella, o bien contiene algún servicio del que depende otro proceso visible. Servicio: Son procesos que contienen servicios que, aunque no interactúan directamente con el usuario, le incumben directamente al usuario, por ejemplo el reproductor de música.
  • 6. Segundo plano: Estos son procesos cuyos componentes no afectan a la experiencia del usuario. Por lo general estos procesos son los matados mas comúnmente por lo que están preparados para reanudarse en el punto en que quedaron una vez vuelven a iniciarse. Vacio: Estos procesos no tienen componentes activos por lo que no ejecutan nada, la única razón por la que se mantienen en memoria es para agilizar el inicio de futuros componentes que necesiten ejecutarse en el. La prioridad que se le asigna a un proceso siempre es la de su componente con mayor prioridad, es decir, si su componente con mayor prioridad es Visible entonces la prioridad del proceso será visible. Puede darse el caso de que un proceso A sea dependiente de otro con menor prioridad B, en estos casos la prioridad del proceso B tendría que igualar la prioridad del proceso A ya que un proceso no puede tener menor prioridad que la de los procesos que dependen de él.