Escolar Documentos
Profissional Documentos
Cultura Documentos
Dalvik
Linux 2.6
Android
Diogo de Campos, Joo Paulo Pizani Flor, a Maur Oliveira Haensch, cio Pedro Covolan Bachiega
Universidade Federal de Santa Catarina
Introduo ca
Dalvik
Linux 2.6
Agenda
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Introduo ca
Dalvik
Linux 2.6
O que Android? e
O Android E uma plataforma para dispositivos mveis que inclui sistema o operacional, middleware e aplicaes chave. co Google + Open Handset Alliance A plataforma Android e ser mantida por um grupo de 33 e a empresas, chamado Open Handset Alliance. So empresas de a dispositivos mveis, operadoras, software, semicondutores e o comercializao que esto juntas na criao da primeira plataforma ca a ca mvel completa, aberta e livre. o
Introduo ca
Dalvik
Linux 2.6
O que Android? e
O Android E uma plataforma para dispositivos mveis que inclui sistema o operacional, middleware e aplicaes chave. co Google + Open Handset Alliance A plataforma Android e ser mantida por um grupo de 33 e a empresas, chamado Open Handset Alliance. So empresas de a dispositivos mveis, operadoras, software, semicondutores e o comercializao que esto juntas na criao da primeira plataforma ca a ca mvel completa, aberta e livre. o
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Arquitetura
Introduo ca
Dalvik
Linux 2.6
Arquitetura
Applications Essa camada conta com diversos tipos de aplicaoes (cliente de c e-mail, calendrio, mapas, browser, servio SMS, agenda de a c contatos, etc). Todas as aplicaes so escritas em Java. co a Application Framework Os desenvolvedores tm acesso ao mesmo framework de APIs e utilizado para as aplicaes do Android. Esse framework contm co e um conjunto de componentes grcos, provedores de contedo, a u gerenciadores de recursos (grcos, string, v a deos), gerenciador de noticao e um gerenciador de atividade. ca
Introduo ca
Dalvik
Linux 2.6
Arquitetura
Applications Essa camada conta com diversos tipos de aplicaoes (cliente de c e-mail, calendrio, mapas, browser, servio SMS, agenda de a c contatos, etc). Todas as aplicaes so escritas em Java. co a Application Framework Os desenvolvedores tm acesso ao mesmo framework de APIs e utilizado para as aplicaes do Android. Esse framework contm co e um conjunto de componentes grcos, provedores de contedo, a u gerenciadores de recursos (grcos, string, v a deos), gerenciador de noticao e um gerenciador de atividade. ca
Introduo ca
Dalvik
Linux 2.6
Arquitetura
Libraries Android contm uma srie de bibliotecas de C/C++, que so e e a utilizadas por vrios componentes do sistema. Algumas bibliotecas a so: biblioteca padro C otimizada para embarcados, SQLite, a a bibliotecas de m dia, gerenciador de superf cie. Todas as funcionalidades so repassadas ao usurio atravs do framework. a a e Android Runtime Cada aplicao do Android roda seu prprio processo em uma ca o instncia da mquina virtual Dalvik. Essa VM foi escrita para ser a a rodada ecientemente com mltiplas instncias e executa arquivos u a .dex (Dalvik Executable), que uma espcie de bytecode Java e e omitizado para o Android.
Introduo ca
Dalvik
Linux 2.6
Arquitetura
Libraries Android contm uma srie de bibliotecas de C/C++, que so e e a utilizadas por vrios componentes do sistema. Algumas bibliotecas a so: biblioteca padro C otimizada para embarcados, SQLite, a a bibliotecas de m dia, gerenciador de superf cie. Todas as funcionalidades so repassadas ao usurio atravs do framework. a a e Android Runtime Cada aplicao do Android roda seu prprio processo em uma ca o instncia da mquina virtual Dalvik. Essa VM foi escrita para ser a a rodada ecientemente com mltiplas instncias e executa arquivos u a .dex (Dalvik Executable), que uma espcie de bytecode Java e e omitizado para o Android.
Introduo ca
Dalvik
Linux 2.6
Arquitetura
Linux Kernel O Android utiliza parte do Kernel 2.6 do Linux, que responsvel e a por funes como segurana, gerenciamento de memria, co c o gerenciamento de processos, pilha de protocolos de rede e mdulos. o O Kernel tambm funciona como uma camada de abstrao entre e ca o hardware e o restante das camadas previamente citadas.
Introduo ca
Dalvik
Linux 2.6
Agenda
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Dalvik
Introduo ca
Dalvik
Linux 2.6
Dalvik
Introduo ca
Dalvik
Linux 2.6
Dalvik
Introduo ca
Dalvik
Linux 2.6
Origem Desenvolvida por Dan Bornstein e outros engenheiros da Google, especicamente para o Android. Foi projetada para rodar em sistemas com baixa frequncia, pouca RAM e SO sem espao para e c swap. Caracter sticas E uma mquina virtual de registradores. Cada aplicao roda em a ca uma instncia da Dalvik, instanciadas a partir do Zygote. a
Introduo ca
Dalvik
Linux 2.6
Origem Desenvolvida por Dan Bornstein e outros engenheiros da Google, especicamente para o Android. Foi projetada para rodar em sistemas com baixa frequncia, pouca RAM e SO sem espao para e c swap. Caracter sticas E uma mquina virtual de registradores. Cada aplicao roda em a ca uma instncia da Dalvik, instanciadas a partir do Zygote. a
Introduo ca
Dalvik
Linux 2.6
Deve ser rpido e eciente. a A Dalvik roda seu prprio bytecode. o Arquivos .class so convertidos para .dex a Ocupa metade do espao que um .class Java. c Carrega mais rpido. a Futuro: converso de outras linguagens para .dex a
Introduo ca
Dalvik
Linux 2.6
Deve ser rpido e eciente. a A Dalvik roda seu prprio bytecode. o Arquivos .class so convertidos para .dex a Ocupa metade do espao que um .class Java. c Carrega mais rpido. a Futuro: converso de outras linguagens para .dex a
Introduo ca
Dalvik
Linux 2.6
Deve ser rpido e eciente. a A Dalvik roda seu prprio bytecode. o Arquivos .class so convertidos para .dex a Ocupa metade do espao que um .class Java. c Carrega mais rpido. a Futuro: converso de outras linguagens para .dex a
Introduo ca
Dalvik
Linux 2.6
Deve ser rpido e eciente. a A Dalvik roda seu prprio bytecode. o Arquivos .class so convertidos para .dex a Ocupa metade do espao que um .class Java. c Carrega mais rpido. a Futuro: converso de outras linguagens para .dex a
Introduo ca
Dalvik
Linux 2.6
Deve ser rpido e eciente. a A Dalvik roda seu prprio bytecode. o Arquivos .class so convertidos para .dex a Ocupa metade do espao que um .class Java. c Carrega mais rpido. a Futuro: converso de outras linguagens para .dex a
Introduo ca
Dalvik
Linux 2.6
Deve ser rpido e eciente. a A Dalvik roda seu prprio bytecode. o Arquivos .class so convertidos para .dex a Ocupa metade do espao que um .class Java. c Carrega mais rpido. a Futuro: converso de outras linguagens para .dex a
Introduo ca
Dalvik
Linux 2.6
Zygote
necssrio. a
No Zygote, so mapeadas as bibliotecas compartilhadas das a
aplicaes. co
Para evitar inconsistncia de dados, so acessadas em modo e a
somente leitura.
Introduo ca
Dalvik
Linux 2.6
Zygote
necssrio. a
No Zygote, so mapeadas as bibliotecas compartilhadas das a
aplicaes. co
Para evitar inconsistncia de dados, so acessadas em modo e a
somente leitura.
Introduo ca
Dalvik
Linux 2.6
Zygote
necssrio. a
No Zygote, so mapeadas as bibliotecas compartilhadas das a
aplicaes. co
Para evitar inconsistncia de dados, so acessadas em modo e a
somente leitura.
Introduo ca
Dalvik
Linux 2.6
Zygote
necssrio. a
No Zygote, so mapeadas as bibliotecas compartilhadas das a
aplicaes. co
Para evitar inconsistncia de dados, so acessadas em modo e a
somente leitura.
Introduo ca
Dalvik
Linux 2.6
Zygote
necssrio. a
No Zygote, so mapeadas as bibliotecas compartilhadas das a
aplicaes. co
Para evitar inconsistncia de dados, so acessadas em modo e a
somente leitura.
Introduo ca
Dalvik
Linux 2.6
Zygote
Introduo ca
Dalvik
Linux 2.6
Agenda
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Linux 2.6
Por que Linux? Glibc e Bionic Libc Sobre o Binder AIDL Gerenciamento de Energia
Introduo ca
Dalvik
Linux 2.6
Linux 2.6
Por que Linux? Glibc e Bionic Libc Sobre o Binder AIDL Gerenciamento de Energia
Introduo ca
Dalvik
Linux 2.6
Linux 2.6
Por que Linux? Glibc e Bionic Libc Sobre o Binder AIDL Gerenciamento de Energia
Introduo ca
Dalvik
Linux 2.6
Linux 2.6
Por que Linux? Glibc e Bionic Libc Sobre o Binder AIDL Gerenciamento de Energia
Introduo ca
Dalvik
Linux 2.6
Linux 2.6
Por que Linux? Glibc e Bionic Libc Sobre o Binder AIDL Gerenciamento de Energia
Introduo ca
Dalvik
Linux 2.6
Bom gerenciamento de processos e memria o Modelo de segurana baseado em permisses c o Device Drivers consolidados para variados hardwares
E open-source =)
Introduo ca
Dalvik
Linux 2.6
Bom gerenciamento de processos e memria o Modelo de segurana baseado em permisses c o Device Drivers consolidados para variados hardwares
E open-source =)
Introduo ca
Dalvik
Linux 2.6
Bom gerenciamento de processos e memria o Modelo de segurana baseado em permisses c o Device Drivers consolidados para variados hardwares
E open-source =)
Introduo ca
Dalvik
Linux 2.6
Bom gerenciamento de processos e memria o Modelo de segurana baseado em permisses c o Device Drivers consolidados para variados hardwares
E open-source =)
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Introduo ca
Dalvik
Linux 2.6
Sobre o Binder
O que Binder? e Aplicaes e servios rodam em processos separados, mas podem co c precisar compartilhar dados e se comunicar. O Binder um driver e que facilita IPC (Inter-process Communication), com alta performance em memria compartilhada. o Como funciona? Conta o nmero de referncias, assim como mapeia essas u e referncias ` objetos entre processos. Realiza chamadas s e a ncronas entre processos atravs da interface descrita pelo desenvolvedor em e AIDL.
Introduo ca
Dalvik
Linux 2.6
Sobre o Binder
O que Binder? e Aplicaes e servios rodam em processos separados, mas podem co c precisar compartilhar dados e se comunicar. O Binder um driver e que facilita IPC (Inter-process Communication), com alta performance em memria compartilhada. o Como funciona? Conta o nmero de referncias, assim como mapeia essas u e referncias ` objetos entre processos. Realiza chamadas s e a ncronas entre processos atravs da interface descrita pelo desenvolvedor em e AIDL.
Introduo ca
Dalvik
Linux 2.6
Sobre o Binder
Introduo ca
Dalvik
Linux 2.6
AIDL
Android Interface Description Language. Binder precisa saber qual a interface externa de cada
aplicao. ca
Descrever a interface da sua aplicao diretamente no Binder ca
complicado. e
Foi criada uma linguagem de descrio fcil de usar que ca a
converte a interface descrita pelo desenvolvedor para o cdigo o usado pelo Binder.
Introduo ca
Dalvik
Linux 2.6
AIDL
Android Interface Description Language. Binder precisa saber qual a interface externa de cada
aplicao. ca
Descrever a interface da sua aplicao diretamente no Binder ca
complicado. e
Foi criada uma linguagem de descrio fcil de usar que ca a
converte a interface descrita pelo desenvolvedor para o cdigo o usado pelo Binder.
Introduo ca
Dalvik
Linux 2.6
AIDL
Android Interface Description Language. Binder precisa saber qual a interface externa de cada
aplicao. ca
Descrever a interface da sua aplicao diretamente no Binder ca
complicado. e
Foi criada uma linguagem de descrio fcil de usar que ca a
converte a interface descrita pelo desenvolvedor para o cdigo o usado pelo Binder.
Introduo ca
Dalvik
Linux 2.6
AIDL
Android Interface Description Language. Binder precisa saber qual a interface externa de cada
aplicao. ca
Descrever a interface da sua aplicao diretamente no Binder ca
complicado. e
Foi criada uma linguagem de descrio fcil de usar que ca a
converte a interface descrita pelo desenvolvedor para o cdigo o usado pelo Binder.
Introduo ca
Dalvik
Linux 2.6
Gerenciamento de Energia
Constru sobre o Gerenciador de Energia padro do Linux do a Utiliza uma pol tica mais agressiva. So implementados diferentes tipos de Wake Locks para a
Introduo ca
Dalvik
Linux 2.6
Gerenciamento de Energia
Constru sobre o Gerenciador de Energia padro do Linux do a Utiliza uma pol tica mais agressiva. So implementados diferentes tipos de Wake Locks para a
Introduo ca
Dalvik
Linux 2.6
Gerenciamento de Energia
Constru sobre o Gerenciador de Energia padro do Linux do a Utiliza uma pol tica mais agressiva. So implementados diferentes tipos de Wake Locks para a
Introduo ca
Dalvik
Linux 2.6
Gerenciamento de Energia
Constru sobre o Gerenciador de Energia padro do Linux do a Utiliza uma pol tica mais agressiva. So implementados diferentes tipos de Wake Locks para a
Introduo ca
Dalvik
Linux 2.6
Referncias e
Introduo ca
Dalvik
Linux 2.6
Diogo de Campos digo.campos.pet@gmail.com Joo Paulo Pizani Flor a joaopizani@gmail.com Maur Oliveira Haensch cio cco.mauricio@gmail.com Pedro Covolan Bachiega pedrocob@inf.ufsc.br
Introduo ca
Dalvik
Linux 2.6