sábado, 18 de julho de 2009

Sistema operacional de celular

Sistema Operacional De Celular

- Primeira geração:Baseada em protocolos de comunicação que permitiam somente a comunicação porvoz através de celulares analógicos.- Segunda geração:Muito utilizado no país, os celulares (2G) permitem, além da comunicação por voz,transmissão de dados digitais a baixa velocidade (14,4 Kbps), acesso a internet (WAP) e enviode mensagens SMS.- Geração 2,5 :É representada pelas novas tecnologias de transmissão por pacotes, como GPRS eCDMA 1x e, principalmente, pelos serviços diferenciados, como o acesso permanente à web,possíveis pelo aumento das velocidades (50kbps) e tarifação por volume de dados. A cadaligação de voz há um canal de dados à disposição do usuário, basta acessá-lo.- Terceira geração ou 3G:Com taxas de transmissão ainda maiores (ordem de centenas de kbps) podemosdestacar a tecnologia EDGE (GSM), FOMA (NTT DOCOMO), W-CDMA3 (Wideband-CodeDivision Multiple Access) .Esse novo serviço oferece qualidade na transmissão de voz, com mínima interferência ebarulho e suporte a diversos conteúdos de multimída, como transmissão de vídeos, imagens,música e jogos, além de grande capacidade de comunicação de dados.

2. Aplicações para Dispositivos Móveis

2.1. Internet Móvel


Com a explosão da internet, a maioria das empresas migraram suas aplicações de umaarquitetura cliente/servidor para aplicações web, possibilitando o acesso de todos via umnavegador (browser) como o Internet Explorer. No objetivo de dar mobilidade a estasaplicações que buscou-se desenvolver a internet móvel ou internet wireless.No caso do celular, a navegação é feita através de um microbrowser de forma que elese adapte às condições limitadas do celular. Assim como o navegador normal, omicronavegador utiliza um endereço (URL) para contactar um servidor específico. A respostaprocessada no servidor é traduzida pelo browser que apresenta ao usuário.Dentre os microbrowsers, existem o WAP, OpenWave, Microsoft, Avantgo, Go, Palm eOpera, sendo o WAP o protocolo mais utilizado em celulares.A vantagem desse tipo de arquitetura está no fato de as aplicações serem construídasem cima de aplicações existentes na internet sem precisarem ser implementadas nosaparelhos dos clientes e, quando necessário, sua atualização pode ser feita a qualquermomento, afetando apenas o servidor.O grande problema dessa arquitetura está na qualidade da internet móvel, pois elanecessita de uma rede efetiva e de qualidade durante todo o tempo e se a taxa de transmissãofor baixa, a aplicação será afetada. Mesmo assim, pode ser utilizada em e-commerce,entretenimento bem como outros aplicativos que levem em conta a conectividade oferecidapela rede existente.

2.2. Smart-Clients


Esse tipo de arquitetura é utilizado na maioria dos aplicativos desenvolvidos paracelular, pois eles podem ser executados a qualquer momento, mesmo quando o acesso àinternet não está disponível. Eles dispõe de uma forma permanente de armazenamento dedados e não apenas cache, dessa forma, quando existe conexão, o acesso móvel sincronizaas informações entre cliente e servidor permitindo que as aplicações tenham uma interfacesofisticada e um melhor desempenho.Exemplo: Aplicação de coleta de dados.A arquitetura acima apresenta maior complexidade no desenvolvimento das aplicações,passando a exigir dispositivos móveis que disponham de um sistema operacional para suportea essas aplicações.

2.3. Exemplo de Arquitetura para Celulares

