Sistemas Embarcados Android



Documentos relacionados
Sistemas Embarcados Android

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

A plataforma Android: Uma Introdução

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião

Introdução a Computação Móvel

Android. Marcelo

O que é o Android? O que é o Android

Programação para Dispositivos Móveis

EA998/MC933 Guido Araujo e Sandro Rigo

Descrição geral do Android

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

C3SL - Centro de Computação Científica e Software Livre. Estudo sobre Android

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Sobre o Colméia: Grupo de pesquisa em Software e Hardware Livre. Software Livre não é só Linux!

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Desenvolvimento de um aplicativo básico usando o Google Android

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler

Pré-Projeto do Trabalho de Conclusão de Curso Tiago Garcia Pereira 1. INTRODUÇÃO

O SISTEMA ANDROID NO UNIVERSO DOS DISPOSITIVOS MÓVEIS

Desenvolvimento para Android

Seminário de S.O - Google Android

Sistemas Operacionais Introdução

SISTEMA BASEADO EM LOCALIZAÇÃO DE SERVIÇOS DE TÁXI

Desenvolvimento de Aplicativos com ASR para Android

IV SEMANA DE INFORMÁTICA. Prof. Rafael Hens Ribas

Manual de instalação e configuração da Ferramenta Android SDK

06/06/2013. O que é Software de Sistema? Sistema Operacional (SO) Tipos de Software de Sistema. Fatia de Mercado :: SO Desktop

Sistemas Operacionais

Programação para Dispositivos Móveis

Computação II Orientação a Objetos

Desenvolvimento de Aplicativos com ASR para Android

Android Faixa Branca Douglas Drumond

Minicurso - Android Fábio Silva / João Paulo Ribeiro

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

PLATAFORMA ANDROID. Ariel Soares Teles

ESTUDO DE CASO WINDOWS VISTA

Programação Palm OS. Roteiro da Apresentação. Motivação

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

Introdução ao ANDROID Prof. Dr. Joaquim C. Assunção

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Desenvolvimento de Aplicações Móveis: Presente, Passado e Futuro

Introdução a Computação

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Circuito UNIFACS Semana SBC

Introdução ao Android

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

Sistema Operacional LINUX

COMPARATIVO ENTRE IOS, ANDROID E WINDOWS PHONE

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 24/09/2010. Carlos Eugênio Torres Engenheiro de Informática

Programação para Android

Estrutura, Processos e Threads

Sistemas Operacionais

Virtualização Gerencia de Redes Redes de Computadores II

Infra-Estrutura de Software. Introdução. (cont.)

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Windows NT 4.0. Centro de Computação

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

UM FRAMEWORK PARA DESENVOLVIMENTO DE

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Aplicações Móveis e sua aplicação na saúde: micd, exemplo prático

Prof. Victor Halla. Unidade IV FUNDAMENTOS DE SISTEMAS

Sistemas Operacionais 1/66

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Android e Facebook. Felipe Silveira

RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA (PIBIC/CNPq/INPE)

Android Básico Hello World!

UM FRAMEWORK DE REALIDADE AUMENTADA

Programação para Dispositivos Móveis

Seminário de Lei de Informática. Francisco Siqueira de Sousa Gerente Comercial

Sistemas Operacionais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração:

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Frameworks para criação de Web Apps para o Ensino Mobile

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense

Escola Adalgisa de Barros

Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projeto Fim de Curso TÍTULO

Windows 8 no Surface, Data Dashboard e a evolução do mercado de tecnologia móvel

Introdução à Informática

Linguagens e Técnicas de Programação III Aula 01 Introdução ao Android

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br

4 Estrutura do Sistema Operacional Kernel

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Resumo até aqui. Gerenciamento Proteção Compartilhamento. Infra-estrutura de Software

Computação Instrumental

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Agregador de feeds RSS para dispositivos móveis

Figura 01 Kernel de um Sistema Operacional

Conceitos sobre Sistemas Operacionais. Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Transcrição:

Engenharia Elétrica UFPR 13 de novembro de 2014

Desenvolvido para sistemas móveis pelo Google: Android Open Source Project (AOSP) Grande sucesso, devido a combinação de: open source licensing aggressive go-to-market interface altamente amigável O Android também está atraindo a atenção de desenvolvedores de sistemas embarcados. Documentação: http://source.android.com

Histórico Em 2002 a empresa Danger Inc. desenvolve o sistema operacional Sidekick, para telefones O sistema não obteve sucesso. No entanto, o buscador padrão era o Google. Com o insucesso, o CEO Andy Rubin sai da empresa e cria a Android Inc. em 2003 e inicia o desenvolvimento de sistemas operacionais para telefones celulares. Em 2005, o Google compra a Android Inc.

Versões Fonte: Embedded Android, Karim Yaghmour, O Reilly 2012

