You are on page 1of 6

1.

Sistemas Operacionais Móveis

Ao longo dos últimos anos os dispositivos móveis sofreram diversas evoluções,
onde em suas primeiras versões eram equipamentos bastante limitados e caros,
passaram a ser agregados diversos recursos, tanto no hardware quanto no software,
como por exemplo os sistemas operacionais. Atualmente os dispositivos móveis se
tornaram bastante populares e isso se deve principalmente a grande quantidade de
recursos agregados ao seu funcionamento, tais como: acesso a redes sem fio, recursos
de localização geográfica, capacidade de processamento e armazenamento, câmera de
alta resolução e muitos outros.
Segundo Tanembaum (2008), sistema operacional é um software cujo trabalho é
gerenciar um ou mais processadores, memória principal, discos, interfaces de rede e
outros dispositivos de entrada e saída, e fornecer aos programas do usuário uma
interface com hardware mais simples.
Muito se tem avançado nas pesquisas de soluções pessoais e corporativas nessa
área, despertando o interesse das grandes empresas mundiais de tecnologia, como a
Google e a Microsoft. Muitas soluções foram e continuam sendo desenvolvidas para
esse ambiente, com o intuito de oferecer uma maior variedade de recursos e
funcionalidades, para proporcionar ao usuário uma melhor experiência, dentre essas
soluções podemos destacar as de maior relevância no cenário atual: o Android da
Google, o iOS da Apple e o Windows Phone da Microsoft. Esses são os sistemas
operacionais para dispositivos móveis mais utilizados atualmente, onde os fabricantes
buscam a todo momento novos recursos e funcionalidades para tentar se destacar nesse
mercado bastante competitivo.
Segundo pesquisa realizada pela IDC Brasil em relação a participação de
mercado de cada sistema operacional móvel mostra o Android com 88,73%, o Windows
Phone com 6% e o iOS com 4,7%.
Segundo Silberschatz (2004), sistema operacional móvel é um conjunto de
programas com função de gerenciar os recursos de hardware e software para
dispositivos móveis, além de fornecer uma interface ao usuário final.
Ainda segundo Silverschatz (2004), os sistemas operacionais podem ser
conceituados de duas formas: de cima para baixo (visão do usuário ou programador) e
de baixo para cima (gerenciamento de recursos).
Segundo a IDC, em 2013 os sistemas Android e iOS totalizaram 93,8% em
relação a comercialização de smartphones no mundo, que totalizaram 1.009,6 milhões
de aparelhos.
Resultados por trimestre


Resultados anuais

O mercado de smartphones está bastante concorrido e impulsionado
principalmente pela exigência, cada vez maior, dos seus usuários. Os fabricantes
buscam desenvolver novos recursos e funcionalidades que proporcionem novos níveis
de experiência e preocupados também com o desenvolvimento de tecnologias que
podem ser um diferencial de mercado. Segue relação com os recursos dos sistemas
operacionais móveis mais usados no mercado: Android, iOS e Windows Phone.

1.1. Android

Segundo LECHETA (2010), o Android é uma plataforma de desenvolvimento
para aplicativos móveis como smartphones e contém um sistema operacional baseado
em Linux, uma interface visual rica, GPS, diversas aplicações já instaladas e ainda um
ambiente de desenvolvimento bastante poderoso, inovador e flexível.
Segundo a Android Developers, o sistema operacional Android fornece uma
estrutura de aplicativo rico que lhe permite criar aplicativos inovadores e jogos para
dispositivos móveis em um ambiente de linguagem Java.

1.1.1. Camadas

A arquitetura do sistema operacional Android é divida em camadas, onde cada
parte é responsável por gerenciar os seus respectivos processos. (LECHETA, 2009).


Divisões em camadas do Android

 Camada de Aplicação: nesta camanda estão localizados todos os aplicativos
instalados e que serão executados sobre o sistema operacional. Dentre estas
aplicações pode-se destacar: Contatos, Agenda, Navegador, Mapas, Calculadora
e outros.
 Camada de Bibliotecas: nesta camada ficam armazenadas as bibliotecas com
os recursos de multimídia e C/C++, que são utilizadas pelo sistema operacional,
ainda pode-se destacar as bibliotecas responsáveis pela visualização de camadas
2D e 3D, funções de aceleradores de hardware, renderização, funções gráficas,
funções de acesso a banco de dados e outras.
 Camada de Runtime: é nesta camada onde a máquina virtual é instanciada,