Existe uma grande pressão do mercado para que os dispositivos tenham um aumentode funcionalidades devido à convergência digital. Cada vez mais os dispositivos necessitam terfuncionalidades adicionais, porém isto tem aumentado muito a complexidade dos sistemasembarcados, pois eles continuam com a premissa de que eles têm uma funcionalidadeespecífica; por exemplo em um aparelho celular moderno é possível utilizar ele comovideogame ou tocador de MP3, mesmo assim o motivo da sua existência é permitir telefoniamóvel e essa funcionalidade nunca deve falhar.A arquitetura do MontaVista LinuxA figura acima mostra uma solução da empresa MontaVista para a criação de telefonesmóveis. Ela é um bom exemplo de uma arquitetura para um sistema embarcada que necessitade muitas funcionalidades.O RTOS fica responsável pelo gerenciamento dos recursos de hardware além deoferecer serviços para os demais aplicativos, porém, apenas alguns aplicativos tem acesso aele, os aplicativos responsáveis pelo serviço de telefonia e um framework é responsável pelosdemais aplicativos, para esses aplicativos o framework funciona verdadeiramente como umsistema operacional. É interessante notar também que na ponta dos aplicativos, existemaplicativos de terceiros na maioria das vezes eles não são embarcados ao sistema e sãoinstalados pelo usuário a de acordo com suas necessidades. Para esses aplicativos, por viremde uma fonte não conhecida, é usada mais uma camada de abstração que no caso é umamáquina virtual.Uma das características mais importantes do framework é apresentar uma API que sejafuncional, a ponto de ser possível implementar uma máquina virtual Java sobre ela, e aomesmo tempo abstrair a existência de um RTOS e evitar que algum erro nas aplicações maiscomplexas comprometam a funcionalidade do sistema.

3. Sistemas Operacionais


Os sistemas operacionais que estão dividindo o mercado brasileiro são o Palm OS, oSymbian OS e o Windows CE. Ainda encontram-se o BREW, tecnologia da Qualcomm e emPDAs alguns produtos em Linux. Vamos explanar os mais utilizados:

3.1. Palm OS

Pioneiro nos PDAs, o Palm OS não teve no mercado corporativo o mesmo sucessoobtido no mercado de consumidores em geral. Limitações iniciais das versões anteriores á 5.0dificultaram a implantação de aplicações complexas abrindo campo para a adoção dedispositivos com outros sistemas operacionais como o Windows CE da Microsoft.

3.2. Symbian


O SymbianOS é um sistema operacional desenvolvido projetado por um consórcio deempresas de telefonia para dispositivos móveis.Seu sistema é modular, permitindo que cada empresa crie sua própria interface. Abrindoa possibilidade de desenvolver sistemas desde textos em telas monocromáticas atéaperfeiçoados sistemas encontrados nos SmartPhones da Nokia e Ericsson, sendo a interface

Nokia's Series 60 a mais famosa delas.

Exemplos de interface do Symbian OS para aplicativos de Agenda e tela de entrada
Ele foi construído tendo em mente economizar os recursos dos dispositivos móveis.Possui muitos mecanismos para garantir que os aplicativos utilizarão uma quantidade mínimade memória. O mesmo conceito se aplica ao uso do sistema de arquivos, que no caso usa amemória flash do dispositivo.As aplicações neste S.O. são sempre baseadas em eventos, e como no caso damemória existem mecanismos para garantir que os aplicativos farão pouco uso doprocessador.Ele oferece uma grande quantidade de serviços de rede. Porém fornece suporte a umapequena quantidade de dispositivos, seu sistema de arquivos também é bem simples,oferecendo como serviços mais complexos o de criptografia e compactação.O Symbian foi desenvolvido para funcionar em diversos tipos de processadores dafamília ARM. Por causa dos mecanismos que limitam o consumo de recursos a programaçãopara o SymbianOS é muito restrita e complexa. O tamanho dos sistemas baseados nele é dealgumas dezenas de megabytes.Com o conceito de "open standard operating system" (sistema operacional abertopadrão), ele permite que terceiros desenvolvam aplicações para celulares.- 32 bits multitarefa;- Suporte a várias tecnologias de comunicação celular: CDMA e suas extensões(cdma200 1x e WCDMA), GSM (GPRS, EDGE, EDGE GPRS etc.) e outros;- Kernel multi-tarefa (MicroKernel)- Suporte a vários protocolos de comunicação (TCP/IP, Ethernet etc.)- Navegação pela internet (WAP e HTML);- Mensagens (SMS, EMS, email etc.);- Suporte a multimídia (sons, imagens e vídeo);- Desenvolvimento de aplicativos em C++ e Java (Personal Java, JavaPhone e MIDP);- Sincronização de dados (over-the-air usando SyncML, com PC usando porta serial,Bluetooth, infravermelho etc.)- Segurança (suporte a protocolos de criptografia).A arquitetura do SymbianOS.Exemplos de aparelhos que usam o sistema operacional Symbian:Sony Ericsson P800, Nokia 7650, Nokia 3650, Nokia 9290 Communicator, Nokia 9210iCommunicator, Nokia 9210 Communicator.

