Sistema Operacional Android
Por: teddy batuta • 22/8/2017 • Trabalho acadêmico • 838 Palavras (4 Páginas) • 467 Visualizações
[pic 1][pic 2]
SISTEMA OPERACIONAL
INTEGRANTES:
Bruno Lima Bruno Caio Kenji Fukue Elvis Alves Ferreira
Isamara Barros de Souza
Wellington S. Santiago
[pic 3][pic 4]
Introdução
[pic 5][pic 6]
Motivação e objetivo
- Crescente demanda de tecnologia torna cada vez mais
necessário o desenvolvimento de novas arquiteturas;
- Interação com os dispositivos mais rápida, simples e segura;
- Interface de fácil utilização e com diversos recursos;
[pic 7][pic 8]
Histórico
- Em 2005, a Google adquiriu a Android Inc.;
- Em 2007, Google anunciou Android como uma plataforma e a criação da Open Handset Alliance(OHA);
- Em 2008, Open source e lançamento do primeiro aparelho;
- Atualmente: 75% do mercado de smartphones;
500 milhões de aparelhos;
+600 dispositivos diferentes
usam o sistema;
[pic 9][pic 10][pic 11]
Histórico
[pic 12][pic 13]
Características Gerais
[pic 14][pic 15]
Características Gerais
- Pertence a Google;
- Gratuito;
- Seu código é aberto;
- O seu Kernel é Linux. Uma versão personalizada voltada para
dispositivos móveis;
- Seus aplicativos são desenvolvidos em Java;
[pic 16][pic 17]
Estrutura do Sistema
[pic 18][pic 19]
Estrutura do Sistema
Android é um sistema operacional baseado no Kernel do Linux. Sua arquitetura é basicamente dividida em camadas:
- Aplicações;
- Framework;
- Bibliotecas e serviços;
- Android runtime;
- Kernel linux.
[pic 20][pic 21][pic 22]
Estrutura do Sistema
[pic 23][pic 24]
O Kernel
O Kernel do Linux foi modificado para rodar no Android. As
principais modificações que afetam a memória são:
- Ashmem;
- Binder;
- Oom handling.
[pic 25][pic 26]
Sistemas de Arquivos
- Dois sistemas de arquivos: a memória não volátil do
aparelho e o cartão removível.
- Utiliza o sistema de arquivos YAFFS (Yet Another Flash File
System)
- O acesso ao sistema de arquivos é feito através da classe java.io
[pic 27][pic 28]
As aplicações
- Escritas em Linguagem Java;
- São executadas em uma máquina virtual;
- Cada aplicação tem um USER ID.
[pic 29][pic 30]
O processo de boot
- Inicia o processo Init;
- O zygote;
- Esse processo de boot é semelhante em diversas plataformas.
[pic 31][pic 32]
O init
- Faz inicialização de alguns sistemas;
- Init.rc:
- ServerManager;
- Media.
- No final ele entra em Loop infinito.
[pic 33][pic 34]
Zygote
- Considerado o pai da linguagem Java;
- Tudo que roda em Java é criado por esse processo;
- E ele tem basicamente dois objetivos.
[pic 35][pic 36]
System Server
- Inicia todos os serviços básicos do Android, dentre eles:
- Location Manager;
- Telephony Manager;
- Notification Manager;
- Activity Manager.
- E no final ele inicia algumas aplicações como a aplicação responsável pela interface gráfica.
[pic 37][pic 38]
Gerência de Memória
[pic 39][pic 40]
Memória virtual
- Houve dois motivos principais para se usar memória virtual:
- Permitir o compartilhamento da memória de um modo eficiente e
seguro entre os vários programas.
- Remover os transtornos de programação de uma quantidade pequena e limitada
da memória principal.
- A memória virtual consiste em recursos de hardware e software com três funções básicas:
- Realocação.
- Proteção.
- Paginação
[pic 41][pic 42]
Segmentação
- A segmentação divide a memória em 2 espaços distintos, o espaço do kernel (Kernel Space) e o espaço do usuário (User Space).
- Desta forma podemos garantir a proteção da memória.
- Garantindo principalmente que processos em modo kernel não se misturem com processos em modo usuário.
[pic 43][pic 44][pic 45]
Paginação
[pic 46][pic 47][pic 48]
Substituição de páginas
[pic 49][pic 50]
Gerenciamento de Processos
...