symbian os l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Symbian OS PowerPoint Presentation
Download Presentation
Symbian OS

Loading in 2 Seconds...

play fullscreen
1 / 20

Symbian OS - PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on

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 Interface Gráfica Desenvolvimento para Symbian IDEs. Introdução. Histórico: Deriva do EPOC (Electronic Piece Of Cheese)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Symbian OS' - penn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
symbian os

Symbian OS

CMP 167 – Prof. Cláudio R. Geyer

Elton N. Mathias

Marcelo V. Neves

Ricardo M. Redin

roteiro
Roteiro
  • Introdução
  • Arquitetura
  • Funcionalidades
  • APIs
    • Segurança
    • Interface Gráfica
  • Desenvolvimento para Symbian
  • IDEs
introdu o
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
introdu o4
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)
slide6
,
  • Em 2 níveis:
    • Interna (parte do symbian)
      • Symbian Security Framework
      • Sistema Operacional protegido
    • Externos
      • Nokia patches
      • Discretix, ...
seguran a interna
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
seguran a interna8
Segurança Interna
  • Separação
    • Kernel vs. Espaço do usuário (capabilities)
    • Processos
    • Secured ‘wallet’ storage
slide10
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
exemplo de uma aplica o
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;

}

application class h
Application Class .h

CExampleApplication : public CQikApplication

{

private:

// cria um document

CApaDocument* CreateDocumentL();

// retorna o Uid da aplicação

TUid AppDllUid() const;

};

application class cpp
Application Class .cpp

// Retorna o UID da aplicação

TUid CExampleApplication::AppDllUid() const

{

return KUidViewApp;

}

// Cria o objeto document

CApaDocument* CExampleApplication::CreateDocumentL()

{

// passa o objeto desta app.

return CExampleDocument::NewL(*this)

}

document class h
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

} ;

user interface class h
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;

};

view class h
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;

};

ferramentas de desenvolvimentos ides
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 C++BuilderX Mobile Edition
    • Linguagem C++
    • Suporte a design visual
  • Eclipse
    • Linguagem Java (J2ME)
    • EclipseME Plugin
    • Free
conclus o
Conclusão
  • Projetado diretamente para dispositivos móveis
  • Muito utilizado:
    • Modular e Extensível
    • Baseado em padrões
    • “Aberto”
  • Primeiras vulnerabilidades exploradas
refer ncias
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.html – 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_%28computing%29 - Informações históricas e sobre a arquitetura
  • Wikipedia: http://en.wikipedia.org/wiki/Symbian_(company) - 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/IntroSymbianOSforPalmDevelopers.pdf – Introdução para desenvolvedores Symbian OS/Palm