3.3. Windows Mobile


Sistema operacional desenvolvido pela Microsoft para dispositivos móveis como PDAs.Permite uma adaptação mais rápida de aplicações desenvolvidas originalmente para oWindows.- Facilidade para conexões sem fio,A última versão do Windows Mobile possui suporte nativo às tecnologias Wi-Fi eBluetooth sem a necessidade de baixar drives adicionais para acessá-las.- Integração com o Microsoft Exchange Server 2003Dessa maneira existe a possibilidade de sincronizar de e-mails e agendas pessoais- Suporte ao Windows Media 9 series.- Desenvolvimento de aplicativos (Visual Studio);O Windows CE tem ao seu favor todo o know-how para desenvolvimento de aplicativosde fácil utilização da Microsoft, além de contar com um dos melhores ambientes de produçãode software, o Visual Studio.

3.4. BREW (Bynary Runtime Environment for Wireless)


Ambiente binário de tempo de execução para aplicativos sem fio), Brew, é um sistemaoperacional, desenvolvido pela Qualcomm, semelhante ao Symbian.- Mensagens (SMS, EMS, email etc.);- Navegação pela internet (WAP e HTML);- Suporte à tecnologias de comunicação celular: CDMA e suas extensões (cdma200 1xe WCDMA);- Desenvolvimento de aplicativos em C++ e Java (J2ME, SDK);O Brew foi projetado para permitir que o desenvolvedor escolha a linguagem para acodificação dos programas. Oferece suporte nativo à linguagem C/C++, mas aceita aintegração de browsers e aplicações em outras linguagens, inclusive Java e XML.Ferramenta Própria:O Brew inclui plataforma de aplicativos Brew e ferramentas de portagem parafabricantes de dispositivos, o Brew SDK , software development kit, kit de desenvolvimento desoftware, para desenvolvedores e o Brew Distribution System, BDS, sistema de distribuição doBrew, controlado e gerenciado pelas operadoras, o que lhes permite obter aplicativos dosdesenvolvedores, comercializá-los e coordenar os processos de faturamento e pagamento.Ele apresenta alguns atrativos que a diferencia de sistemas como o J2ME, como acapacidade de processamento off-line., recursos multimídia e grande riqueza gráfica.Ele não define limites à aplicações que por sua vez podem acessar áreas de memóriade qualquer parte do celular, compartilhar dados com outros aplicativos, alterar áreas de códigotambém.O fato do C/C++ permitir acesso via apontadores a memória, o que o Java não permite,ajuda o BREW a ser mais flexível, porém exige que o programador saiba o que está fazendo.Por esse motivo o custo de desenvolvimento no BREW é mais alto, pois toda aplicaçãotem que ser testada e certificada pela Qualcomm para garantir que não se introduza na redeaplicações mal intencionadas ou simplesmente mal feitas e com isso ponha-se em risco toda acredibilidade da plataforma BREW.Exemplos de aparelhos que usam a tecnologia:Motorola T720Audiovox Toshiba

4. Comparação entre Symbian e Windows CE
4.1. Desenho e Arquitetura:

