O Sistema Operacional Android

Post on 24-Nov-2014

111 views 2 download

description

Apresentação realizada no ano de 2009. Disciplina de Sistemas Operacionais da Universidade São Francisco (USF) Campinas.

Transcript of O Sistema Operacional Android

Um Projeto da Open Handset Alliance

14/10/2009 1USF Campinas - Sistemas Operacionais II

Android

Grupo

Gustavo Costa de Freitas 004200600084Leandro Marques 004200600220Rafael dos Santos Orágio 004200600212

14/10/2009 2USF Campinas - Sistemas Operacionais II

Resumo• Com o aumento do uso de dispositivos móveis, muitas

empresas começaram a investir em tecnologias móveis. Com todo o investimento, muitos avanços foram vistos e o mesmo aconteceu com o Android.

• O Android é uma plataforma completa para dispositivos móveis, que facilita o desenvolvimento de aplicações e o entendimento de seu funcionamento.

14/10/2009 3USF Campinas - Sistemas Operacionais II

Tópicos• O que é o Android?• História• Arquitetura• Características• SDK (Standard Development

Kit)

14/10/2009 4USF Campinas - Sistemas Operacionais II

• Histórico• O Mercado• Prós x Contras• Questões• Referências Bibliográficas

O que é?• Uma pilha completa de componentes de Software:• Sistema Operacional• Middleware• Aplicações chave

• Open Source (Sim, é Open Source!)

14/10/2009 5USF Campinas - Sistemas Operacionais II

História• Primeiras especulações surgem em meados de 2005• O Google compra a Android Inc.• Surgem especulações sobre o lançamento de um novo

produto do Google• Google Phone?• Novembro de 2007• A Open Handset Alliance

14/10/2009 6USF Campinas - Sistemas Operacionais II

Gustavo
Empresa do Vale do Silício que desenvolvia aplicativos para celulares.
Gustavo
É um consórcio entre mais de 30 empresas, fabricantes de dispositivos móveis(celulares, PDAs, table pcs, etc), semicondutores e software.
Gustavo
Primeira confirmação sobre a plataforma e intenções do Google e o surgimento da Open Handset Alliance.

Arquitetura

Fig. 1 – Arquitetura lógica em camadas do Android

14/10/2009 7USF Campinas - Sistemas Operacionais II

Fig. 1 – Arquitetura em camadas

Características• Interface Gráfica• Kernel• Modificações no kernel 2.6 do Linux• Processos• Segurança• Desempenho• Rede/Comunicação• Virtual Machine

14/10/2009 8USF Campinas - Sistemas Operacionais II

Interface Gráfica• Interface baseada em View e ViewGroups• O que são as Views?• Características das Views• Hierarquia das Views• Widgets (Botões, text fields, etc)

14/10/2009 9USF Campinas - Sistemas Operacionais II

Gustavo
As views são responsáveis por fornecer comportamento das janelas e eventos de botões e ações do usuário.
Gustavo
É um objeto que compõe uma estrutura de dados e é responsável por guardar os atributos de tela.

Kernel• Baseado no kernel Linux 2.6• Abstração entre o hardware e a pilha de aplicação do Android• Principais diferenças:• Wakelocks• Lowmem killer

• Biblioteca C customizada, codecs, engine de browser (Webkit), ambiente gráfico e gerenciador de pacotes

• O desenvolver não possuí acesso direto

14/10/2009 10USF Campinas - Sistemas Operacionais II

Gustavo
Sistema de gerenciamento de energia.
Gustavo
Sistema que permite finalizar processos de maneira criteriosa quando há pouca memória.

Modificações no kernel 2.6 do Linux• IPC Binder• AIDL(Android Interface Description Language)• Biblioteca padrão C Bionic• Wakelock(Gerenciamento de energia)

14/10/2009 11USF Campinas - Sistemas Operacionais II

Gustavo
Linguagem de descrição de interfaces para facilitar a comunicação entre aplicações.
Gustavo
Biblioteca padrão BSD criada para suportar propriedades do sistema e logging.

IPC Binder (Comunicação Inter Processo)

14/10/2009 12USF Campinas - Sistemas Operacionais II

Processos• Implementação parecida com o Linux• Multiprocessos• IPC (Comunicação Inter-processos)• Maioria das implementações é feita em Threads (Java

Threads)• O Lowmem killer• Cada aplicação é executada em um processo

14/10/2009 13USF Campinas - Sistemas Operacionais II

Processos Ciclo da aplicação

14/10/2009 14USF Campinas - Sistemas Operacionais II

Segurança• Cada aplicação é executada em um processo• Aplicações não possuem acesso para efetuar operações que

impactem outros processos (Ex.: Manter um dispositivo sempre ligado)

• Aplicações assinadas• Garantia de autenticidade

14/10/2009 15USF Campinas - Sistemas Operacionais II

Segurança• Definições de permissão declaradas no arquivo

"AndroidManifest.xml”

14/10/2009 16USF Campinas - Sistemas Operacionais II

<manifest xmlns:android="http://schemas.android.com /apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> </manifest>

Segurança• Algumas vulnerabilidades descobertas (Buffer overflow que

permitiam a execução de código remotamente) :• http://www.securityfocus.com/bid/28005• http://www.securityfocus.com/bid/31946

Correção rápida = Menos tempo para exploração

14/10/2009 17USF Campinas - Sistemas Operacionais II

Desempenho• Apresenta bom desempenho (Bibliotecas

customizadas e otimizadas)• Executa as aplicações virtualizadas • Para otimizar a performance das aplicações, há

diversas padrões de desenvolvimentos recomendados.

• Implementado sobre a arquitetura ARM.14/10/2009 18USF Campinas - Sistemas Operacionais II

Rede/Comunicação• Wi-fi• Bluetooth v2.0• 3G WCDMA (1700/2100 Mhz)• Quad-band GSM (850/900/1800/1900 Mhz)• GPS

14/10/2009 19USF Campinas - Sistemas Operacionais II

Virtual Machine (Dalvík)• O que é?• Não é uma máquina virtual Java!• Como funciona?• Multi-threads• Garbage Collector• Esforços para suportar Python e Ruby

14/10/2009 20USF Campinas - Sistemas Operacionais II

SDK(Standard Development Kit)• O que é?• Quanto custa?• Ferramentas (Desenvolvimento e Debug)• Compatibilidade entre as versões• IDEs e Emuladores• Vasta documentação

14/10/2009 21USF Campinas - Sistemas Operacionais II

SDK(Standard Development Kit)• Frameworks de aplicação (Alguns dos vários frameworks):• Localização• Telefonia• Notificação

14/10/2009 22USF Campinas - Sistemas Operacionais II

Map myMap1 = new HashMap(); HashMap myMap2 = new HashMap();

Prós x Contras• Prós• Gratuito, multi-plataforma, mantido por um consórcio de

empresas, documentações, kits de desenvolvimento, comunidades e agilidade na correção de bugs.

• Contras• Ainda não permite a instalação de aplicações no cartão de

memória. [Java Magazine / ed.69 6° ano]

14/10/2009 23USF Campinas - Sistemas Operacionais II

Hello World !!!

24USF Campinas - Sistemas Operacionais II

package com.android.helloandroid; import android.app.Activity; import android.os.Bundle; import android.widget.TextView;

public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); }

}

As aplicações já existentes• Android Scan: Encontre preços online.• Beetaun: Rede social baseada em localização • BioWaller: Gerenciador de senhas com criptografia forte.

• Muitas outras já foram desenvolvidas (PDF).• Inúmeros projetos para o futuro.

14/10/2009 25USF Campinas - Sistemas Operacionais II

O Mercado• T-Mobile G1: Primeiro smartphone capaz de rodar o Android.• Terra Tecnologia: HTC Magic é primeiro Android à venda no

Brasil (18 de setembro de 2009)• Hoje o Android está presente em aproximadamente 5% dos

celulares.• Previsto para ser o segundo sistema móvel do mercado até

2012.

14/10/2009 26USF Campinas - Sistemas Operacionais II

Teste feito pela revista Época

• Vídeo (http://www.youtube.com/watch?v=3_eHMiURDHw)

14/10/2009 27USF Campinas - Sistemas Operacionais II

Referências Bibliográficas• http://developer.android.com/• http://www.openhandsetalliance.com• http://code.google.com/intl/pt-BR/android/• http://forum.portalandroid.org

14/10/2009 28USF Campinas - Sistemas Operacionais II

Questões• Quais os motivos que a Sun tem para se preocupar com o

Android?• Você acha que o Google pode dominar o mercado com a

iniciativa do Android?• Qual a principal vantagem do Android sobre as outras

plataformas mobile existentes no mercado?• Em qual arquitetura de processador é possível executar o

Android?

14/10/2009 29USF Campinas - Sistemas Operacionais II

14/10/2009 30USF Campinas - Sistemas Operacionais II

Dúvidas?

??

14/10/2009 31USF Campinas - Sistemas Operacionais II

Obrigado!!