SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Filipe Nogueira Tavares
Bruno de Oliveira Petry
Guilherme Alarcão
Renato Carauta Ribeiro
Dennis Oliveira Crenasco
Victor Setúbal Cardoso
Integrantes:
SISTEMA OPERACIONAL
Introdução
Introdução
A crescente demanda de tecnologia no mundo atual vem tornando cada vez mais
necessário o desenvolvimento de novas arquiteturas, e pode-se dizer que o Sistema
Operacional Android é responsável por essa grande massa, que cresce a cada dia, em
busca dos dispositivos móveis.
Usuários comuns, assim como o mercado coorporativo, estão se beneficiando com as
diversas praticidades impostas pelo sistema em questão. A interação com os dispositivos
acabou ficando mais rápida, simples e segura.
Esse sistema móvel, torna possível que as aplicações, e consequentemente as pessoas,
estejam conectadas e online diariamente.
A interface de fácil utilização e com diversos recurso é resultado da execução
dessas diversas rotinas concorrentemente em função de eventos assíncronos.
Histórico
Histórico
4.0 - "Ice Cream Sandwich"
Histórico
2005 a Google adquiriu a Android Inc.
2007, Google anunciou Android como uma plataforma e a criação da Open Handset
Alliance (OHA).
2008, Open souce e Lançamento do primeiro aparelho.
Atualmente, 75% do mercado de smartphones.
500 milhões de aparelhos
+600 dispositivos diferentes usam o sistema.
Milhão de novos usuários todos os dias.
Histórico
1.5 - "Cupcake" - Introduziu a correção automática nos textos e também os famosos
widgets.;
1.6 - "Donut" - Trouxe a busca online partir da página principal;
2.0 - "Éclair" - Uso de múltiplas contas do Google;
2.1 - "Éclair" Busca por voz;
2.2 - "Froyo"- Transformar o dispositivo em um ponto de acesso via wi-fi usando a rede
3G e introdução do Flash no navegador;
2.3 - "Gingerbread"- trouxe pela primeira vez o suporte a voz sobre IP;
3.0 - "Honeycomb" - Primeiro a operar em telas maiores e gerenciamento de aplicativos
abertos;
4.0 - "Ice Cream Sandwich" - Reformulou toda a interface da plataforma, novidade foi a
criação de pastas na tela principal do aparelho e agora é possível;
4.1 / 4.2 - "Jelly Bean" Melhora na funcionalidade e desempenho da interface
Características Gerais
Características Comuns
É da Google;
Gratuito;
Seu código é aberto;
Não está preso a um hardware específico;
O seu Kernel é Linux. Uma versão personalizada voltada para dispositivos
móveis;
Seus aplicativos são desenvolvidos em Java;
Possui uma quantidade imensa de aplicativos disponíveis, tanto gratuitos
como pagos;
Características Específicas
Handset layouts: a plataforma é adaptada tanto para dispositivos VGA
maiores, gráficos 2D, bibliotecas gráficas 3D baseadas em OpenGL ES
especificação 2.0 e os layouts mais tradicionais de smartphones.
Armazenamento: é utilizado SQLite para armazenamento de dados.
Mensagens: tanto SMS como MMS são formas disponíveis de envio de
mensagens.
Navegador: o navegador disponível no sistema é baseado no framework de
Código aberto conhecido como WebKit.
Características Específicas
Máquina virtual Dalvik: aplicações escritas em Java são compiladas em
bvtecodes Dalvik e executadas usando a Máquina Virtual Dalvik , que é uma
máquina virtual especializada desenvolvida para uso em dispositivos móveis,
o que permite que programas sejam distribuídos em formato binário
(bytecode) e possam ser executados em qualquer dispositivo Android,
independentemente do processador utilizado. Apesar das aplicações Android
serem escritas na linguagem Java, ela não é uma máquina virtual Java, já que
não executa bytecode JVM.
Características Específicas
Multimídia: o sistema irá suportar formatos de áudio e vídeo como: MPEG-4,
H.264, MP3, e AAC.
Suporte Adicional de Hardware: o Android é totalmente capaz de fazer uso
de câmeras de vídeo, tela sensível ao toque, GPS, acelerômetros, e aceleração
de gráficos 3D.
Ambiente de desenvolvimento (SDK): inclui um emulador, ferramentas para
debugging, memória e análise de performance. O Eclipse IDE (atualmente 3.4
ou 3.5) poderá ser utilizado através do plugin Android Develpment Tools
(ADT).
Características Específicas
Multimídia: o sistema irá suportar formatos de áudio e vídeo como: MPEG-4,
H.264, MP3, e AAC.
Suporte Adicional de Hardware: o Android é totalmente capaz de fazer uso
de câmeras de vídeo, tela sensível ao toque, GPS, acelerômetros, e aceleração
de gráficos 3D.
Ambiente de desenvolvimento (SDK): inclui um emulador, ferramentas para
debugging, memória e análise de performance. O Eclipse IDE (atualmente 3.4
ou 3.5) poderá ser utilizado através do plugin Android Develpment Tools
(ADT).
Estrutura do sistema
Estrutura do sistema
Android é um sistema operacional baseado no kernel do Linux.
Podemos dizer que o Android é uma máquina virtual Java rodando sobre o kernel do
Linux, dando suporte para o desenvolvimento de aplicações Java através de um
conjunto de bibliotecas e serviços.
Sua arquitetura possui basicamente 5 camadas, como visto na Figura a seguir.
Estrutura do sistema
Processos e Threads
Processos
A camada mais baixa da arquitetura, Kernel Linux, é a responsável por gerenciar os
processos e threads, além da memória, arquivos e pastas, redes, drivers dos
dispositivos e energia.
No sistema Android, todos os componentes de uma aplicação são executados em um
mesmo processo e thread. Quando a memória fica sobrecarregada ou quando outro
processo faz requisição de memória, por ter maior nível de importância, o processo
em execução é parado e o processo que tem maior importância de acordo com o
usuário é carregado.
Existem cinco níveis de importância:
1. Foreground Process
2. Processo visível
3. Processo de serviço
4. Serviços em Background
5. Processos vazios
Threads
UI Thread (Thread principal "main")
Trabalho intensivo na UI Thread trava a aplicação
Multithread
Ciclo de vida
Gerência de Processo
Gerência de Processo
Android usa-se o binder, um mecanismo usado para a comunicação entre processos. Toda
comunicação entre processos passa pelo binder ( uma classe do Java).
Escalonamento de CPU:
O Android usa uma criação de filas com os componentes:
processos interativos
processos batch
processos tempo real.
• escalonador do sistema Android é baseado em time-sharing, e é do tipo preemptivo.
Deadlock:
No Android não é feito tratamento de Deadlock. O sistema parte do princípio de que eles não
virão a ocorrer.
Gerência de memória
Gerência de memória
Como já foi dito anteriormente o Android é um sistema operacional baseado em
kernel Linux e utiliza o gerenciamento de memória baseado em tal.
Todas as operações básicas do sistema operacional em níveis mais baixos, como o I/O,
gerenciamento de memória, e assim por diante, são tratados pelo kernel do Linux
Para o gerenciamento de memória é usada a técnica de memória virtual. Houve duas
motivações principais:
1. Permitir o compartilhamento seguro e eficiente da memória entre os vários
programas
1. Remover os transtornos de programação de uma quantidade pequena e limitada na
memória principal
Sistema de Arquivos
Sistema de Arquivos
O sistema operacional gerencia os arquivos para facilitar o acesso dos
usuários ao seu conteúdo. A parte do S.O que é responsável por essa gerencia
é o sistemas de arquivos.
Principais diretórios do android são: o “data”, que armazena os dados das
aplicações, e o “system”, com as bibliotecas (system/lib), serviços (system/bin
e system/xbin) e aplicações Java (system/app).
Sistema de Arquivos
O Android implementou uma biblioteca chamada Bionic para usar como
biblioteca do sistema. Contem os diretórios:
/ – diretório raiz (Android e Linux)
/Cache – armazenamento de dados para execuções rápidas (Android)
/Data – Dados (Android) O diretório /Data contém dados do usuário armazenados
em uma partição separada de MTD
/Default.prop - (Android) definições de propriedade-padrão e valores
restaurados a partir dos arquivos em cada reinicialização.
/Dev – arquivos de dispositivos (Linux e Android)
Sistema de Arquivos
/Etc – arquivos de configuração (Linux e Android)
/Init – inicialização (Android)
/Lib - Bibliotecas essenciais partilhadas (Linux e Android)
/Lost+found - arquivos recuperados (Linux e Android)
/Media - mídias removíveis (Linux e Android)
/Proc – kernel e arquivos de processo (Linux e Android)
/Root - Diretório home para o super usuário (Linux e Android)
/Sbin – arquivos binários de administração (Linux e Android)
/Sdcard – Cartão SD (Android)
/System – Sistema (Android)
/Tmp - arquivos temporários (Linux e Android)
Gerência de Entrada e Saída
Gerência de Entrada e Saída
É implementado através do device drivers. Sempre que um novo dispositivo é
acrescentado no sistema, o drive deve ser acoplado ao núcleo.
O sistema Android trabalha com duas formas de entrada e saída:
uma orientada a blocos relacionados a dispositivos com alta transferência (cartões de
memoria), quando uma operação de leitura é realizada um bloco é transferido para a
memória e posteriormente processado
E outra orientada a caracteres que são relacionados a dispositivos mais lentos,
controlados pelo sistema operacional.
Referências
ABNT. Manual de normas da ABNT. Disponível em: http://www.abnt.org.br/
Celeiro Android. Processos e Threads. Disponível em:
http://celeiroandroid.blogspot.com.br/2011/04/processes-e-threads.html
Wikipédia. Android. Disponível em: http://pt.wikipedia.org/wiki/Android
Midiacom.uff.br. Sistema Operacional Android. Disponível em:
http://www.midiacom.uff.br/~natalia/2012-1-sisop/tgrupo1.pdf
Sergioprado.org. Android. Disponível em:
http://sergioprado.org/introducao-ao-funcionamento-interno-do-android/
Bibliografia Consultada
MACHADO, F.de.B; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed - Rio de
Janeiro: LTC, 2007.
LECHETA, R.R. Google Android: Aprenda a criar aplicações para dispositivos moveis com
o Android SDK. 3.ed – São Paulo-SP: Novatec,2013

Weitere ähnliche Inhalte

Was ist angesagt?

Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsJoeldson Costa Damasceno
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10LucasMansueto
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Aula: Evolução da computação móvel
Aula: Evolução da computação móvelAula: Evolução da computação móvel
Aula: Evolução da computação móvelJanynne Gomes
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas OperativosKaska Lucas
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelJanynne Gomes
 
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Sérgio Souza Costa
 
Apresentação de Internet
Apresentação de InternetApresentação de Internet
Apresentação de InternetCDP_Online
 
Apresentação - sistemas operacionais
Apresentação - sistemas operacionaisApresentação - sistemas operacionais
Apresentação - sistemas operacionaisEduardo Macedo
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dosteacherpereira
 
diferenças entre sistemas operativos
diferenças entre sistemas operativos diferenças entre sistemas operativos
diferenças entre sistemas operativos josevieirafreitas
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativosMarioalmeida_10
 
Sistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - ApresentaçãoSistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Dispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDanilo Filitto
 
O computador pessoal – perguntas e respostas
O computador pessoal – perguntas e respostasO computador pessoal – perguntas e respostas
O computador pessoal – perguntas e respostasvinivs
 

Was ist angesagt? (20)

Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional WindowsInformática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 05 - Sistema Operacional Windows
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Aula: Evolução da computação móvel
Aula: Evolução da computação móvelAula: Evolução da computação móvel
Aula: Evolução da computação móvel
 
