07 abril 2015

Sistema Operacional de Celulares

1. Primeira geração

Baseada em protocolos de comunicação que permitiam somente a comunicação por voz 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 uma arquitetura cliente/servidor para aplicações web, possibilitando o acesso de todos via um navegador (browser) como o Internet Explorer. No objetivo de dar mobilidade a estas aplicaçõ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, o micronavegador utiliza um endereço (URL) para contactar um servidor específico. A resposta processada 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ídas em cima de aplicações existentes na internet sem precisarem ser implementadas nos aparelhos dos clientes e, quando necessário, sua atualização pode ser feita a qualquer momento, afetando apenas o servidor. O grande problema dessa arquitetura está na qualidade da internet móvel, pois ela necessita de uma rede efetiva e de qualidade durante todo o tempo e se a taxa de transmissão for 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 oferecida pela rede existente.

2.2. Smart-Clients

Esse tipo de arquitetura é utilizado na maioria dos aplicativos desenvolvidos para celular, 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 sincroniza as informações entre cliente e servidor permitindo que as aplicações tenham uma interface sofisticada 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 suporte a essas aplicações.

2.3. Exemplo de Arquitetura para Celulares

Existe uma grande pressão do mercado para que os dispositivos tenham um aumento de funcionalidades devido à convergência digital. Cada vez mais os dispositivos necessitam ter funcionalidades adicionais, porém isto tem aumentado muito a complexidade dos sistemas embarcados, pois eles continuam com a premissa de que eles têm uma funcionalidade específica; por exemplo em um aparelho celular moderno é possível utilizar ele como videogame ou tocador de MP3, mesmo assim o motivo da sua existência é permitir telefonia móvel e essa funcionalidade nunca deve falhar. É interessante notar também que na ponta dos aplicativos, existem aplicativos de terceiros na maioria das vezes eles não são embarcados ao sistema e são instalados pelo usuário a de acordo com suas necessidades. Para esses aplicativos, por virem de uma fonte não conhecida, é usada mais uma camada de abstração que no caso é uma máquina virtual. Uma das características mais importantes do framework é apresentar uma API que seja funcional, a ponto de ser possível implementar uma máquina virtual Java sobre ela, e ao mesmo tempo abstrair a existência de um RTOS e evitar que algum erro nas aplicações mais complexas comprometam a funcionalidade do sistema.

3. Sistemas Operacionais

Os sistemas operacionais que estão dividindo o mercado brasileiro são o Palm OS, o Symbian OS e o Windows CE. Ainda encontram-se o BREW, tecnologia da Qualcomm e em PDAs 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 sucesso obtido no mercado de consumidores em geral. Limitações iniciais das versões anteriores á 5.0 dificultaram a implantação de aplicações complexas abrindo campo para a adoção de dispositivos com outros sistemas operacionais como o Windows CE da Microsoft.

3.2. Symbian

O Symbian OS é um sistema operacional desenvolvido projetado por um consórcio de empresas de telefonia para dispositivos móveis. Seu sistema é modular, permitindo que cada empresa crie sua própria interface. Abrindo a 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. 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 a memória flash do dispositivo. As aplicações neste S.O. são sempre baseadas em eventos, e como no caso da memória existem mecanismos para garantir que os aplicativos farão pouco uso do processador. Ele oferece uma grande quantidade de serviços de rede. Porém fornece suporte a uma pequena 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 da família ARM. Por causa dos mecanismos que limitam o consumo de recursos a programação para o Symbian OS é muito restrita e complexa. O tamanho dos sistemas baseados nele é de algumas dezenas de megabytes. Com o conceito de "open standard operating system" (sistema operacional aberto padrã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 9210i Communicator, 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 o Windows.- Facilidade para conexões sem fio, A última versão do Windows Mobile possui suporte nativo às tecnologias Wi-Fi e Bluetooth sem a necessidade de baixar drives adicionais para acessá-las.- Integração com o Microsoft Exchange Server 2003 Dessa maneira existe a possibilidade de sincronizar 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 aplicativos de 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 a codificaçã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 para fabricantes de dispositivos, o Brew SDK , software development kit, kit de desenvolvimento de software, para desenvolvedores e o Brew Distribution System, BDS, sistema de distribuição do Brew, controlado e gerenciado pelas operadoras, o que lhes permite obter aplicativos dos desenvolvedores, comercializá-los e coordenar os processos de faturamento e pagamento. Ele apresenta alguns atrativos que a diferencia de sistemas como o J2ME, como a capacidade 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ória de qualquer parte do celular, compartilhar dados com outros aplicativos, alterar áreas de código també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ção tem que ser testada e certificada pela Qualcomm para garantir que não se introduza na rede aplicaçõ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 T720 Audiovox Toshiba

4. Comparação entre Symbian e Windows CE4.1. Desenho e Arquitetura:

Symbian Utiliza processadores ARM que trabalham na casa dos 100-200 MHz. Windows CE Utiliza 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 para pá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 leitura desta, 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 de apoio, 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 concentra apenas em oferecer implementação de funcionalidades, sem definir a reutilização de uma solução de arquitetura (design). Windows CE São baseados em API's do Windows.

5. Glossário

5.1. Microkernel

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

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 suas funcionalidades por programas aplicativos -- isto é: programas que não querem envolver-se em detalhes 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 utilizar características do software menos evidentes ao usuário tradicional. Kernel System Calls Aplicativos Servidores IPC No caso de sistemas operacionais, a API costuma ser dissociada de tarefas mais essenciais, como manipulação de blocos de memória e acesso a dispositivos. Estas tarefas sã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ápidas dos existentes processadores ARM com um conjunto de instruções ligeiramente diferente. Com clock de 206MHz eles podem processar até 235 MIPS (1,14 MIPS/MHz).

Nenhum comentário: