31
Um Projeto da Open Handset Alliance 14/10/2009 1 USF Campinas - Sistemas Operacionais II Android

O Sistema Operacional Android

  • Upload
    axcdnt

  • View
    114

  • Download
    2

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: O Sistema Operacional Android

Um Projeto da Open Handset Alliance

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

Android

Page 2: O Sistema Operacional Android

Grupo

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

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

Page 3: O Sistema Operacional Android

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

Page 4: O Sistema Operacional Android

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

Page 5: O Sistema Operacional Android

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

Page 6: O Sistema Operacional Android

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.
Page 7: O Sistema Operacional Android

Arquitetura

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

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

Fig. 1 – Arquitetura em camadas

Page 8: O Sistema Operacional Android

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

Page 9: O Sistema Operacional Android

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.
Page 10: O Sistema Operacional Android

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.
Page 11: O Sistema Operacional Android

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.
Page 12: O Sistema Operacional Android

IPC Binder (Comunicação Inter Processo)

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

Page 13: O Sistema Operacional Android

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

Page 14: O Sistema Operacional Android

Processos Ciclo da aplicação

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

Page 15: O Sistema Operacional Android

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

Page 16: O Sistema Operacional Android

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>

Page 17: O Sistema Operacional Android

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

Page 18: O Sistema Operacional Android

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

Page 19: O Sistema Operacional Android

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

Page 20: O Sistema Operacional Android

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

Page 21: O Sistema Operacional Android

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

Page 22: O Sistema Operacional Android

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();

Page 23: O Sistema Operacional Android

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

Page 24: O Sistema Operacional Android

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); }

}

Page 25: O Sistema Operacional Android

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

Page 26: O Sistema Operacional Android

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

Page 27: O Sistema Operacional Android

Teste feito pela revista Época

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

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

Page 28: O Sistema Operacional Android

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

Page 29: O Sistema Operacional Android

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

Page 30: O Sistema Operacional Android

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

Dúvidas?

??

Page 31: O Sistema Operacional Android

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

Obrigado!!