Evolução dos Sistemas Operativos
Evolução dos Sistemas OperativosEvolução dos Sistemas Operativos
Evolução dos Sistemas Operativos
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
 
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
 
Apresentação de Internet
Apresentação de InternetApresentação de Internet
Apresentação de Internet
 
Apresentação - sistemas operacionais
Apresentação - sistemas operacionaisApresentação - sistemas operacionais
Apresentação - sistemas operacionais
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
Dispositivos móveis
Dispositivos móveisDispositivos móveis
Dispositivos móveis
 
Internet
InternetInternet
Internet
 
diferenças entre sistemas operativos
diferenças entre sistemas operativos diferenças entre sistemas operativos
diferenças entre sistemas operativos
 
Evolução dos sistemas operativos
Evolução dos sistemas operativosEvolução dos sistemas operativos
Evolução dos sistemas operativos
 
Sistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - ApresentaçãoSistemas Multimídia - Aula 01 - Apresentação
Sistemas Multimídia - Aula 01 - Apresentação
 
Dispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercadoDispositivos móveis: Conceito, história e mercado
Dispositivos móveis: Conceito, história e mercado
 
O computador pessoal – perguntas e respostas
O computador pessoal – perguntas e respostasO computador pessoal – perguntas e respostas
O computador pessoal – perguntas e respostas
 
