30
Filipe Nogueira Tavares Bruno de Oliveira Petry Guilherme Alarcão Renato Carauta Ribeiro Dennis Oliveira Crenasco Victor Setúbal Cardoso Integrantes: SISTEMA OPERACIONAL

Sistema Operacional Android

Embed Size (px)

Citation preview

Page 1: Sistema Operacional Android

Filipe Nogueira Tavares Bruno de Oliveira PetryGuilherme AlarcãoRenato Carauta Ribeiro Dennis Oliveira Crenasco Victor Setúbal Cardoso 

Integrantes:

SISTEMA OPERACIONAL

Page 2: Sistema Operacional Android

Introdução

Page 3: Sistema Operacional Android

IntroduçãoA 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.

Page 4: Sistema Operacional Android

Histórico

Page 5: Sistema Operacional Android

Histórico

4.0 - "Ice Cream Sandwich"

Page 6: Sistema Operacional Android

Histórico2005 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.

Page 7: Sistema Operacional Android

Histórico1.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

Page 8: Sistema Operacional Android

Características Gerais

Page 9: Sistema Operacional Android

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;

Page 10: Sistema Operacional Android

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.

Page 11: Sistema Operacional Android

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.

Page 12: Sistema Operacional Android

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).

Page 13: Sistema Operacional Android

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).

Page 14: Sistema Operacional Android

Estrutura do sistema

Page 15: Sistema Operacional Android

Estrutura do sistemaAndroid é 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.

Page 16: Sistema Operacional Android

Estrutura do sistema

Page 17: Sistema Operacional Android

Processos e Threads

Page 18: Sistema Operacional Android

ProcessosA 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 Process2. Processo visível3. Processo de serviço4. Serviços em Background5. Processos vazios

Page 19: Sistema Operacional Android

Threads

UI Thread (Thread principal "main")

Trabalho intensivo na UI Thread trava a aplicação

Multithread

Ciclo de vida

Page 20: Sistema Operacional Android

Gerência de Processo

Page 21: Sistema Operacional Android

Gerência de ProcessoAndroid 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 interativosprocessos 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.

Page 22: Sistema Operacional Android

Gerência de memória

Page 23: Sistema Operacional Android

Gerência de memóriaComo 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

2. Remover os transtornos de programação de uma quantidade pequena e limitada na memória principal

Page 24: Sistema Operacional Android

Sistema de Arquivos

Page 25: Sistema Operacional Android

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).

Page 26: Sistema Operacional Android

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)

Page 27: Sistema Operacional 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)

Page 28: Sistema Operacional Android

Gerência de Entrada e Saída

Page 29: Sistema Operacional Android

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.

Page 30: Sistema Operacional Android

ReferênciasABNT. 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