Symbian OS - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Symbian OS

Description:

Symbian OS CMP 167 Prof. Cl udio R. Geyer Elton N. Mathias Marcelo V. Neves Ricardo M. Redin Roteiro Introdu o Arquitetura Funcionalidades APIs Seguran a ... – PowerPoint PPT presentation

Number of Views:277
Avg rating:3.0/5.0
Slides: 21
Provided by: RicardoMi
Category:
Tags: palm | symbian

less

Transcript and Presenter's Notes

Title: Symbian OS


1
Symbian OS
  • CMP 167 Prof. Cláudio R. Geyer
  • Elton N. Mathias
  • Marcelo V. Neves
  • Ricardo M. Redin

2
Roteiro
  • Introdução
  • Arquitetura
  • Funcionalidades
  • APIs
  • Segurança
  • Interface Gráfica
  • Desenvolvimento para Symbian
  • IDEs

3
Introdução
  • Histórico
  • Deriva do EPOC (Electronic Piece Of Cheese)
  • O EPOC foi desenvolvido pela Psion Software e o
    primeiro dispositivo com ele foi lançado em 1989
  • Em 1998 a Psion Software tornou-se Symbian (joint
    venture entre a Psion,Ericsson, Nokia, Motorola,
    etc)
  • Em 2004 o EPOC ainda era embarcado em alguns
    dispositivos
  • É licenciado por Nokia, Siemens, Lenovo,
    Samsung, Motorola, Sony Ericsson, BenQ, Sharp,
    etc...
  • O primeiro worm para celulares (Cabir/Symbian)
    foi desenvolvido em 2004

4
Introdução
  • Características (v. 9.2)
  • Arquitetura de Microkernel de 32 bits
  • Preemptivo Multitarefa e Multithread
  • Proteção de memória, modular
  • Ênfase em conservação de memória, bateria e
    confiabilidade
  • Suporte a aplicações de Tempo-Real
  • Baseado na arquitetura de hardware SoC (System
    on-Chip)
  • Desenvolvido em C e completamente OO
  • Sistema baseado em eventos com o uso de Objetos
    Ativos
  • Modelo de segurança baseado em capabilities
  • Grande suporte à protocolos de comunicação e
    linguagens de programação (OPL, Python, Visual
    Basic, Simkin, Perl e Java)

5
Arquitetura
6
,
  • Em 2 níveis
  • Interna (parte do symbian)
  • Symbian Security Framework
  • Sistema Operacional protegido
  • Externos
  • Nokia patches
  • Discretix, ...

7
Segurança Interna
  • Criptografia
  • Certificate framework
  • Protocolos HTTPS, WTLS,
  • Sistema de assinaturas
  • Sistema de chaves publicas a aplicações
  • Sistema de chaves para acesso à ROM
  • Controle de Acesso
  • SIM PIN, device security code
  • ARM TrustZone

8
Segurança Interna
  • Separação
  • Kernel vs. Espaço do usuário (capabilities)
  • Processos
  • Secured wallet storage

9
Discretix
10
UIQ
  • SDK para desenvolvimento de interfaces
  • APIs em C e Java
  • Suporte a múltiplos dispositivos
  • Configuração Over The Air
  • Código Aberto (grande comunidade de
    desenvolvedores)
  • Características
  • Orientado a eventos
  • Modelo de programação MVC
  • Desenvolvimento baseado em herança de classes
    básicas

11
Estrutura de uma Aplicação
12
Exemplo de uma Aplicação
  • include "HelloWorld.h"
  • // Esse é o ponto de entrada do código da
    aplicação.
  • // Ele cria uma instância de CApaApplication.
  • //
  • EXPORT_C CApaApplication NewApplication()
  • return new CExampleApplication
  • // Esta função é requerida por todas as DLLs do
    EPOC32
  • // Nesse exemplo, ela não faz nada.
  • //
  • GLDEF_C TInt E32Dll(TDllReason)
  • return KErrNone

13
Application Class .h
  • CExampleApplication public CQikApplication
  • private
  • // cria um document
  • CApaDocument CreateDocumentL()
  • // retorna o Uid da aplicação
  • TUid AppDllUid() const