Versões Versão Codename Uso estimado 2.2 Froyo 0.6% 2.3.3-2.3.7 Gingerbread 9.8% 4.0.3-4.0.4 Ice Cream 8.5% 4.1.x Jelly Bean 22.8% 4.2.x Jelly Bean 20.8% 4.3 Jelly Bean 7.3% 4.4 Kitkat 30.2% Nova versão: 5.0 (Android Lollipop, http://developer.android.com/about/versions/lollipop.html) Fonte: http://developer.android.com/about/dashboards/index.html (novembro/2014)

Application framework: disponível para desenvolvedores em http://developer.android.com Dalvik Virtual Machine: versão do Google para máquina virtual Java, com simplificações para melhorar o desempenho WebKit-based browser, pode ser usado e integrado pelas aplicações Interface gráfica: o Android possui sua biblioteca gráfica 2D, para 3d é usado o OpenGL ES

SQLite: parte do sistema, disponível aos aplicativos Media support: implementado pelo próprio sistema GSM telephony support: o fabricante deve fornecer os drivers Bluetooth, 3G, e WiFi: suporta a grande maioria dos dispositivos Camera, GPS, bússola, e acelerômetro: API para os aplicativos, fabricantes fornecem drivers Facilidades para desenvolvedores: SDK disponível gratuitamente, bem como emulador, plugin Eclipse e ferramentas de debug

SQLite: parte do sistema, disponível aos aplicativos Media support: implementado pelo próprio sistema GSM telephony support: o fabricante deve fornecer os drivers Bluetooth, 3G, e WiFi: suporta a grande maioria dos dispositivos Camera, GPS, bússola, e acelerômetro: API para os aplicativos, fabricantes fornecem drivers Facilidades para desenvolvedores: SDK disponível gratuitamente, bem como emulador, plugin Eclipse e ferramentas de debug

Multitasking Multi-touch Reconhecimento de comandos de voz VoIP / SIP

Ecosistema para divulgação de aplicativos: Android Market / Google Play; em novembro de 2014: 1.300.000 aplicativos (estimado). Consistent app APIs: garantia de compatibilidade da API de desenvolvimento com APIs antigas. O SO em si não tem garantias. Customizável (código fonte aberto); no entanto, o desenvolvimento é feito a portas fechadas pelo Google, sem participação da comunidade (como ocorre normalmente em sistemas open source). No entanto, a versão 3.0 não foi disponibilizada. Isto torna a plataforma muito interessante para desenvolvedores de sistemas embarcados, que buscam uma GUI que seja intuitiva e familiar ao usuário.

Requisitos de Hardware Android deve funcionar em qualquer plataforma que suporte o Linux. Principais plataformas: ARM, x86, MIPS, SuperH, e PowerPC. Ver pag. 16 do livro Embedded Android

O Android roda sobre um núcleo Linux. Alterações realizadas no kernel: http://www.forbes.com/sites/quora/2013/05/13/whatare-the-major-changes-that-androidmade-to-the-linux-kernel/ O Linux provê: Camada de abstração de hardware. Gerência de memória. Gerência de processos. Suporte à rede. O usuário nunca tem contato com o Linux

Bionic, pequena e veloz libc (biblioteca), otimizada para uso em sistemas embarcados Surface Manager: window manager 2D and 3D graphics hardware support or software simulation Media codecs: support for major audio/video codecs SQLite database WebKit library: HTML rendering Fonte: marakana.com/training/android/

Fonte: Embedded Android, Karim Yaghmour, O Reilly 2012

Android e Java Fonte: Embedded Android, Karim Yaghmour, O Reilly 2012

Sistema de Arquivos O sistema de aquivos possui três principais mount points: 1. um para o sistema 2. um para aplicações 3. um para outros Cada aplicação possui uma área acessível para ela; nenhum outro aplicativo pode acessar Teoricamente, podem ser utilizados todos os sistemas de arquivos implementados no Linux

Sistema de Arquivos Podem ser utilizados vários sistemas de arquivos. No entanto, parece estar sendo utilizado como padrão: 1. /system: yaffs2 2. /data: yaffs2 3. /sdcard: vfat No entanto, o fabricante pode alterar: Samsung Galaxy S usa Samsung RFS (proprietário). Nexus S (Samsung) com Android 2.3 usa Ext4. Existem relatos do uso até da FAT16 para o /system.

Implementação de processos Cada aplicação possui um processo no sistema. Cada aplicação possui seus arquivos de configuração com conjunto de preferências. Cada aplicação possui sua própria base de dados. Aplicações não podem acessar dados de outras aplicações, a não ser que que seja explicitamente compartilhado. Cada aplicação possui uma área acessível para ela; nenhum outro aplicativo pode acessar É esperada a existência de SDCard, com acesso permitido para todos os aplicativos