Slide internet
Slide   internetSlide   internet
Slide internet
 
Aula básica de internet
Aula básica de internetAula básica de internet
Aula básica de internet
 

Ähnlich wie Sistema Operacional Android

Introdução à plataforma android.
Introdução à plataforma android.Introdução à plataforma android.
Introdução à plataforma android.Everton Dewes
 
Sistema android
Sistema androidSistema android
Sistema androiddanilorcb
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - BásicoHugoDalevedove
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura AndroidMaycon Viana Bordin
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rqKMILT
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Androidjgbirk
 
Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-FinalJordan Claussen
 
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHSistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHCesarBomgiovani
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidSalvador Torres
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 

Ähnlich wie Sistema Operacional Android (20)

Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Android
AndroidAndroid
Android
 
Introdução à plataforma android.
Introdução à plataforma android.Introdução à plataforma android.
Introdução à plataforma android.
 
Sistema android
Sistema androidSistema android
Sistema android
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Programação Android - Básico
Programação Android - BásicoProgramação Android - Básico
Programação Android - Básico
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura Android
 
Android juliana-mono
Android juliana-monoAndroid juliana-mono
Android juliana-mono
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Desenvolvendo Soluções com Android
Desenvolvendo Soluções com AndroidDesenvolvendo Soluções com Android
Desenvolvendo Soluções com Android
 
Apresentação Semi-Final
Apresentação Semi-FinalApresentação Semi-Final
Apresentação Semi-Final
 
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBHSistemas_operacionais_1. KNOBUIBHBBHBHBH
Sistemas_operacionais_1. KNOBUIBHBBHBHBH
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 

