Componentes: Anderson Dotto Padoin Felipe Silva Ferraz da Cruz Rafael Coppati Rodrigo Revelante
BUGDROID
HISTÓRIA - Outubro 2003 Andy Rubin, Rich Miner, Nick Sears, Chris White fundaram a Android.Inc - Agosto de 2005 a Google adquiriu a Android Irc. (Palo Alto - Califórnia) que desenvolvia uma plataforma para celulares baseada em Linux. - 5 de Novembro de 2007 criação da OHA conselho com mais de 33 empresas parceiras. - 21 de Outubro de 2008 Android se torna Open source (código aberto)
Open Handset Alliance (OHA) A Open Handset Alliance foi uma aliança criada em 5 de novembro de 2007 com a finalidade de criar padrões abertos de telefonia. Ela divulgou a plataforma open source Android que era baseada no sistema operacional Linux. Uma versão SDK foi disponibilizada em 12 de novembro de 2007. O primeiro celular (telemóvel) disponível no mercado executando Android foi o T-Mobile G1 (HTC Dream). Foi aprovado pela FCC em 18 de agosto de 2008 .
ESTRUTURA ANDROID
PROCESSO DE BOOT * Após ligar é iniciado o boot, um pequeno pedaço de código é acessado pela CPU. * Detecta região de memória a ser utilizada para o boot do SO através de um registrador específico da CPU. * Estabelecida a sequência de boot, é buscado o primeiro estágio de inicialização dentro da RAM interna. * Tudo ocorrendo corretamente, é avançado o próximo estágio
Boot code File System Boot ROM Boot Loader Kernel Init Zygote Boot ROM SystemService A Internal Ram Boot Media (NAND) B INICIALIZANDO E EXECUTANDO O CÓDIGO DO BOOT DA ROM
BOOT LOADER * Separado do kernel. * Utilizado para configurar memória e carregar o kernel na RAM. * Primeiro programa principal a ser executado pode conter códigos de configuração de sistema. * Finalizando o carregamento e configuração o kernel será carregado e colocado diretamente na RAM externa. * O boot loader é finalizado o fluxo de execução é passado para o kernel.
BOOT LOADER Boot code File System Boot ROM Boot Loader Kernel Init Zygote Boot ROM SystemService Internal Ram Boot Media (NAND) external Ram B D A E C
KERNEL DO LINUX * Inicializado como os outros Linuxs, configurando o necessário para que o SO seja executado. * Apto para carregar programas em espaço de usuário, quando o gerenciamento de memória e caching forem inicializados, assim como a máquina virtual. * Busca no sistema de arquivo raiz o processo inicial ( system/core/init ) e inicializa o processo do usuário.
KERNEL DO LINUX Boot code File System Boot ROM Boot Loader Kernel Init Zygote Boot ROM SystemService Internal Ram Boot Media (NAND) external Ram Caches MMU B A
PROCESSO INIT * Os processos serão inicializados a partir dele. * Busca o arquivo INIT.RC, script que descreve os serviços de sistema. * Ler o script e inicializa os processos de serviços do SO.
PROCESSO INIT Boot code File System Boot ROM Boot Loader Kernel Init Zygote Boot ROM SystemService Internal Ram Boot Media (NAND) external Ram Caches MMU A init.rc B Text Data Virtual Memory Physical Memory
ZYGOTE * O componente zygote é lançado pelo processo init e sua tarefa é inicializar e executar a máquina virtual Dalvik.
Zygote Boot code File System Boot ROM Boot Loader Kernel Init Zygote Boot ROM SystemService Internal Ram Boot Media (NAND) external Ram Caches MMU Text Data Virtual Memory Physical Memory
SYSTEM SERVER * Primeiro componente java a ser executado no SO. * Encarregado de executar todos os serviços Android. * A inicialização dos serviços é escrita no método run (). (framework/base/services/java/com/android/server/SystemServer.java)
System Server Boot code File System Boot ROM Boot Loader Kernel Init Zygote Boot ROM SystemService Internal Ram Boot Media (NAND) external Ram Caches MMU Text Data Virtual Memory Physical Memory .dex Dalvik
Versões Android Seguem a tendência de doce quanto ao nome de cada versão.
Android 1.0 Lançado em 23 de setembro de 2008, a versão comercial 1.0 do sistema operacional chegou primeiramente ao HTC Dream e já trazia consigo suporte a câmera, navegador web e também acesso à central de aplicações Android Market.
T-Mobile G1 (HTC DREAM) Primeiro celular a rodar o sistema Android. Desenvolvido pela HTC.
CUPCAKE
CUPCAKE 1.5 Em 27 de abril de 2009 o Android foi atualizado para a versão 1.5 Cupcake, que alem de trazer novas mudanças na interface do usuário (Widgets) melhorou o desempenho na inicialização de aplicativos como a câmera e o tempo de resposta na localização do GPS. O teclado na tela também foi implementado com o sistema vertical e horizontal.
1.5 Cupcake
DONUT
1.6 DONUT O Android 1.6 Donut chegou no dia 15 de setembro de 2009. Com ele novas possibilidades foram abertas. Caixa de busca e pesquisa na tela inicial, opções de acessibilidade e síntese de buscas por voz foram muito bem vindas no sistema. Também recebeu suporte à resolução 800x480.
1.6 DONUT
ECLAIR
Eclair 2.0 2.1 Marcada como a primeira atualização radical do sistema operacional, lançada em 26 de outubro de 2009, a versão 2.0 do Android otimizou a velocidade do hardware, dando mais estabilidade ao sistema. Contou também com mudanças na interface do navegador web e suporte a HTML5. A sincronização de emails foi aperfeiçoada, dando suporte ao Microsoft Exchange e permitindo múltiplas contas e sincronizações.
Eclair 2.0 2.1
FROYO 2.2
FROYO 2.2 Em maio de 2010 foi lançada a versão 2.2 Froyo do sistema Android. Esta versão do sistema constava com ajustes quase invisíveis para olhos de usuários comuns, mas que faziam diferença no funcionamento do sistema, tais como o gerenciamento de memoria, otimização de velocidade e desempenho. O aparelho também recebeu novas funcionalidades, tais como a de ser um servidor wi-fi, alem de ter suporte a flash player 10.1 e permitir a instalação de aplicativos em cartões de memória .
Froyo 2.2
GINGERBREAD
GINGERBREAD 2.3 Lançada em 6 de dezembro de 2010 a versão 2.3 do Android trouxe suporte a tecnologias como a NFC (Near Field Comunications), sistema de transmissão de dados sem fio, sensores de movimento para jogos, chamadas por VOIP, além de uma interface mais minimalista e funcional. Com essa versão o celular Android ganhou em estabilidade e compatibilidade com aplicativos.
2.3 Gingerbread
HONEYCOMB
3.0 HONEYCOMB Honeycomb foi o primeiro sistema exclusivo para tablets com sistema android. Lançado em 22 de fevereiro de 2011 trouxe muitas novas opções para usuários de tablets. A navegação pela internet se tornou mais eficiente e segura com o modo incógnito. Para aparelhos mais sofisticados e modernos a versão 3.0 também teve ótimos resultados, dando suporte a dispositivos com múltiplos núcleos e otimizando e facilitando a organização de multitarefas.
MOTOROLA XOOM TABLET
3.0 Honey Comb
ICE CREAM SANDWICH
Diferente da série HoneyComb, dedicada a tablets, essa versão do Android trata por igual tanto tablets como celulares. Foi lançado dia 19 de outubro de 2011 e dentre suas principais novidades destaca-se o sistema de transmissão de dados utilizando a tecnologia NFC, desta vez de maneira efetiva. O sistema recebeu um editor de fotos nativo,e tambem foi implementado um novo sistema de segurança, este se tratando de um sistema de reconhecimento facial. 4.0 Ice Cream Sandwich
4.0 Ice Cream Sandwich
4.1 4.2 4.3 JELLY BEAN Mais ágil e consumindo ainda menos bateria, o Jelly Bean tem como um dos objetivos otimizar o uso das principais ferramentas do smartphone. O aplicativo Google Now é um dos diferenciais dessa versão do Android, fornecendo informações de restaurantes, transportes ou entretenimento. Você também pode redimensionar o tamanho dos ícones dos apps e organizar melhor sua tela. Outro recurso o Photo Sphere, capaz de tirar fotos panorâmicas em 360º. Mais uma inovação fica por conta da digitação por gestos.
4.1 4.2 4.3 Jelly Bean
4.4 KIT KAT Kit Kat é mais nova versão do SO Android. Com data de lançamento prevista para outubro de 2013.
4.4 Kit Kat
CYANOGEN MODE É uma distibuição personalizada para vários dispositivos Android. Baseado no projeto de código aberto do Android, o Cyanogen Mode é projetado para aumentar o desenpenho e a confiabilidade sobre ROM’s lançadas por fornecedores e operadoras como a Google, T-Mobile, HTC, etc. Diversas outras características e melhorias são oferecidas neste modelo, que não são encontradas em outras versões de Android.
ROOT Root ou o superusuário como no linux dá privilégios de administrador ao usuário. Para que possa alterar e configurar o SO buscando aproveitar o máximo que ele oferece, o root pode ser usado para instalar rooms modificadas ou costumizadas como a Cyanogen e outras, utilizado para usar aplicativos que requerem um maior privilégio do que vem de fábirca por padrão como aplicativos que fazem overclock e underclock.