sendo esta máquina virtual a virtual Dalvik, que é usada para todas as aplicações
do sistema. Possui recursos de multiprocessamento, é capaz de explorar melhor
os recursos de hardware e a integraçao com novos recursos de hardware é mais
eficiente.
 Camada de Kernel Linux: a origem do Android é baseada no kernel do Linux,
na versão 2.6, onde foram explorados os recursos de controle de processos,
gerenciamento de memória, threads, protocolos de rede, modelo de drives e
segurança.
Um grande diferencial do Android é o fato de ter o código fonte aberto ou open
source, existe também um kit de desenvolvimento em java para as aplicações, chamado
de Android SDK. Outro recurso que merece destaque é a existência de um gerenciador
de banco de dados nativo, o SQLite e o suporte gráfico baseado na OpenGL ES.
O recurso chave para o desenvolvimento da aplicação proposta neste trabalho é
disponibilizado apenas no ambiente Android, que é o Google Maps, sendo assim, o
Android foi escolhido como base para o desenvolvimento das aplicações, tendo em vista
também o seu destaque no cenário mundial e a porcentagem de uso desse sistema
operacional em relação aos seus concorrentes diretos: iOS e Windows Phone.

1.2. iOS

É um sistema operacional desenvolvido pela Apple, que originalmente foi usado
para o iPhone, mas que logo foi expandido o seu uso para o iPod, iPad e Apple TV. O
iOS é usado apenas em equipamentos da própria empresa, não sendo permitido o seu
uso e comercialização por empresas terceirizadas. O lançamento do iOS ocorreu em 9
de janeiro de 2007 juntamente com o iPhone.
1.2.1. Camadas

Segundo a própria Apple, a estrutura do Sistema Operacional iOS é dividida em
quatro camadas, sendo elas: Cocoa Touch, Media, Core Services e Core OS, conforme a
figura abaixo.


Camadas do Sistema Operacional iOS.


 Camada Cocoa Touch: camada responsável pelos recursos de interação com o
usuário, nela contém: multi-touch, acelerômetro, camera, alertas, sistemas de
localização e outros;
 Camada Media: nesta camada estão os serviços de mídia de áudio e vídeo do
iOS, tais como: OpenAL, Gravação, Animação, Leitor de PDF, OpenGL ES e
Quartz, suporte para vídeos em full-screen;
 Camara Core Services: camada responsável por oferecer os serviços do
sistema, são eles: SQLite, acesso a arquivos, preferências, rede e outros;
 Camada Core OS: nesta camada fica o núcleo do sistema operacional (OS X
kernel), também os serviços de sockets, segurança, gerenciamento de energia,
certificados e outros.
Para o desenvolvimento de aplicações compatíveis ao iOS é necessário o uso da
linguagem Objective C, sendo o Xcode a opção de IDE mais usada para esta tarefa.

1.3. Windows Phone

É um sistema operacional móvel, desenvolvido pela Microsoft, criado
inicialmente para ser o sucessor do Windows Mobile, mas que não herdou nada de suas
características e funcionalidades, sendo todo ele escrito novamente com a intensão de
padronizar todos os sistemas desenvolvidos pela Microsoft com o mesmo estilo.
A arquitetura do Windows Phone é dividida em diversas camadas, são elas: a
camada de hardware (hardware foundation), camada do núcleo (kernel), camada modelo
da aplicação (app model), camada modelo de interface (UI model), camada cloud (cloud
integration) e camada de aplicações (applications), conforme a figura abaixo.


Arquitetura do Windows Phone

 Camada de Núcleo: é onde fica localizado o núcleo ou kernel do sistema
operacional. No Windows Phone 7 era usado o mesmo kernel do Windows CE,
já no Windows Phone 8 é usado o mesmo kernel do Windows 8.
 Camada modelo da aplicação: é a camada app model, que tem a função de
execução dos aplicativos;
 Camada modelo de interface: é a camada UI model, que tem a função de
renderização dos aplicativos que serão executados na tela;
 Camada cloud: na camada cloud integration fica a função de execução dos
aplicativos em nuvem;
 Camada de aplicação: nesta camada ficam as bibliotecas e frameworks, e é
nela que ficam também os aplicativos.
As aplicações podem ser desenvolvidas em C++/CX, HTML/Javascript,
WAML/C# e XAML/Visual Basic.