Sistema Operacional Android

  • 1. Filipe Nogueira Tavares Bruno de Oliveira Petry Guilherme Alarcão Renato Carauta Ribeiro Dennis Oliveira Crenasco Victor Setúbal Cardoso Integrantes: SISTEMA OPERACIONAL
  • 3. Introdução A crescente demanda de tecnologia no mundo atual vem tornando cada vez mais necessário o desenvolvimento de novas arquiteturas, e pode-se dizer que o Sistema Operacional Android é responsável por essa grande massa, que cresce a cada dia, em busca dos dispositivos móveis. Usuários comuns, assim como o mercado coorporativo, estão se beneficiando com as diversas praticidades impostas pelo sistema em questão. A interação com os dispositivos acabou ficando mais rápida, simples e segura. Esse sistema móvel, torna possível que as aplicações, e consequentemente as pessoas, estejam conectadas e online diariamente. A interface de fácil utilização e com diversos recurso é resultado da execução dessas diversas rotinas concorrentemente em função de eventos assíncronos.
  • 5. Histórico 4.0 - "Ice Cream Sandwich"
  • 6. Histórico 2005 a Google adquiriu a Android Inc. 2007, Google anunciou Android como uma plataforma e a criação da Open Handset Alliance (OHA). 2008, Open souce e Lançamento do primeiro aparelho. Atualmente, 75% do mercado de smartphones. 500 milhões de aparelhos +600 dispositivos diferentes usam o sistema. Milhão de novos usuários todos os dias.
  • 7. Histórico 1.5 - "Cupcake" - Introduziu a correção automática nos textos e também os famosos widgets.; 1.6 - "Donut" - Trouxe a busca online partir da página principal; 2.0 - "Éclair" - Uso de múltiplas contas do Google; 2.1 - "Éclair" Busca por voz; 2.2 - "Froyo"- Transformar o dispositivo em um ponto de acesso via wi-fi usando a rede 3G e introdução do Flash no navegador; 2.3 - "Gingerbread"- trouxe pela primeira vez o suporte a voz sobre IP; 3.0 - "Honeycomb" - Primeiro a operar em telas maiores e gerenciamento de aplicativos abertos; 4.0 - "Ice Cream Sandwich" - Reformulou toda a interface da plataforma, novidade foi a criação de pastas na tela principal do aparelho e agora é possível; 4.1 / 4.2 - "Jelly Bean" Melhora na funcionalidade e desempenho da interface
  • 9. Características Comuns É da Google; Gratuito; Seu código é aberto; Não está preso a um hardware específico; O seu Kernel é Linux. Uma versão personalizada voltada para dispositivos móveis; Seus aplicativos são desenvolvidos em Java; Possui uma quantidade imensa de aplicativos disponíveis, tanto gratuitos como pagos;
  • 10. Características Específicas Handset layouts: a plataforma é adaptada tanto para dispositivos VGA maiores, gráficos 2D, bibliotecas gráficas 3D baseadas em OpenGL ES especificação 2.0 e os layouts mais tradicionais de smartphones. Armazenamento: é utilizado SQLite para armazenamento de dados. Mensagens: tanto SMS como MMS são formas disponíveis de envio de mensagens. Navegador: o navegador disponível no sistema é baseado no framework de Código aberto conhecido como WebKit.
  • 11. Características Específicas Máquina virtual Dalvik: aplicações escritas em Java são compiladas em bvtecodes Dalvik e executadas usando a Máquina Virtual Dalvik , que é uma máquina virtual especializada desenvolvida para uso em dispositivos móveis, o que permite que programas sejam distribuídos em formato binário (bytecode) e possam ser executados em qualquer dispositivo Android, independentemente do processador utilizado. Apesar das aplicações Android serem escritas na linguagem Java, ela não é uma máquina virtual Java, já que não executa bytecode JVM.
  • 12. Características Específicas Multimídia: o sistema irá suportar formatos de áudio e vídeo como: MPEG-4, H.264, MP3, e AAC. Suporte Adicional de Hardware: o Android é totalmente capaz de fazer uso de câmeras de vídeo, tela sensível ao toque, GPS, acelerômetros, e aceleração de gráficos 3D. Ambiente de desenvolvimento (SDK): inclui um emulador, ferramentas para debugging, memória e análise de performance. O Eclipse IDE (atualmente 3.4 ou 3.5) poderá ser utilizado através do plugin Android Develpment Tools (ADT).
  • 13. Características Específicas Multimídia: o sistema irá suportar formatos de áudio e vídeo como: MPEG-4, H.264, MP3, e AAC. Suporte Adicional de Hardware: o Android é totalmente capaz de fazer uso de câmeras de vídeo, tela sensível ao toque, GPS, acelerômetros, e aceleração de gráficos 3D. Ambiente de desenvolvimento (SDK): inclui um emulador, ferramentas para debugging, memória e análise de performance. O Eclipse IDE (atualmente 3.4 ou 3.5) poderá ser utilizado através do plugin Android Develpment Tools (ADT).
  • 15. Estrutura do sistema Android é um sistema operacional baseado no kernel do Linux. Podemos dizer que o Android é uma máquina virtual Java rodando sobre o kernel do Linux, dando suporte para o desenvolvimento de aplicações Java através de um conjunto de bibliotecas e serviços. Sua arquitetura possui basicamente 5 camadas, como visto na Figura a seguir.
  • 18. Processos A camada mais baixa da arquitetura, Kernel Linux, é a responsável por gerenciar os processos e threads, além da memória, arquivos e pastas, redes, drivers dos dispositivos e energia. No sistema Android, todos os componentes de uma aplicação são executados em um mesmo processo e thread. Quando a memória fica sobrecarregada ou quando outro processo faz requisição de memória, por ter maior nível de importância, o processo em execução é parado e o processo que tem maior importância de acordo com o usuário é carregado. Existem cinco níveis de importância: 1. Foreground Process 2. Processo visível 3. Processo de serviço 4. Serviços em Background 5. Processos vazios
  • 19. Threads UI Thread (Thread principal "main") Trabalho intensivo na UI Thread trava a aplicação Multithread Ciclo de vida
  • 21. Gerência de Processo Android usa-se o binder, um mecanismo usado para a comunicação entre processos. Toda comunicação entre processos passa pelo binder ( uma classe do Java). Escalonamento de CPU: O Android usa uma criação de filas com os componentes: processos interativos processos batch processos tempo real. • escalonador do sistema Android é baseado em time-sharing, e é do tipo preemptivo. Deadlock: No Android não é feito tratamento de Deadlock. O sistema parte do princípio de que eles não virão a ocorrer.
  • 23. Gerência de memória Como já foi dito anteriormente o Android é um sistema operacional baseado em kernel Linux e utiliza o gerenciamento de memória baseado em tal. Todas as operações básicas do sistema operacional em níveis mais baixos, como o I/O, gerenciamento de memória, e assim por diante, são tratados pelo kernel do Linux Para o gerenciamento de memória é usada a técnica de memória virtual. Houve duas motivações principais: 1. Permitir o compartilhamento seguro e eficiente da memória entre os vários programas 1. Remover os transtornos de programação de uma quantidade pequena e limitada na memória principal
  • 25. Sistema de Arquivos O sistema operacional gerencia os arquivos para facilitar o acesso dos usuários ao seu conteúdo. A parte do S.O que é responsável por essa gerencia é o sistemas de arquivos. Principais diretórios do android são: o “data”, que armazena os dados das aplicações, e o “system”, com as bibliotecas (system/lib), serviços (system/bin e system/xbin) e aplicações Java (system/app).
  • 26. Sistema de Arquivos O Android implementou uma biblioteca chamada Bionic para usar como biblioteca do sistema. Contem os diretórios: / – diretório raiz (Android e Linux) /Cache – armazenamento de dados para execuções rápidas (Android) /Data – Dados (Android) O diretório /Data contém dados do usuário armazenados em uma partição separada de MTD /Default.prop - (Android) definições de propriedade-padrão e valores restaurados a partir dos arquivos em cada reinicialização. /Dev – arquivos de dispositivos (Linux e Android)
  • 27. Sistema de Arquivos /Etc – arquivos de configuração (Linux e Android) /Init – inicialização (Android) /Lib - Bibliotecas essenciais partilhadas (Linux e Android) /Lost+found - arquivos recuperados (Linux e Android) /Media - mídias removíveis (Linux e Android) /Proc – kernel e arquivos de processo (Linux e Android) /Root - Diretório home para o super usuário (Linux e Android) /Sbin – arquivos binários de administração (Linux e Android) /Sdcard – Cartão SD (Android) /System – Sistema (Android) /Tmp - arquivos temporários (Linux e Android)
  • 29. Gerência de Entrada e Saída É implementado através do device drivers. Sempre que um novo dispositivo é acrescentado no sistema, o drive deve ser acoplado ao núcleo. O sistema Android trabalha com duas formas de entrada e saída: uma orientada a blocos relacionados a dispositivos com alta transferência (cartões de memoria), quando uma operação de leitura é realizada um bloco é transferido para a memória e posteriormente processado E outra orientada a caracteres que são relacionados a dispositivos mais lentos, controlados pelo sistema operacional.
  • 30. Referências ABNT. Manual de normas da ABNT. Disponível em: http://www.abnt.org.br/ Celeiro Android. Processos e Threads. Disponível em: http://celeiroandroid.blogspot.com.br/2011/04/processes-e-threads.html Wikipédia. Android. Disponível em: http://pt.wikipedia.org/wiki/Android Midiacom.uff.br. Sistema Operacional Android. Disponível em: http://www.midiacom.uff.br/~natalia/2012-1-sisop/tgrupo1.pdf Sergioprado.org. Android. Disponível em: http://sergioprado.org/introducao-ao-funcionamento-interno-do-android/ Bibliografia Consultada MACHADO, F.de.B; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed - Rio de Janeiro: LTC, 2007. LECHETA, R.R. Google Android: Aprenda a criar aplicações para dispositivos moveis com o Android SDK. 3.ed – São Paulo-SP: Novatec,2013