Android X IOS
A arquitetura do sistema Android é dividida em camadas, conforme a seguinte figura.
Figura 1 – Arquitetura do Android. Fonte: http://pt.wikipedia.org/wiki/Ficheiro:Android-System-Architecture.svg
Nos próximos tópicos explicaremos sobre os módulos da arquitetura Android.
KERNEL DO LINUX
A arquitetura do Android é baseada no kernel do GNU/Linux, versão 2.6. O kernel do sistema funciona como uma camada de abstração entre o hardware e o restante da pilha de softwares da plataforma.
O kernel GNU/Linux já possui vários recursos necessários para a execução de aplicações, como gerenciamento de memória, gerenciamento de processos, pilha de protocolos de rede, módulo de segurança e vários módulos do núcleo de infraestrutura. Como o sistema operacional é conhecido, também facilita o surgimento de melhorias aos drivers já existentes.
BIBLIOTECAS
O Android inclui um novo conjunto de bibliotecas C/C++ usados pelos vários componentes do sistema. As funcionalidades são expostas através do framework do Android. Algumas das bibliotecas do núcleo da arquitetura são listadas abaixo:
Surface Manager: Controla e gerencia o acesso ao subsistema de display. Compõe transparentemente camadas gráficas 2D e 3D de múltiplas aplicações.
3D libraries: Uma implementação baseada na especificação do OpenGL 1.0.
SGL: Biblioteca usa para compor gráficos 2D.
Media libraries: Essas bibliotecas suportam playback e gravação de muitos formatos de áudio e de vídeo, bem como imagens estáticas, incluindo MPEG4, H.264, MP3, AAC, AMR, JPG e PNG.
FreeType: É uma biblioteca usada para renderizar fontes.
SSL: Fornece encriptação de dados enviados pela Internet.
SQLite: É uma biblioteca C que implementa um banco de dados SQL embutido. Programas que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo RDBMS em separado. SQLite não é uma biblioteca de cliente usada para conectar com um servidor de banco de