Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas operacionais em smartphones Guilherme Goes, Marlon Gzesiuk, Mauricio Hartmann Universidade do Vale do Rio dos Sinos Av. Unisinos, 950 - Cristo Rei, São Leopoldo - RS, 93022-750 guilhermegoes94@gmail.com, marlongzesiuk@gmail.com, mauricio.hartmann@outlook.com Abstract. This article aims to present a study on the operating systems used in smartphones. Highlighting its history, major operating systems currently used and their architectures. Resumo. Este artigo tem como objetivo de apresentar um estudo sobre os sistemas operacionais utilizados em smartphones. Destacando sua história, Principais sistemas operacionais utilizados atualmente e suas arquiteturas. 1.Introdução O presente artigo irá abordar os sistemas operacionais voltados para smartphones. Inicialmente é abordado o conceito de smartphone. O que significa esse termo que é tão ambíguo na indústria de desenvolvimento e de significado vago para o grande público que não possui conhecimento técnico sobre o assunto. Após é abordada a história dos smartphones, visto que é necessário entender a evolução da tecnologia ao longo do tempo para ser possível compreender como surgiram os smartphones. No capítulo seguinte são apresentados os sistemas operacionais que mais contribuíram e que mais foram usados em smartphones desde seu surgimento. Por motivos de espaço no artigo e da manutenção do escopo do mesmo alguns sistemas são apenas brevemente descritos, já que não faz sentido aprofundar o artigo em sistemas obsoletos ou que já foram descontinuados pelos fabricantes. Neste capítulo também são apresentadas informações importantes sobre o IOS e o Android, os dois sistemas operacionais – ou plataformas – mais usados na atualidade. Considerando os desenvolvedores, será discutido a gama de recursos que cada sistema disponibiliza para eles, tendo em vista que esses criadores podem ser do próprio sistema operacional ou também produtores de aplicativos que também utilizam a plataforma. Analisando as facilidades e dificuldades que um profissional de desenvolvimento pode enfrentar com o Android ou IOS. 2.Definição do termo smartphone O termo smartphone gera controvérsia tanto entre os fabricantes quanto entre a comunidade acadêmica. Seu significado de telefone inteligente surgiu em uma época em que os telefones mais modernos ofereciam recursos simples como agenda de contatos e calculadoras, enquanto os anteriores apenas faziam chamadas de voz. Hoje esse termo não consegue abranger de forma clara o que realmente é um smartphone, visto que até os celulares mais simples conseguem desempenhar as funções dos primeiros smartphones. Os fabricantes consideram smartphones como telefones com capacidade de suportar as mais altas tecnologias usadas em dispositivos mobile. Rodrigues (2009, pág. 19) classifica smartphones como dispositivos móveis programáveis que convergem mobilidade e conectividade. Coutinho (2014) usa como base para definição de smartphone o conceito definido pelos pesquisadores Marianthi Theoharidou, Alexios Mylonas e Dimitris Gritzalis. Esse conceito também será usado para a definição de smartphone no presente artigo. Smartphone será tratado como um celular com tecnologia avançada, com sistema operacional claramente identificado (ex: Windows, Android, etc.), em que os usuários possam estender as funcionalidades com base em aplicativos de terceiros. O hardware do smartphone deverá ter a capacidade de processamento de dados avançada, capacidade de conexões múltiplas e rápidas (ex: Wifi) e tamanho de tela adequado e limitado. 3.História A história dos smartphones começa a algumas décadas atrás, sendo necessário voltar ao início da comunicação móvel para entender o nascimento dos smartphones. Em 1983 surge o primeiro telefone móvel comercial, o Dyna TAC 8000X lançado pela Motorola,possuía um preço elevado já que era uma tecnologia revolucionária para a época. Com o passar dos anos, a diminuição do custo de hardware e serviços faz os telefones tornarem-se mais acessíveis para um número maior de pessoas (no contexto social norte-americano). Até que nos anos 1990, a IBM juntamente com a BellSouth produzem o Simon (McCarty, 2011), um telefone com tela touchscreen, capaz de fazer e receber chamadas de voz, receber fax e ser usado como page, além de possuir calculadora e uma agenda telefônica. Tendo um baixo número de vendas foi rapidamente descontinuado pela IBM. Talvez o aparelho produzido nos anos 1990 que mais tenha se aproximado do conceito atual de smartphone tenha sido o BlackBerry. Possuindo funções muito parecidas com o Simon da IBM (com exceção do recebimento de fax), o BlackBerry possuía teclado qwerty, também podia transmitir mensagens SMS, e-mails e possuía um calendário e organizador. O BlackBerry acabou sendo usado quase exclusivamente por quem trabalhava em indústrias corporativas (TechTudo, 2012). Conforme foram evoluindo, os celulares passaram a incorporar as funções de cada vez mais dispositivos, tornando-se progressivamente mais importantes. Nos anos 1999 e 2000, Nokia e Ericsson lançam respectivamente o Nokia 9000 Communicator e o R380, usando o termo smartphone (Coutinho, 2014). Com o sucesso do Nokia 9000, a Nokia lança o Symbian OS, sistema operacional que seria usado em seus smartphones da época e líder de mercado até meados de 2011(Coutinho, 2014). Posteriormente, após ser comprada pela Microsoft, os smartphones da Nokia passam a utilizar o Windows Mobile. Em 2007 a Apple lança seu smartphone, o Iphone. Com um teclado touchscreen multi-touch que dava ao usuário a impressão de manipular fisicamente as aplicações e um sistema operacional muito similar a um computador, o Iphone revolucionou o mercado e lançou as tendências seguidas até hoje no mundo mobile. Também em 2007, o Google lança a plataforma Android, produzida em parceria com empresas como T-Mobile e Qualcomm, que formariam a Open Handset Aliance - consórcio que tinha por objetivo lançar uma plataforma de código aberto para smartphones (Oficina da Net, 2015, 2017). Devido a fatores como código aberto (que permite desenvolvimento facilitado), uso em smartphones de diversos fabricantes, facilidade de uso e uma bela interface, o Android tornou-se o sistema operacional mais utilizado em smartphones em todo o mundo. Poucos telefones simples são produzidos hoje, tendo virado produtos de nicho, voltados quase exclusivamente para um parcela do mercado com baixo poder aquisitivo. Com a redução do custo de hardware e a imensa quantia de funcionalidades oferecidas pelos smartphones, sua popularização ocorreu rapidamente, dominando a maior parcela do mercado. 4.Sistemas Operacionais A presente seção tem por objetivo discorrer brevemente sobre os sistemas operacionais mais popularmente usados. Alguns são pouco conhecidos e sem muito espaço no mercado, enquanto outros fizeram grande sucesso mas por algum motivo acabaram perdendo a popularidade ou até mesmo foram descontinuados. Após isso são apresentados os sistemas IOS e Android, os mais populares atualmente. Em suas respectivas seções são citadas suas histórias, arquiteturas e alguns pontos importantes ao se trabalhar com desenvolvimento voltado para estas plataformas. 4.1.Symbian Symbian foi um sistema operacional desenvolvido inicialmente pela empresa Psion. É voltado especificamente para dispositivos portáteis (como smartphones e netbooks). O Symbian dominava o mercado, sendo usado nos smartphones produzidos por empresas como Nokia e Sony-Erickson. Posteriormente o sistema foi comprado pela Nokia e teve seu código fonte aberto, o que possibilitou umagrande expansão no uso do Symbian. Em 2012 foi descontinuado pela Nokia (atualmente pertencente a Microsoft). 4.2.WebOS Sistema lançado pela empresa Palm. Tem código fonte aberto e kernel baseado em Linux e outros componentes criados pela própria empresa. O sistema WebOS possui grande integração com a internet, seus aplicativos são criados a partir de linguagens usadas em páginas web. A interface do sistema é criada com a engine webkit. 4.3.Blackbarry OS A RIM - proprietária da BlackBarry - possui uma plataforma voltada exclusivamente para o mundo empresarial. Cada modelo de smartphone ganha uma versão própria do sistema, tirando vantagem de funcionalidades especificas. A principal característica do sistema é a integração com computadores pessoais e servidores próprios. 4.4.Windows Phone Tudo começou quando a Microsoft fez alterações em seus sistemas e lançou o Pocket PC 2000 (uma versão do Windows CE, modificado para dispositivos móveis). Após várias modificações passou a se chamar Windows Mobile. O Windows Phone a versão mobile do Windows e sucessor do Windows mobile. Possui o layout similar ao Windows desktop. O grande destaque do Windows Phone é a Nokia, comprada pela Microsoft e que passou a utilizar o Windows Phone em seus dispositivos. Apesar de ter um sistema de qualidade, o Windows Phone não obteve muito, em parte devido ao fato de ter chegado ao mercado quando o Android e o IOS - seus maiores concorrentes - já estavam firmemente consolidados. 4.5.IOS O IOS foi desenvolvido para ser utilizado no Iphone e outros dispositivos móveis da Apple, como tablets e o Ipod Touch. O IOS utiliza o conceito de manipulação direta, onde o usuário interage com o sistema através de gestos e toques na tela. Lançado em 2007, revolucionou o mercado de dispositivos móveis e gerou tendências seguidas até hoje. O Iphone, por exemplo, é o dispositivo “padrão” contra o qual todos os outros são comparados. Em comparação com outros sistemas operacionais, o IOS tem a desvantagem de ser fechado de ponta a ponta, isto é, o usuário não pode personalizar seu dispositivo e não possui acesso a configurações mais avançadas do sistema, além de que o IOS pode ser usado somente em smartphones e outros dispositivos da Apple. 4.5.1.Arquiterura A arquitetura do IOS lembra muito a arquitetura do Mac OS X, atuando como um intermediário entre o hardware e os aplicativos (Rocha; Neto). Segundo a própria Apple, raramente os aplicativos se comunicam com o hardware de forma direta. A comunicação dos aplicativos com o hardware ocorre através de interfaces do sistema que protegem o aplicativo de alterações do hardware. No topo do kernel do IOS existem quatro camadas de serviços usadas para implementar aplicações na plataforma, cada camada possui um conjunto de frameworks que podem ser utilizados para o desenvolvimento de aplicações. A ordem das camadas é representada na figura a seguir. Figura 1. Representação do kernel do IOS. Kernel: O IOS é um sistema UNIX com entradas e saídas padrões. O kernel é responsável por todo o sistema operacional. Nesta camada, os drivers fornecem a interface usada para a comunicação entre o hardware e os aplicativos. Através da biblioteca Libsystem o kernel acessa recursos de baixo nível, como cálculos, gerenciamento de memória, etc. Core OS: é a camada de mais baixo nível após o kernel. Trata-se de uma versão reduzida do núcleo do Mac OS X adaptada especialmente para dispositivos móveis (Hubsch, 2012). Contém serviços de gerenciamento de energia e frameworks utilizados para lidar especialmente com segurança, comunicação e acesso a hardwares externos, além de serviços de descobertas de rede. Core Services: contém os serviços fundamentais do sistema, utilizados por todos os aplicativos e alguns do mais essenciais para desenvolvedores. Possui frameworks para uso de dicionários, listas, strings, gerenciamento de dados e serviços de geolocalização. Alguns de seus recursos incluem ainda tecnologias que permitem aos desenvolvedores venderem serviços dentro de suas aplicações. Outro recurso importante é o SQLite, utilizado para a criação de bancos de dados SQL no próprio aplicativo, evitando requisições ao servidor. Media: como o próprio nome já diz, é a camada de mídia da plataforma. Contém gráficos, áudios, vídeos e tecnologias para melhorar a experiência do usuário e facilitar o desenvolvimento de aplicações multimídia. A maior parte das funcionalidades desta camada utiliza os frameworks Core Graphics (ou Quartz) e Core Animation, que fornecem interface de alto nível para controle de desenhos e animações. A tecnologia de áudio possui a capacidade de gravar e reproduzir áudio de alta qualidade. Existem vários frameworks para controle de áudio nesta camada, variando de mais alto até mais baixo nível. Quanto mais baixo o nível, maior o controle do desenvolvedor sobre os recursos e possibilidades de desenvolvimento. Em dispositivos com hardware apropriado, esta camada oferece recursos para captura e reprodução de vídeos, além da possibilidade do desenvolvedor utilizar e editar vídeos em suas aplicações. Cocoa Touch: nesta camada encontram-se os principais frameworks para o desenvolvimento de aplicações IOS, além de definir a estrutura para as principais tecnologias presentes nos smartphones. Esta camada pode ser dividida em duas. A de mais baixo nível também é dividida em duas, voltadas para funções do sistema como acesso a arquivos e APIs de rede. A parte de mais alto nível é um framework que contém toda a infraestrutura de aplicativos e componentes gráficos, além da manipulação de eventos gráficos e gerenciamento da web. Esta divisão de mais alto nível também permite ao desenvolvedor acessar interfaces de hardware, como câmera e acelerômetro. 4.5.2.Desenvolvimento para IOS As aplicações para IOS podem ser desenvolvidas Utilizando as linguagens de programação Objective-C e Swift. Aplicações da Apple geralmente seguem o padrão MVC (Model - View - Controller), que facilita o controle do fluxo de informações. A Apple disponibiliza ainda IDEs próprias (como o Xcode) de forma gratuita para desenvolvedores, porém essas IDEs não possuem todos os recursos para testes de aplicativos, já que não simulam todas as tecnologias dos smartphones. Para testar uma aplicação o desenvolvedor precisa ter uma conta na Apple, onde seus dispositivos devem estar registrados, dessa maneira ele pode fazer o teste dos aplicativos diretamente nos devices e posteriormente a publicação dos aplicativos na loja virtual. Objective-C é a linguagem que vem sendo utilizada a mais tempo no desenvolvimento para IOS. É uma linguagem orientada a objetos, inspirada na linguagem smalltalk e em C puro. Também pode ser usada para desenvolver aplicações para Mac OS. Em 2014 a Apple lançou de surpresa a linguagem Swift, comparada com Objective-C, que está a mais de vinte anos no mercado, a nova linguagem traz mais facilidades para o desenvolvedor, como uma sintaxe mais simples, parecida com linguagens de script. 4.6.Android OS O Android é uma plataforma para smartphones, baseada no sistema operacional Linux, que possui diversos componentes, com uma variada disponibilidade de bibliotecas e interface gráfica, além de disponibilizar ferramentas para a criação de aplicativos (LECHETA, 2009; HUBSCH, 2012, pág. 25). Em 2005, o Google compra a empresa Android Inc. que tinha por objetivo desenvolver sistemas operacionais baseados em Linux para telefones celulares e outros dispositivos móveis. Um consórcio com mais de 40 empresas de tecnologia- chamado de Open Handset Aliance - encabeçado pelo Google, trabalhou para a criação e lançamento do Android. Este consórcio de empresas definiu alguns objetivos principais para sua plataforma, como permitir a personalização de aplicações e componentes do sistema e criar uma plataforma moderna e flexível que permitisse o desenvolvimento rápido de aplicações corporativas. O Android e sua plataforma de desenvolvimento (Software Development Kit - SDK) são liberados pela licença Open Source Apache. Através da licença Apache, outras empresas podem acrescentar seus aplicativos ao Android e vendê-los sem a necessidade de autorização da Google, da Open Handset Aliance ou da comunidade open-source; Em 2009 houve um boom no desenvolvimento de telefones que usavam a tecnologia Android, sendo adotada por várias grandes empresas. Desde então o Android foi tomando conta do mercado, em 2011 ultrapassou o Symbian e tornou-se o sistema operacional mais usado em smartphones em todo o mundo. Em 2013 o Android ultrapassou o número de 1 bilhão de dispositivos ativados e 50 bilhões de downloads em sua loja de aplicativos. Hoje o Android é o sistema operacional mais usado no mundo, superando até mesmo sistemas usados em computadores, como Windows e Linux. O Android vem se espalhando para outras plataformas de hardware, como vídeo games (OUYA, desenvolvido a partir de uma campanha de crowdfunding), relógios inteligentes e, como anunciado em 2014, sistemas para automóveis. 4.6.1Arquitetura O Android é uma pilha de software com base em Linux de código aberto criada para diversos dispositivos e fatores de forma (Android, 2017). Mesmo sendo baseado no kernel do Linux, o Android tem poucas coisas em comum com distribuições convencionais do Linux, deve-se levar em consideração a diferença entre dispositivos móveis e computadores pessoais nesse caso. O kernel do Android é monolítico (DevMedia, 2012), ou seja, as principais funções do sistema operacional são implementadas em um grande bloco de código, executados dentro de um mesmo espaço de endereçamento como forma de melhorar o desempenho. Figura 2. Representação do kernel do Android Kernel: o kernel do Android é responsável pelos serviços de segurança, gerenciamento de memória, processos, redes e drivers. Produz a abstração entre hardware e software. Usar um kernel do Linux permite que o Android aproveite os recursos principais e que os fabricantes dos dispositivos desenvolvam drivers de hardware para um kernel conhecido (Hunsch, 2012, pag 15). Camada de Abstração de Hardware (HAL): a HAL são módulos de bibliotecas que implementam interface para um tipo específico de hardware. Quando um framework faz uma chamada para acessar um hardware - a câmera, por exemplo - o sistema carrega a biblioteca para esse componente de hardware Android RunTime: Nas versões mais atuais do Android cada aplicativo executa o próprio processo em uma instância própria do Android RunTime, ou seja, cada aplicativo é executado em uma máquina virtual. Este mecanismo é otimizado para oferecer consumo mínimo de memória. Bibliotecas C/C++ nativas: muitos dos componentes principais do Android são implementados em código nativo, exigindo bibliotecas nativas em C e C++. O Android runtime e a camada de abstração de hardware são exemplos de componentes implementados em C/C++. Java API Framework: O conjunto completo de recursos do SO Android está disponível pelas APIs programadas na linguagem Java (Android, 2018). Essas APIs formam blocos usados para simplificar a criação de aplicativos e facilitando a reutilização e modularização de componentes. Os desenvolvedores têm acesso às mesmas frameworks que os aplicativos do sistema usam. Aplicativos do sistema: o Android já vem com um conjunto de aplicativos ativos para funções como envio de sms, navegador de internet, contatos, etc. Como o Android é extremamente personalizável, o usuário pode optar por utilizar aplicativos terceiros no lugar dos aplicativos nativos do Android. Os desenvolvedores podem acessar esses aplicativos nativos para complementar as funções de seus aplicativos. Por exemplo, caso o aplicativo terceiro precise enviar um e-mail, pode usar o aplicativo de e-mail nativo do Android. 4.6.2.Desenvolvimento no Android Existem diversas ferramentas para o desenvolvimento de aplicativos para Android, a mais completa é o Android Studio, produzida pelo próprio Google tem foco exclusivo no desenvolvimento para Android. O Android Studio é gratuito, multiplataforma e necessita apenas do JDK (Kit de desenvolvimento padrão do Java) para funcionar. Além dessas vantagens pode ser facilmente integrado com sistemas de controle de versão, como i GIT. O Android foi projetado para ser usado em smartphones de diversos fabricantes, por isso possui frameworks que dão suporte a diversos tamanhos de telas, layouts personalizáveis. Além disso, o Android conta com APIs que são acesso praticamente ilimitado ao hardware, facilitando o uso de câmeras e outros sensores dos dispositivos. A maior parte dos aplicativos são criados utilizando a linguagem Java, que é a mais utilizada no mercado atualmente, isso faz com que um grande número de desenvolvedores possam facilmente desenvolver seus aplicativos para Android. 5.Conclusão No decorrer deste artigo foi possível abordar vários assuntos sobre o mundo dos smartphones. Foi possível concluir que smartphones são os telefones de alta tecnologia, com hardware possibilitando processamento avançado processamento de dados e um sistema operacional definido, onde o usuário possa estender suas funcionalidades utilizando aplicativos de terceiros. Foi possível observar a evolução da tecnologia que criou os smartphones usados hoje. Começando com a invenção do primeiro celular comercial e continuando conforme os celulares ganhavam cada vez mais funções que antes eram atribuídas a outros objetos ou tecnologias. Foram abordados os diversos sistemas operacionais já utilizados através dos anos, desde os mais populares até outros desconhecidos ou que já não são mais usados. O foco foi sobre os sistemas Android e IOS, mais utilizados na atualidade e que sempre buscam inovar em seus lançamentos e manter sua competitividade. É impossível falar das plataformas para smartphones sem falar dos próprios smartphones, já que ambos são inseparáveis. Cada vez mais estes aparelhos ganham funções novas e assumem um importante papel na vida da população, seja como meio de comunicação, entretenimento ou utilizados para ajudar a organizar a vida e rotina. Novos sistemas operacionais e dispositivos moveis podem surgir futuramente, trazendo novas tecnologias e inovações impensáveis hoje. A área de desenvolvimento mobile é um campo profissional promissor, cada vez com mais importância e com um maior destaque entre os profissionais de tecnologia, sua grande vantagem é de que qualquer pessoa pode criar seu produto e vende-lo para bilhões de outras pessoas sem sair de casa. Concluindo, os dispositivos móveis mudaram nossa forma de vida e trouxeram centenas de tecnologias importantes para a palma da mão. Cada vez mais, os dispositivos e seus sistemas estão mais modernos e integram-se mais a vida de todos. Quem sabe o que virá no futuro? Talvez novos sistemas que facilitem cada vez mais a vida cotidiana, ou grandes plataformas que englobem quase todas as necessidades das pessoas. Esse é um dos grandes pontos da tecnologia, nunca é possível afirmar com plena certeza o seu futuro. 6.Referências Smartphones, Guia Prático. Disponível em http://www.hardware.com.br/livros/smartphones/uiq-s60-fundacao-symbian.html.A história dos telefones. Disponível em http://www.techtudo.com.br/artigos/noticia/2012/06/historia-dos-telefones- celulares.html. A história do Android. Disponível em https://www.oficinadanet.com.br/post/13939-a- historia-do-android. Apple. Disponível em https://developer.apple.com/. Android. Disponível em https://developer.android.com/index.html. Conhecendo o Android. Disponível em http://www.devmedia.com.br/conhecendo-o- android-revista-mobile-magazine-42/24688. Android: uma análise prática sobre a plataforma. Disponível em http://www.devmedia.com.br/android-uma-analise-pratica-sobre-a-plataforma/37603. Rocha, M. Adriano ; Neto, M. Roberto. Introdução a Arquitetura Apple IOS. Coutinho, L. Gustavo. (2014). A era dos smartphones: um estudo exploratório sobre o uso dos Smartphones no Brasil. Universidade de Brasília – UNB. Rodrigues, R. Guilherme. (2009). Smartphones e suas tecnologias. Universidade de São Paulo. Hubsch, Eduardo. (2012). Uma Abordagem Comparativa do desenvolvimento de aplicações para dispositivos móveis. Faculdade de Tecnologia de São Paulo.
Compartilhar