A
arquitetura do Android é dividida em cinco camadas:
Aplicativos: é a
camada mais alta da arquitetura, formada pelas aplicações originais do sistema
como navegador de internet, despertador, calendário, agenda, entre outros.
Todas as aplicações são escritas na linguagem JAVA.
Framework
Nativo: camada responsável pela disponibilização das APIs
necessárias para o desenvolvimento de aplicações, atuando como o intermediário
entre a camada de aplicativos e a camada de bibliotecas, simplificando a
reutilização de componentes, já que o desenvolvedor dispõe de acesso total à mesma
estrutura de APIs usada nos aplicativos centrais, podendo, desta forma,
aproveitá-las conforme achar necessário.
Bibliotecas: o
Android disponibiliza um grupo de bibliotecas em C/C++, que são acessadas pelos
desenvolvedores via JAVA, e utilizadas pelos diversos componentes do sistema.
Manipular arquivos, imagens, áudio, vídeo, banco de dados, entre outros, são
funções desta camada.
Ambientes
em execução (Runtime): em nível de camada igual a de
bibliotecas, localiza-se a responsável por permitir a execução de cada processo
em sua própria instância virtual. A Máquina Virtual utilizada é a Dalvik
Virtual Machine, desenvolvida pelo Google e aprimorada para trabalhar da forma
mais eficiente possível em dispositivos móveis.
Uma
aplicação do Android é executada em seu próprio processo e cada processo é uma
instância da máquina virtual Dalvik. Os arquivos são executados em formato
Dalvik Executable (.dex) e são otimizados para que ocupe uma fatia pequena na
memória.
Linux
kernel: é a camada de mais baixo nível da arquitetura do
Android. Responsável pelo gerenciamento de memória, de processos e de E/S,
pilha de rede, entre outros. É nesta camada que ocorre a abstração entre o
hardware e o resto da pilha de software, ficando exposto para toda a
plataforma.
fonte: http://www.gratisdicas.com.br/sistema-operacional-android-processos-arquivos.html