14
Application Class .cpp
  • // Retorna o UID da aplicação
  • TUid CExampleApplicationAppDllUid() const
  • return KUidViewApp
  • // Cria o objeto document
  • CApaDocument CExampleApplicationCreateDocumentL
    ()
  • // passa o objeto desta app.
  • return CExampleDocumentNewL(this)

15
Document Class .h
  • CExampleDocument public CQikDocument
  • public
  • // Construtor
  • CExampleDocument(CEikApplication aApp)
  • static CExampleDocument NewL(CEikApplication
    aApp)
  • // Retorna o modelo.
  • TQExampleAppModel Model()
  • private
  • // Cria a user interface
  • CEikAppUi CreateAppUiL()
  • void ConstructL()
  • private
  • // CQikDocument SaveL e RestoreL

16
User Interface Class .h
  • CExampleAppUi public CQikAppUi
  • public
  • // Construtor
  • CExampleAppUi()
  • void ConstructL()
  • CExampleAppUi()
  • private
  • // Command handler para interagir com o usuário.
  • void HandleCommandL(TInt aCommand)
  • private
  • // Uma visão
  • CExampleAppView iAppView

17
View Class .h
  • class CExampleView public CCoeControl
  • public
  • // Construtor
  • CExampleAppView()
  • CExampleAppView()
  • static CExampleAppView NewL(const TRect
    aRect)
  • void ConstructL(const TRect aRect)
  • private
  • // Inherited from CCoeControl
  • void Draw(const TRect /aRect/) const
  • private
  • // Data internal to View.
  • HBufC iExampleText

18
Ferramentas de Desenvolvimentos (IDEs)
  • Metrowerks CodeWarrior
  • Linguagem C
  • Suporte aos SDKs mais recentes da Nokia
  • Microsoft Visual C
  • Linguagem C
  • Sem suporte real para desenvolvimento de código
    Symbian OS
  • Borland CBuilderX Mobile Edition
  • Linguagem C
  • Suporte a design visual
  • Eclipse
  • Linguagem Java (J2ME)
  • EclipseME Plugin
  • Free

19
Conclusão
  • Projetado diretamente para dispositivos móveis
  • Muito utilizado
  • Modular e Extensível
  • Baseado em padrões
  • Aberto
  • Primeiras vulnerabilidades exploradas

20
Referências
  • www.symbian.com - Site oficial da joint-venture
    que desenvolve o SO Symbian e fonte principal de
    pesquisa
  • Symbian OS Version 9.2, funcional description
    http//www.symbian.com/technology/symbos-v92-det.h
    tml Características e funcionalidades do SO
  • Wikipedia http//en.wikipedia.org/wiki/Symbian_OS
    - Informações históricas e sobre a arquitetura
  • Wikipedia http//en.wikipedia.org/wiki/EPOC_28co
    mputing29 - Informações históricas e sobre a
    arquitetura
  • Wikipedia http//en.wikipedia.org/wiki/Symbian_(c
    ompany) - Histórico da empresa
  • Chen and D. Kotz. A Survey of Context-Aware
    Mobile Computing Research. Technical Report TR
    (http//citeseer.csail.mit.edu/chen00survey.html)
    - Relatório tecnico que fala sobre computação
    context-aware (que tomavantagem de informações
    como localização do usuário, horario,proximidade
    de dispositivos e atividade do usuário)
  • www.discretix.com - Site Oficial e fonte
    principal de pesquisa a respeito do
    pacoteDiscretix que oferece APIs e
    especificações relacionadas à segurançapara
    Symbian OS (criptografia, autenticação, secure
    storage,  DataRights Management)
  • UIQ www.uiq.com - Site Oficial e fonte principal
    de pesquisa a respeito do suite UIQ para
    desenvolvimento de interfaces para Symbian OS
  • http//www.metrowerks.com/pdf/IntroSymbianOSforPal
    mDevelopers.pdf Introdução para desenvolvedores
    Symbian OS/Palm
Write a Comment
User Comments (0)
About PowerShow.com