Symbian
Utiliza processadores ARM que trabalham na casa dos 100-200 MHz.Windows CEUtiliza processadores ARM na faixa dos 200-400 MHz.

4.2. Gerenciamento de Memória


Symbian
O Kernel roda em modo privilegiado e cada aplicativo tem seu próprio espaço.Windows CEUtiliza a técnica de paginação, muito utilizada para a implementação de memória virtual.Ela consiste em dividir a memória física do computador em blocos, chamados de páginas,então é utilizada uma tabela que contém a tradução dos valores de páginas virtuais parapáginas reais.

4.3. Sistema de Arquivos


Symbian
O Sistema Operacional guarda os dados nos espaços vazios do disco, rotulando-oscom um FCB (File Control Block, Bloco de Controle de Arquivo) e ainda criando uma lista coma posição deste dado, chamada de MFT (Master File Table, Tabela de Arquivos Mestre).Sabendo a posição do arquivo a ser aberto/gravado, o Sistema Operacional solicita a leituradesta, decodifica/codifica e realiza a abertura/gravação do dado.Windows CEÉ composto por um sistema de arquivos hierárquico acessado pelas funções do Kernel.

4.4. Desenvolvimento

Symbian
Através de frameworks / bibliotecas especificas.Framework é uma estrutura de suporte definida em que um outro projeto de softwarepode ser organizado e desenvolvido. Tipicamente, um framework pode incluir programas deapoio, bibliotecas de código, linguagens de script e outros softwares para ajudar a desenvolvere juntar diferentes componentes de um projeto.O Framework se diferencia de uma simples biblioteca (toolkit), pois esta se concentraapenas em oferecer implementação de funcionalidades, sem definir a reutilização de umasolução de arquitetura (design).Windows CESão baseados em API's do Windows.

5. Glossário5.1. Microkernel

O microkernel consiste em definir uma abstração muito simples do hardware, contendoapenas os elementos mais importantes como escalonadores, gerenciamento de memória ecomunicação entre processos. Todos os outros serviços, como arquivos e rede sãoimplementados por programas chamados de servidores.Servidores são programas como qualquer outro, permitindo que o sistema operacionalseja estendido apenas iniciando ou parando esses programas. Por exemplo, se for necessáriousar a rede basta iniciar o serviço de rede. Em teoria esse tipo de sistema é mais estável, poisse um servidor vir a falhar apenas o seu serviço será interrompido permitindo que todo o restodo sistema continue em execução.Porém serviços essenciais como o serviço de arquivo, precisam usar técnicas de bancode dados como transação e replicação para garantir que uma falha nesse serviço nãocomprometa o sistema.O Microkernel costuma ser mais lento que os kernel monolíticos, pois necessitam movermuitos dados entre o kernel e os serviços, já que os serviços são independentes entre si.A estrutura de um microkernel.

5.2. API's


API, de Application Programming Interface (ou Interface de Programação de Aplicativos)é um conjunto de rotinas e padrões estabelecidos por um software para utilização de suasfuncionalidades por programas aplicativos -- isto é: programas que não querem envolver-se emdetalhes da implementação do software, mas apenas usar seus serviços.De modo geral, a API é composta por uma série de funções que permitem utilizarcaracterísticas do software menos evidentes ao usuário tradicional.KernelSystem CallsAplicativosServidores IPCNo caso de sistemas operacionais, a API costuma ser dissociada de tarefas maisessenciais, como manipulação de blocos de memória e acesso a dispositivos. Estas tarefassão atributos do Kernel ou núcleo do sistema, e raramente são programáveis.

5.3. Microprocessadores ARM

Microprocessadores da XScale, que têm por principal característica o baixo consumo deenergia elétrica.O maior avanço da ARM foi a família StrongARM, que é constituída de versões rápidasdos existentes processadores ARM com um conjunto de instruções ligeiramente diferente. Comclock de 206MHz eles podem processar até 235 MIPS (1,14 MIPS/MHz).