Buscar

Sistemas Operacionais - Android

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas 
Operacionais 
Abertos e Mobile
Aula 01 – Sistema Operacional Android
Prof. Me. Hebert Silva
1Sistemas Operacionais Abertos e Mobile - 2021
O que é o Android?
• O Android é um sistema operacional baseado no núcleo 
Linux com uma interface de usuário (UI) baseada na 
manipulação direta. 
• Projetado principalmente para dispositivos móveis com tela 
sensível ao toque como smartphones e tablets; atualmente 
também oferece interface específica para TVs, carros e 
relógios de pulso (wearables). 
• Foi desenvolvido pela Open Handset Alliance, composta por 
várias companhias de telecomunicações e liderada pela 
empresa de tecnologia Google.
Sistemas Operacionais Abertos e Mobile - 2021 2
O que é o Android?
•A plataforma ofereceu uma abordagem unificada para 
o desenvolvimento de aplicativos mobile. 
•Grande diferencial na ocasião de seu lançamento e 
continua até hoje 
•Os projetistas precisam criar para Android e suas 
aplicações estão prontas para ser portadas a 
diferentes dispositivos que são suportados pela 
plataforma
Sistemas Operacionais Abertos e Mobile - 2021 3
Por que o Android
UI agradável 
• O SO provê uma interface básica bela e intuitiva com o usuário. 
Conectividade 
• GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi Fi, LTE, NFC e 
WiMAX.
Armazenamento 
• SQLite: banco de dados leve e relacional. 
Suporte multimídia 
• H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE AAC, AAC 5.1, MP3, 
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF e BMP 
Mensagens
• SMS e MMS 
Sistemas Operacionais Abertos e Mobile - 2021 4
Por que o Android?
Navegador 
• Baseado no Webkit, com suporte para HTML5, CSS3 e V8 JavaScript. 
Wi-Fi Direct 
• Permite aos apps a descoberta e pareamento direto, através da uma 
conexão ponto-a-ponto de banda larga. 
• GCM – Google Cloud Messaging
• Serviço que permite aos desenvolvedores enviar mensagens de 
dados curtas diretamente aos seus usuários. 
Sistemas Operacionais Abertos e Mobile - 2021 5
Por que o Android?
Multitarefa 
• Várias aplicações executando ao mesmo tempo 
• (simultaneamente). 
Multitoque 
• Suporte nativo para multitoque, introduzido no HTC Hero. Widgets 
redimensionáveis 
• Android Beam
• Uma tecnologia baseada em NFC que permite o compartilhamento 
instantaneo através do toque entre dois dispositivos habilitados. 
Sistemas Operacionais Abertos e Mobile - 2021 6
Versões
Sistemas Operacionais Abertos e Mobile - 2021 7
Versões
Sistemas Operacionais Abertos e Mobile - 2021 8
Versões
Sistemas Operacionais Abertos e Mobile - 2021 9
Versões
Sistemas Operacionais Abertos e Mobile - 2021 10
Versões
Sistemas Operacionais Abertos e Mobile - 2021 11
Versões
Sistemas Operacionais Abertos e Mobile - 2021 12
Versões
Sistemas Operacionais Abertos e Mobile - 2021 13
Versões
Sistemas Operacionais Abertos e Mobile - 2021 14
Versões
Sistemas Operacionais Abertos e Mobile - 2021 15
Versões
Sistemas Operacionais Abertos e Mobile - 2021 16
Versões
Sistemas Operacionais Abertos e Mobile - 2021 17
Versões
Sistemas Operacionais Abertos e Mobile - 2021 18
Algumas Interfaces...
Sistemas Operacionais Abertos e Mobile - 2021 19
KitKat
Lollipop
Marshmallow
Nougat
10 11
Market share entre versões 
Sistemas Operacionais Abertos e Mobile - 2021 20
Market Share up 2018 
Sistemas Operacionais Abertos e Mobile - 2021 21
Market Share Dispositivos
Sistemas Operacionais Abertos e Mobile - 2021 22
Market Share SO
Sistemas Operacionais Abertos e Mobile - 2021 23
Sistemas Operacionais Abertos e Mobile - 2021 24
Distribuição de Apps
Sistemas Operacionais Abertos e Mobile - 2021 25
Distribuição de Apps
Sistemas Operacionais Abertos e Mobile - 2021 26
Distribuição de Apps
Sistemas Operacionais Abertos e Mobile - 2021 27
Máquina Virtual Dalvik
•Dalvik é uma máquina virtual de propósito específico 
projetada especificamente para Android, desenvolvida 
por Dan Bornstein e seu time no Google”.
•Uma vez que o hardware dos dispositivos Android 
pode e geralmente é bem limitado quanto aos 
recursos disponíveis, a máquina virtual Java não 
atenderia às necessidades da plataforma, tendo de ser 
construída uma nova.
•O nome Dalvik remete a um vilarejo da Islândia e foi 
escolhido por Bornstein (LINSTAEDT, 2012).
Sistemas Operacionais Abertos e Mobile - 2021 28
Máquina Virtual Dalvik
• A JVM tradicional e a Dalvik VM diferem em muitos aspectos, 
principalmente no que tange à portabilidade e suporte à 
bibliotecas de terceiros.
• Outros recursos como gerenciamento de memória e 
compilação JIT também foram profundamente alterados, 
tornando-a muito mais econômica em termos de consumo 
de memória e mais performática quanto ao uso de CPU.
• Além disso, outras propostas de máquinas virtuais em 
substituição à Dalvik estão sendo projetadas e 
desenvolvidas, buscando obter um ajuste ainda mais fino 
com relação às necessidades da plataforma que evoluiu 
bastante desde sua criação.
Sistemas Operacionais Abertos e Mobile - 2021 29
Arquitetura da 
plataforma
• O Android é uma pilha de software 
com base em Linux de código aberto
criada para diversos dispositivos e 
fatores de forma.
• O diagrama a seguir mostra a maioria
dos componentes da plataforma
Android.
Sistemas Operacionais Abertos e Mobile - 2021 30
Kernel do Linux 
• A fundação da plataforma Android é o kernel do linux. Por 
exemplo: o Android Runtime (ART) confia no kernel do Linux 
para cobrir funcionalidades como encadeamento e 
gerenciamento de memória de baixo nível.
• Usar um kernel do Linux permite que o Android aproveite os 
recursos de segurança principais e que os fabricantes dos 
dispositivos desenvolvam drivers de hardware para um 
kernel conhecido.
Sistemas Operacionais Abertos e Mobile - 2021 31
Camada de abstração de hardware (HAL) 
• A camada de abstração de hardware (HAL) fornece 
interfaces padrão que expõem as capacidades de hardware 
do dispositivo para a estrutura da Java API de maior nível.
• A HAL consiste em módulos de biblioteca, que 
implementam uma interface para um tipo específico de 
componente de hardware, como o módulo de câmera ou 
Bluetooth.
• Quando uma Framework API faz uma chamada para 
acessar o hardware do dispositivo, o sistema Android 
carrega o módulo da biblioteca para este componente de 
hardware.
Sistemas Operacionais Abertos e Mobile - 2021 32
Android Runtime
• Para dispositivos com Android versão 5.0 (API nível 21) ou 
mais recente, cada aplicativo executa o próprio processo 
com uma instância própria do Android Runtime (ART).
• O ART é projetado para executar várias máquinas virtuais 
em dispositivos de baixa memória executando arquivos 
DEX, um formato de bytecode projetado especialmente 
para Android, otimizado para oferecer consumo mínimo de 
memória.
• Construa cadeias de ferramentas, como Jack, e compile 
fontes Java em bytecodes DEX, que podem ser executadas 
na plataforma Android.
Sistemas Operacionais Abertos e Mobile - 2021 33
Principais Recursos ART
• Compilação "ahead-of-time" (AOT) e "just-in-time" (JIT)
• Coleta de lixo (GC) otimizada
• No Android 9 (nível de API 28) ou superior, a conversão dos arquivos de 
formato Dalvik Executable (DEX) de um pacote de aplicativos usa um 
código de máquina mais compacto.
• Melhor compatibilidade de depuração, inclusive um criador de perfil de 
exemplo, exceções de diagnóstico detalhadas e geração de relatórios de 
erros, além da capacidade de definir pontos de controle para monitorar 
campos específicos
• Antes do Android versão 5.0 (API nível 21), o Dalvik era o tempo de 
execução do Android. Se o seu aplicativo executa o ART bem, deve 
funcionar no Dalvik também, mas talvez não vice-versa.
• O Android também contém um conjunto das principais bibliotecas de 
tempo de execução que fornecem a maioria da funcionalidade da 
linguagem de programação Java, inclusive alguns recursos de linguagem 
Java 8 que a biblioteca da API Java usa.
Sistemas Operacionais Abertos e Mobile- 2021 34
Bibliotecas C/C++ nativas 
• Vários componentes e serviços principais do sistema Android, 
como ART e HAL, são implementados por código nativo que exige 
bibliotecas nativas programadas em C e C++.
• A plataforma Android fornece as Java Framework APIs para expor 
a funcionalidade de algumas dessas bibliotecas nativas aos 
aplicativos. Por exemplo, é possível acessar OpenGL ES pela Java 
OpenGL API da estrutura do Android para adicionar a capacidade 
de desenhar e manipular gráficos 2D e 3D no seu aplicativo.
• Se estiver desenvolvendo um aplicativo que exige código C ou 
C++, você pode usar o Android NDK para acessar algumas dessas 
bibliotecas de plataforma nativa diretamente do seu código 
nativo.
Sistemas Operacionais Abertos e Mobile - 2021 35
Estrutura da Java API 
• O conjunto completo de recursos do SO Android está disponível pelas APIs programadas 
na linguagem Java. Essas APIs formam os blocos de programação que você precisa para 
criar os aplicativos Android simplificando a reutilização de componentes e serviços de 
sistema modulares e principais, inclusive:
• Um sistema de visualização rico e extensivo útil para programar a IU de um aplicativo, 
com listas, grades, caixas de texto, botões e até mesmo um navegador da web 
incorporado
• Um gerenciador de recursos, fornecendo acesso a recursos sem código como strings
localizadas, gráficos e arquivos de layout
• Um gerenciador de notificação que permite que todos os aplicativos exibam alertas 
personalizados na barra de status
• Um gerenciador de atividade que gerencia o ciclo de vida dos aplicativos e fornece uma 
pilha de navegação inversa
• Provedores de conteúdo que permite que aplicativos acessem dados de outros 
aplicativos, como o aplicativo Contatos, ou compartilhem os próprios dados
• Os desenvolvedores têm acesso completo às mesmas Framework APIs que os aplicativos 
do sistema Android usam.
Sistemas Operacionais Abertos e Mobile - 2021 36
Aplicativos do sistema
• O Android vem com um conjunto de aplicativos principais para e-mail, 
envio de SMS, calendários, navegador de internet, contatos etc. Os 
aplicativos inclusos na plataforma não têm status especial entre os 
aplicativos que o usuário opta por instalar. Portanto, um aplicativo 
terceirizado pode se tornar o navegador da Web, o aplicativo de envio de 
SMS ou até mesmo o teclado padrão do usuário (existem algumas 
exceções, como o aplicativo Configurações do sistema).
• Os aplicativos do sistema funcionam como aplicativos para os usuários e 
fornecem capacidades principais que os desenvolvedores podem acessar 
pelos próprios aplicativos. Por exemplo: se o seu aplicativo quiser enviar 
uma mensagem SMS, não é necessário programar essa funcionalidade — é 
possível invocar o aplicativo de SMS que já está instalado para enviar uma 
mensagem ao destinatário que você especificar.
Sistemas Operacionais Abertos e Mobile - 2021 37
A hierarquia do ciclo de vida do processo
Um processo no Android pode estar em um dos cinco estados diferentes a 
qualquer momento, do mais importante ao menos importante:
1. Processo em primeiro plano : o aplicativo que você está usando é 
considerado o processo de primeiro plano. Outros processos também 
podem ser considerados processos de primeiro plano - por exemplo, se 
estiverem interagindo com o processo que está atualmente em primeiro 
plano. Existem apenas alguns processos em primeiro plano a qualquer 
momento.
2. Processo visível : um processo visível não está em primeiro plano, mas 
ainda está afetando o que você vê na tela. Por exemplo, o processo em 
primeiro plano pode ser uma caixa de diálogo que permite que você veja 
um aplicativo por trás dele - o aplicativo visível em segundo plano seria 
um processo visível.
Sistemas Operacionais Abertos e Mobile - 2021 38
A hierarquia do ciclo de vida do processo
3. Processo de serviço : um processo de serviço não está vinculado a 
nenhum aplicativo visível na sua tela. No entanto, está fazendo algo em 
segundo plano, como tocar música ou fazer o download de dados em 
segundo plano. Por exemplo, se você começar a tocar música e mudar para 
outro aplicativo, a reprodução de música em segundo plano será tratada por 
um processo de serviço.
4. Processo de plano de fundo : Processos em segundo plano não estão 
visíveis no momento para o usuário. Eles não têm impacto sobre a 
experiência de usar o telefone. A qualquer momento, muitos processos em 
segundo plano estão em execução no momento. Você pode pensar nesses 
processos em segundo plano como aplicativos "pausados". Eles são 
mantidos na memória para que você possa rapidamente voltar a usá-los 
quando voltar para eles, mas eles não estão usando o tempo valioso da CPU 
ou outros recursos que não sejam de memória.
Sistemas Operacionais Abertos e Mobile - 2021 39
A hierarquia do ciclo de vida do processo
• 5. Processo vazio : um processo vazio não contém mais dados 
do aplicativo. Ele pode ser mantido para fins de 
armazenamento em cache para acelerar o lançamento de 
aplicativos mais tarde, ou o sistema pode matá-lo conforme 
necessário.
• Suponha que você ligue o telefone e abra um aplicativo de 
música. 
• Enquanto você o usa, o aplicativo de música será um processo 
em primeiro plano.
• Quando você começar a tocar música e sair do aplicativo de 
música, a música continuará tocando como um processo de 
serviço.
Sistemas Operacionais Abertos e Mobile - 2021 40
Gerencia automática de processos
• O Android faz um bom trabalho gerenciando automaticamente 
esses processos, e é por isso que você não precisa de um 
assassino de tarefas no Android.
• Quando o Android precisar de mais recursos do sistema, ele 
começará a matar os processos menos importantes primeiro. 
O Android começará a matar os processos vazios e em 
segundo plano para liberar memória se você estiver com pouca 
carga. Se você precisar de mais memória - por exemplo, se 
estiver jogando um jogo particularmente exigente em um 
dispositivo sem muita RAM, o Android começará a matar os 
processos de serviço, para que seu streaming de músicas e 
downloads de arquivos parem.
Sistemas Operacionais Abertos e Mobile - 2021 41
Gerencia automática de processos
• Na maioria dos casos , O Android faz tudo isso sem precisar se 
preocupar com isso. O Android inteligentemente usa a memória 
RAM do seu dispositivo para armazenar aplicativos e outros 
dados em cache, porque não faz sentido deixar sua memória 
RAM vazia.
• Obviamente, o Android fornece aos aplicativos muita 
flexibilidade que eles têm espaço para se comportarem mal. 
Por exemplo, um aplicativo mal codificado pode iniciar um 
processo de serviço que permanece em execução em segundo 
plano o tempo todo, consumindo todo o tempo da CPU e 
diminuindo drasticamente a vida útil da bateria.
Sistemas Operacionais Abertos e Mobile - 2021 42
Gerencia de processos
• Aplicativos Android podem começar em resposta a eventos
• um desenvolvedor pode programar seu aplicativo para ser 
executado automaticamente na inicialização e executar um 
serviço em segundo plano.
• Os aplicativos podem ser iniciados em resposta a uma 
variedade de outros eventos, como quando você tira uma foto, 
quando a conexão de dados muda e assim por diante.
• Isso permite que os aplicativos executem ações em resposta a 
eventos sem executar constantemente em segundo plano.
Sistemas Operacionais Abertos e Mobile - 2021 43
Gerenciando Processos
Sistemas Operacionais Abertos e Mobile - 2021 44
Podemos usar o menu multitarefa no Android 4.0 e posterior para 
fazer um gerenciamento básico de processos.
Para acessá-lo, toque no botão multitarefa dedicado em dispositivos
Você também pode ir para a tela Configurações, tocar em 
Aplicativos, tocar em um aplicativo e usar o botão Forçar para 
matar um aplicativo que se comporta mal.
Mão na Massa
Sistemas Operacionais Abertos e Mobile - 2021 45
Referências
•https://gs.statcounter.com/android-version-market-
share/mobile-tablet/worldwide/#monthly-201812-
202107-bar•https://developer.android.com/about
•https://www.luiztools.com.br/post/tudo-sobre-
maquina-virtual-dalvik-do-android/
•https://pt.phhsnews.com/how-android-manages-
processes2561
•https://www.youtube.com/watch?v=QTVz1oH_heU&a
b_channel=NewbieAulas
Sistemas Operacionais Abertos e Mobile - 2021 46
https://gs.statcounter.com/android-version-market-share/mobile-tablet/worldwide/#monthly-201812-202107-bar
https://developer.android.com/about
https://www.luiztools.com.br/post/tudo-sobre-maquina-virtual-dalvik-do-android/
https://pt.phhsnews.com/how-android-manages-processes2561
https://www.youtube.com/watch?v=QTVz1oH_heU&ab_channel=NewbieAulas

Continue navegando