# data[].attributes.body
O sistema operacional é um software responsável
por controlar o computador e tem por objetivo gerenciar os recursos
de hardware (processador, memória, periféricos do computador
como teclado, mouse e impressora, dados, dentre outros) e fazer a
interação entre o hardware e o software, além de ser o responsável
por conectar o hardware e o usuário do computador.

# data[].attributes.attachment_link.readable_text
Introdução: Sistema Operacional

Todas as vezes que alguém pergunta: qual o sistema operacional que você usa? Instantaneamente, você pensa na janelinha do Windows, no shell do Linux ou mesmo no ícone de configurações do Android, dentre outros, não é mesmo?!

Mas e se eu te contasse que um sistema operacional não se resume àquele visual com pastinhas bonitinhas clicáveis e tão úteis em nosso dia-a-dia - conhecido como GUI (Graphical User interface, interface gráfica do usuário)? E você pode pensar: "Ah, então é o shell ou terminal?

Já te digo - e vai ser chocante: Nananinanão!

Fonte: hips.hearstapps.com

Durante a leitura, nós vamos identificar qual o conceito de sistema operacional, alguns de seus aspectos fundamentais, compreenderemos sua importância tanto para o usuário comum, quanto para as pessoas desenvolvedoras, e também conheceremos tipos e estruturas de sistemas.

Apertem os cintos e vamos para as revelações...

Leia também: Como instalar o MongoDB, Compass e Shell no sistema operacional Linux?

O que é um sistema operacional?

Fundamentalmente, um sistema operacional é um software, que pode ser o Linux, Windows, Android, macOS, UNIX, entre outros. No entanto, ele não resume aquilo que seus olhos conseguem ver ou ao que você consegue interagir. Em outras palavras, é um programa que conversa diretamente com o hardware da sua máquina.

O sistema operacional assegura que os programas funcionem corretamente. Mas antes de entendermos o que é um sistema operacional, precisamos definir o que é um sistema computacional.

Um computador moderno apresenta alguns elementos principais, que podemos destacar:

Um ou mais processadores (o core);

Memória principal;

Dispositivos de entrada e saída (E/S), como monitores e teclados.

Todos esses componentes lidam em conjunto com os programas na sua máquina. À primeira vista pode parecer pouca coisa, mas você conhece de fato todos os componentes que pertencem ao seu computador? Sabe como todos eles funcionam?

Já pensou então, se todo o usuário e usuária se preocupassem com detalhes de hardware para escrever um arquivo de texto? Ou pior, se os desenvolvedores e desenvolvedoras tivessem que aprender os pormenores dos componentes de um computador moderno para conseguir começar a programar? Parece um trabalho sem fim, não é?

Fonte: tenor.com

Qual a função do sistema operacional?

O autor do livro sistemas operacionais modernos, Tanenbaum, levanta essa questão e justifica que o sistema operacional surgiu para intermediar o diálogo entre máquina e pessoa programadora (ou mesmo usuário/a mais avançado).

Assim, a gente não precisa se preocupar em administrar todos os recursos na mão, ou então, por exemplo, ter que deslocar um espaço na memória específico para determinada variável?

Ademais, certamente a quantidade de programadores e softwares disponíveis na atualidade não seria a mesma se houvesse a necessidade também de gerenciar formas de otimização dos recursos.

Muitas vezes o sistema operacional é considerado um software base, porque fornece suporte às aplicações. Ele funciona como uma interface entre a aplicação e as rotinas de E/S com o hardware, ou seja, é preciso ter um sistema que faça essa conversa, e é nesse campo que o sistema operacional atua. Essa peça mais elementar de software opera em dois modos: o modo núcleo (modo supervisor) e o modo usuário.

No modo supervisor o acesso é completo a todo o hardware, e é possível enviar qualquer instrução que a máquina seja capaz de executar. O modo usuário é mais restrito para instruções que interferem no controle da máquina, mas é onde todo o resto do software opera.

Na imagem abaixo, conseguimos visualizar de forma simplificada as responsabilidades dos modos usuário e núcleo, assim como o local de atuação dos programas de interface com o usuário (GUI ou shell):

Fonte: Sistemas Operacionais Modernos. Tanenbaum, p.1.

Embora a divisão de responsabilidades pareça muito clara, em diversas ocasiões, a distinção entre o campo de atuação do sistema operacional e o modo usuário (software usual) se torna complexa. Um exemplo dessa afirmação é um programa que funciona em modo usuário, mas executa tarefas privilegiadas, como permitir ao usuário a troca de senha.

Em outras palavras, definir exatamente um sistema operacional não é tão simples assim, mas conseguimos diferenciá-los de programas de usuário por meio de suas particularidades.

Em resumo, as principais funções do sistema operacional são: 1) funcionar como uma ponte entre aplicações na camada do usuário e hardware; 2) e gerenciar os recursos de um sistema complexo (por exemplo, quando você executa vários programas ao mesmo tempo, na realidade é o seu sistema operacional que troca, em frações de segundos, o programa processado pela unidade central de processamento).

Além disso, são programas robustos, complexos e possuem longa vida. Apesar de serem muito difíceis de escrever, você acredita que o Linux tem cerca de cinco milhões de linhas? E isso é só a parte que opera no modo núcleo!

Fonte: i.gifer.com

Sistema operacional, o herói mascarado

Já discutimos que lidar com a arquitetura de hardware é algo muito trabalhoso, a linguagem de máquina é complexa e, por essa razão, todos os sistemas operacionais fornecem ao usuário um nível de abstração.

Para criar um arquivo, uma foto ou música no seu computador, você não precisa conhecer os pormenores de hardware, mas usa a abstração fornecida para realizar essa tarefa. Dessa maneira, o hardware fica "escondido" nesse processo.

Os sistemas operacionais também fornecem uma série de benefícios, como maior portabilidade das aplicações (possibilidade de uso de uma mesma aplicação em diferentes computadores), e proporcionam o espaço para que as aplicações se dediquem a problemas de alto nível, ou seja, aos problemas que foram designadas para solucionar.

Além disso, só é possível executar múltiplos programas simultaneamente graças ao gerenciamento de recursos do sistema operacional.

O gerenciamento de recursos apresenta a multiplexação, que é o compartilhamento de recursos no tempo e no espaço. Em outras palavras, quando diferentes programas ou mesmo usuários realizam o revezamento no uso de um recurso, esse recurso é multiplexado no tempo.

Um exemplo bem comum de multiplexação no tempo é quando temos várias saídas de impressão em fila e apenas uma impressora, o que ocorre é que haverá uma decisão sobre qual documento será impresso primeiro.

Fonte: br.pinterest.com

Os sistemas operacionais hoje, na 5ª geração de computadores, não se limitam aos desktops, mainframes ou notebooks. Observamos a presença em diferentes dispositivos, como IoT, celulares, até carros autônomos e muitos outros.

Diversas arquiteturas de sistemas operacionais foram criadas para atender a essas demandas especializadas. Vamos conhecer alguns?

Tipos e estruturas de Sistemas operacionais

Assim como existem dispositivos diferentes, também há tipos de sistemas operacionais específicos, com estruturas que se encaixam melhor em determinados computadores. Essas distintas formas de processamento do sistema operacional, estão divididas em monoprogramada e **multiprogramada.
Formas de processamento:
É através das chamadas de sistemas (System Calls) que executamos ou interrompemos os processos. Um exemplo é a chamada mkdir no terminal, que cria um novo diretório.

Agora que compreendemos de forma sucinta como ocorre a atuação dos sistemas operacionais, é interessante observarmos também algumas estruturas que já foram implementadas na prática, são elas: sistema monolítico, sistemas de camadas, micronúcleos, modelo cliente-servidor, máquinas virtuais e exonúcleos.

Dentre os sistemas citados, podemos destacar alguns que usualmente aparecem em nossa rotina:

Os sistemas operacionais são um universo!

Conclusão

Se conhecer circuitos, dispositivos de entrada e saída, monitor, memória, processador, e demais elementos em detalhes fosse requisito para escrever as linhas de código, sem dúvida nenhuma quase nenhum programa seria feito, como esclarece Tanenbaum.

Os sistemas operacionais então, surgem como programas fundamentais para operar diferentes computadores e garantir maior eficiência e experiência para o usuário e usuária.

Neste apanhado geral, conseguimos vislumbrar o que é sistema operacional e o quanto ele é fascinante. Além disso, também foi possível compreender para que serve o sistema operacional e quais os tipos existentes.

Sabemos agora, que a escolha do sistema operacional também está relacionada à sua necessidade e função do seu computador, ou seja: 1) instale diferentes sistemas operacionais (uma máquina virtual já é um excelente começo!); 2) avalie suas funcionalidades e, por fim; 3) estude seus pormenores, pois os sistemas operacionais são realmente impressionantes. E lembre-se, a inteligência e utilidade no uso da tecnologia quem realiza é você!

E você, o que acha? Quais sistemas operacionais já usou?

Compartilhe sua opinião em suas redes sociais e marque a gente!
E então, vamos aprender mais?

# data[].attributes.attachment_link.title
Sistemas operacionais: conceito e estrutura | Alura

# data[].attributes.attachment_link.description
Sistema Operacional: conheça os principais conceitos e tenha uma visão geral sobre os sistemas operacionais.

# data[].attributes.body
Evolução dos Sistemas Operacionais

Podemos, de forma segura, dizer que a computação moderna, em seus primórdios, não utilizava o conceito de sistema operacional. As instruções operacionais eram produzidas diretamente no hardware. Em alguns casos essas operações eram semelhantes às antigas centrais telefônicas, nas quais a computação era feita tirando-se o cabo de um plug e ligando-o a outro para uma instrução, desvio ou complemento.

Por volta de 1965, começaram a aparecer, no mercado, SO proprietários, ou seja, cada equipamento de cada marca possuía seu próprio sistema operacional e os computadores de grande porte eram totalmente incompatíveis entre si; não possuíam sequer um hardware com periféricos que pudessem ser intercambiáveis. Cientistas da AT&T desenvolveram, em 1969, o Unix, cujo objetivo era evitar essa falta de compatibilidade entre computadores diferentes quanto aos seus sistemas operacionais.

Pode ser considerado não somente o primeiro SO moderno, mas também um influenciador dos sistemas existentes atualmente. Na década de 70 do século 20, Steve Jobs teve a ideia de criar o computador pessoal que roda um sistema operacional compatível para usuários comuns.

Estava sendo criada a microinformática. Isso ocorreu por volta de 1976. Nessa mesma época, Bill Gates trabalhou em sistemas operacionais para o IBM-PC, microcomputador que utilizava PC-DOS, depois MS-DOS. Com a mudança de rumos da IBM, quanto a microcomputadores, a Microsoft tomou seu próprio rumo e desenvolveu o sistema operacional Windows, carro chefe da empresa nos dias de hoje.

Quanto às gerações de Sistemas Operacionais, podemos fazer uma tabela relacionada a cada arquitetura de hardware que foi desenvolvida:

• 1ª Geração (1945/55): Válvulas e Painéis, uso de Plug’s.
• 2ª Geração (1955/65): Transistores e Sistemas Batch.
• 3ª Geração (1965/80): Circuitos Integrados e Multiprogramação.
• 4ª Geração (1980/90): Computadores de uso Pessoais.
• 5ª Geração (1990/97): Windows, Linux.
• 6ª Geração (2000~): Sistemas em Nuvem, Distribuídos e Móveis.

# data[].attributes.body
Dispositivos móveis: entenda o que entra nessa categoria

Por Gabriel Subtil

Especialista em Tecnologia — Portal de Planos

Cada vez mais o termo “dispositivos móveis” é recorrente em nossas vidas. São aparelhos dos mais variados que oferecem diferentes recursos para usarmos no dia a dia. No entanto, com tantos produtos diferentes aparecendo, muitas vezes ficamos confusos com os termos usados para se referir a eles.

Quer economizar com o seu plano de celular? Não deixe de falar com os nossos especialistas, te ajudamos a conhecer e comparar as melhores operadoras do Brasil:

Internet boa e barata

Ligue e conheça o melhor plano de internet da sua região!

0800 184 4545

Afinal, o que exatamente são os dispositivos móveis? Qualquer aparelho computadorizado é um dispositivo móvel? Quais os tipos disponíveis no mercado?

Você pode descobrir a resposta para essas e outras perguntas continuando a leitura deste conteúdo!

O que são dispositivos móveis?

Embora de certa forma “dispositivos móveis” seja um conceito amplo, é simples compreender ao que ele se refere. Em geral, podemos definir como qualquer aparelho portátil que, por meio de recursos de computação, execute funções e processos, como: reproduzir mídia, navegar na internet, acessar e-mail, localização GPS, calculadora, calendário etc.

Como sabemos, as tecnologias digitais avançaram muito nos últimos anos. Desde que os computadores se popularizaram nos anos 1990 e 2000, e com o amplo acesso à internet ao redor do mundo, não param de surgir novos dispositivos para facilitar tarefas do dia a dia. Esses aparelhos são comumente chamados de dispositivos móveis, ou dispositivos mobile.

Os mais conhecidos aparelhos entre os dispositivos móveis são os smartphones. O acesso à internet a partir de um aparelho portátil que combina diversos acessórios foi o grande salto necessário para dar a força necessária ao mercado ascendente das tecnologias móveis.

Quais são os tipos de dispositivos móveis?

À princípio, os dispositivos móveis poderiam ser divididos entre três categorias: notebooks ou computadores portáteis, tablets e smartphones. Essa separação, no entanto, se tornou obsoleta com o tempo. Hoje temos muitos outros tipos de dispositivos móveis aos quais as pessoas podem ter acesso. Veja alguns exemplos a seguir!

Smartwatches

Os smartwatches se tornaram mais conhecidos após o boom dos smartphones. Basicamente, esses dispositivos se conectam ao smartphone via bluetooth para, além de marcar as horas, facilitar o acesso a funções como ligações, SMS’s, redes sociais, etc.

Os smartwatches ganharam muita atenção pelos modelos voltados para atividades esportivas e exercícios. Essas versões do dispositivo contam com monitor cardíaco, contador de passos e outras funções que ajudam no desenvolvimento de atletas.

Smart speakers

Os smart speakers, ou auto-falantes inteligentes, são um dos fenômenos mais recentes do mercado de dispositivos móveis. Esses aparelhos representam bem como a inteligência artificial e a “internet das coisas” vão se tornar mais comuns.

Basicamente, os smart speakers são aparelhos conectados a internet pela rede sem fio, capazes de realizar tarefas por meio de interações de comandos de voz. Atualmente os mais populares são os modelos Echo da Amazon e os Home do Google.

Esses dispositivos são capazes de se conectar com outros aparelhos inteligentes, como smartphones, TV’s Smart, interruptores e termostatos. sistemas de som etc., tornando possível controlar vários aparelhos de um ambiente de forma integrada.

Leitores de livros digitais

Os “Leitores de livros digitais” ou E-readerssão dispositivos com um propósito simples: permitir aos usuários pesquisar, comprar, baixar e ler livros, revistas, jornais e outros materiais em formato digital através de uma conexão a uma rede sem fio.

O E-reader mais vendido no mercado é o Kindle, produzido pela Amazon. No mercado de dispositivos móveis, o maior concorrente dos E-readers são os tablets. Porém, enquanto um é dedicado a um único propósito, os tablets executam uma variedade maior de funções, o que os torna consideravelmente mais caros.

Como os dispositivos móveis executam atividades e processos?

Os dispositivos móveis, assim como os computadores de mesa e os notebooks, precisam de um sistema operacional para processar e coordenar as tarefas executadas.

Enquanto no mercado de computadores prevalecem o Windows da Microsoft e o macOS da Apple, entre os dispositivos móveis os sistemas operacionais mais utilizados são:

Android ― Google;

iOS ― Apple;

Windows Mobile ― Microsoft;

RIM ― BlackBerry;

Palm OS ― Palm.

São os sistemas operacionais que permitem que desenvolvedores e programadores criem os diversos aplicativos mobile, ou Apps, a que temos acesso e usamos nos nosso dispositivos.

Mas, além dos sistemas operacionais, muitas vezes também precisamos de acesso a dados móveis para usufruir de diversas funções dos aplicativos e dos dispositivos mobile.

Esses dados móveis nada mais são do que a conexão de internet móvel que podemos contratar com diferentes operadoras para usar de qualquer lugar sem depender de um modem ou ponto de acesso. A primeira tecnologia de dados móveis que se popularizou foi a 3G, mas hoje já encontramos tecnologia de 4 e até 5G!

Assim, com a combinação de dados, dispositivos móveis e sistemas operacionais, hoje podemos usufruir de diversos aparelhos que facilitam nossa vida e nos ajudam nas tarefas do dia a dia.

Tirou as suas dúvidas? Então compartilhe este conteúdo nas suas redes sociais e espalhe essa informação!

# data[].attributes.body
No inicio da década, em 2000, a empresa Sharp lança o primeiro celular do mundo a ter uma câmera digital integrada. No mesmo ano surge uma nova tecnologia de comunicação sem fio: o Bluetooth. Após isso, surge a tecnologia 3G (terceira geração de telefonia), celulares com suporte a MMS (mensagens multimídia). Em 2004 a Motorola lança uma dos aparelhos mais vendidos na historia: o Razr.

Estudos mostram que hoje em dia mais de três bilhões de pessoas possuem um celular (figura 1), e isto é quase metade da população mundial. Esta informação foi retirada de uma pesquisa publicada pelo livro "Google Android" de Ricardo Lecheta.

Figura 1. Quantidade de celulares no mundo em bilhões

A crescente evolução dos dispositivos móveis, impulsionada pelo modo em que os fabricantes vêm trazendo aparelhos cada vez mais completos, tem aberto um novo mercado de aplicações para celular. A presença de GPS (Sistema de Posicionamento Global), conexão Wi-Fi, acelerômetros (sensores de movimento) e aumento na capacidade de processamento, fazem com que estes aparelhos estejam aptos a portar aplicações mais robustas e prover novas funcionalidades. Aparelhos mais robustos requerem sistemas operacionais mais complexos, e com capacidade de gerenciar os novos componentes seu hardware. Sendo assim, alguns sistemas operacionais surgiram para sanar este ponto, dentre eles pode-se citar: Symbian OS, Iphone OS, Google Android e Windows Mobile.

De acordo com a consultoria IDC (International Data Corporation), as fabricantes de smartphone (telefone celular com funcionalidades avançadas) distribuíram 43,3 milhões de dispositivos durante o terceiro trimestre de 2009, número 4,2% superior aos 41,5 milhões do mesmo período de 2008 (Hamblen, 2009). Com esse crescimento no mercado empresas como a Google, se juntaram para formar a OHA (Open Handset Alliance), aliança entre as maiores empresas do ramo de telefonia. Entre os integrantes dessa aliança, estão: HTC, LG, Motorola, Samsung, Sony Ericsson, Toshiba, Sprint Nextel, China Mobile, T-Mobile, Asus, Intel, Garmin e outras mais. A junção dessas empresas para criarem a OHA, pode ser explicada pelo fato de que a disputa sempre foi na venda pelos aparelhos celulares e não pelos sistemas operacionais que rodam neles. A intenção dessa aliança foi criar uma plataforma de desenvolvimento de código aberto, única e flexível. Nos capítulos seguintes será descrito de que forma esse sistema operacional surgiu, características presentes em sua arquitetura, abordando aspectos de funcionamento de suas aplicações.

Google Android OS

O Android (figura 2), como a plataforma também é chamada, é um conjunto completo de softwares para dispositivos móveis que inclui sistema operacional e importantes aplicativos. É um projeto de código aberto e foi idealizado para aparelhos com especificações diversas (OHA, 2010).

Figura 2. Logotipo do Android.

Baseado no sistema operacional Linux, o Android é uma plataforma de desenvolvimento para dispositivos móveis, que vem mexendo com o mercado da telefonia, por ser um sistema que visa fornecer uma plataforma única, que poderá ser instalado em qualquer dispositivo fornecido por fabricantes que pertencem a OHA. Em sua arquitetura foi introduzido conceitos de integração e flexibilidade. Aplicativos fornecidos nativamente com o sistema podem ser substituídos por aplicações customizadas, que poderão interagir ou não com outras aplicações nativas do sistema. Essa flexibilidade torna-se interessante para os fabricantes de celulares, pois é possível inserir alguma forma de marketing na interface com o usuário, pois seu código fonte é de livre acesso a comunidade.

Devido a muitos fatores relacionados à plataforma, o Android vem adquirindo muitos simpatizantes entre os desenvolvedores de dispositivos móveis. Um dos fatores que contribui para a disseminação desse sistema é o fato de que a Google vem lançando concursos no desenvolvimento de aplicativos para a plataforma, que oferecem prêmios atrativos para os desenvolvedores do mundo inteiro. No maior concurso da área o Android Developer Challenger, o investimento foi de U$ 10 milhões em prêmios, distribuindo uma quantia de U$ 275.000,00 para as 20 melhores aplicações. O grande impacto para a comunidade de usuários do sistema operacional, é a quantidade crescente de aplicativos construída durante o processo de avaliação, e de que a maioria destes códigos são marcados como livre por seus criadores, estando ao acesso de uma gama de usuários. O Android conta com uma loja virtual, a Android Market, que possibilita ao desenvolvedor disponibilizar uma aplicação gratuitamente para o usuário final, ou lucrar com a sua venda em um modelo semelhante à AppStore, loja virtual de aplicativos do iPhone, smartphone da marca Apple. (Arima, 2009). Outras características também são relevantes como a fácil integração com serviços oferecidos pela Google. Além disso, diversas ferramentas estão disponíveis gratuitamente para os seus desenvolvedores (Meier, 2009).

Muitas características presentes no Android, tais como gráficos 3D e suporte a banco de dados nativo, também estão disponíveis em outras plataformas móveis. Porém, apenas no Android há um componente que permite exibir e manipular um mapa do Google Maps, serviço de mapas do Google, dentro de uma aplicação (Meier, 2009). Somente no Android todos os aplicativos são criados igualmente. Ou seja, nele não há diferença entre aplicações nativas e as demais aplicações, o que possibilita uma grande personalização do sistema, ao permitir a substituição completa de aplicativos nativos por outros, criados por terceiros. Além disto, todos os aplicativos têm acesso às mesmas funcionalidades (Meier, 2009). 3. Arquitetura A arquitetura do sistema (figura 3) é divida nos seguintes componentes: aplicativos, framework nativo, bibliotecas, runtime android, kernel linux.

Figura 3. Arquitetura do sistema Android.

1. Aplicativos A camada de aplicativos é a camada mais alta da arquitetura do sistema, composta pelo conjunto de aplicativos nativos do sistema, dentre estes pode se citar: cliente de e-mail, calendário, mapas, browser e internet, despertador, jogos, e outros.

2. Framework Nativo A camada de framework nativo disponibiliza aos desenvolvedores as mesmas APIs (Application Programming Interface ? Interface de Programação de Aplicativos) usadas para criar as aplicações originais do sistema. Este framework permite que o desenvolvedor tenha o mesmo acesso ao sistema, que os aplicativos da camada de aplicativos possuem. Este framework foi criado para abstrair a complexidade e simplificar o reuso de procedimentos. Essa camada funciona como um meio de ligação com a camada de bibliotecas do sistema que serão acessadas através de APIs contidas no framework. Entre as APIs podemos destacar: Location Manager: Usada para obter a posição geográfica do usuário. Como por exemplo, em aplicações que fazem uso de GPS. Telephony Manager: Informações sobre dispositivos como bateria e serviços de telefonia celular podem ser obtidos através dessa API. Window Manager: Responsável pelo gerenciamento de toda janela de uma aplicação. Content Providers: Responsável pela disponibilização dos dados através das aplicações tornando esses dados públicos. Quase todo tipo de dado é compartilhável, como áudio, vídeo, imagens e texto.

Resource Manager: Todos os recursos que uma aplicação irá usar como áudio, vídeo, arquivos XML, são separados dela a fim de que sejam otimizados para ocupar menos espaço e demorar menos tempo para que sejam carregados. Essa API facilita o acesso a esses recursos. Notification Manager: Permite que uma aplicação exiba notificações, ative LEDs, luzes, sons ou vibração disponíveis no dispositivo. Activity Manager: Responsável pelo gerenciamento de cada atividade do sistema. No Android cada atividade é gerenciada através de uma pilha de atividades. Toda nova atividade criada vai para o topo de pilha de atividades e se torna uma running activity, o que quer dizer que será executada.

1. Bibliotecas A plataforma também inclui uma coleção de bibliotecas C/C usadas pelos componentes do sistema. Essas bibliotecas são acessadas pelo programador via Java, através do framework do sistema. Essas bibliotecas são responsáveis por prover funcionalidades para manipulação de áudio, vídeo, gráficos, banco de dados e navegador.

2. Android Runtime O Android Runtime permite que cada processo rode sua própria instância da maquina virtual. Embora no desenvolvimento de aplicativos seja utilizada a linguagem Java, as aplicações não são executadas em uma maquina virtual Java tradicional, e sim em outra chama de Dalvik. Essa maquina virtual é otimizada especialmente para dispositivos moveis. A plataforma Google Android permite o desenvolvimento de aplicativos na linguagem Java. No entanto, não existe uma JVM (Java Virtual Machine) inclusa no sistema, pois o Android tem sua própria maquina virtual, que é otimizada para execução de aplicativos móveis. Essa maquina virtual foi construída pelos engenheiros da Google, para obter um consumo mínimo de memória e isolamento de processos. Ela permite que as aplicações escritas em linguagem Java, sejam executadas normalmente.

3. Kernel Linux A camada do Kernel é baseada em um Kernel Linux versão 2.6. Esta camada também atua como responsável pela abstração entre o hardware e os aplicativos e responsável pelos principais serviços do sistema como gerenciamento de memória e de processos. Várias funções do kernel são utilizadas diretamente pelo Android, mas muitas modificações foram feitas para otimizar memória e tempo de processamento das aplicações. Essas alterações incluem device drivers novos, adições no sistema de gerenciamento de energia e um sistema que permite finalizar processos de maneira criteriosa quando há pouca memória disponível. O Kernel Linux 2.6 foi escolhido por já conter uma grande quantidade de device drivers sólidos e por ter um bom gerenciamento de memória e processos.

Conceitos de uma aplicação para Android

Como dito anteriormente o desenvolvimento de aplicativos se da na linguagem Java. Quando o código Java é compilado para plataforma Android, é feita uma conversão de bytecod (.class) para Dalvik Executable (.dex) e logo após é criado um arquivo Android Package File (.apk) que é composto pelo arquivo .dex e outros arquivos dependentes, como imagens e arquivos XML.(Extensible Markup Language). Esse arquivo é o veiculo de distribuição para que usuários possam instalar uma aplicação em seu dispositivo. No entanto, o desenvolvedor não precisa se preocupar com estas conversões, pois a IDE (Integrated Development Environment) se encarrega deste serviço. Todo arquivo .apk contem um manifesto aonde são declarados todos os componentes da aplicação. Esse arquivo de manifesto é estruturado na linguagem XML, e também contem a especificação das bibliotecas usadas, permissões, versão e requisitos. Por padrão, cada aplicação é executada em um processo próprio e cada processo tem sua máquina virtual. Toda aplicação é referenciada por um ID de usuário Linux. Uma aplicação não tem um único ponto de entrada e são construídas utilizando componentes que somente são instanciados no momento em que se tornam necessário. Existem quatro tipos de componentes básicos: atividades, serviços, provedores de conteúdo e receptores de broadcast.

Uma atividade corresponde à interface com o usuário. Um serviço não possui uma interface visual, pois são utilizados para executar processamentos em segundo plano. Os provedores de conteúdo têm como função disponibilizar dados específicos de uma aplicação para outras aplicações. Por ultimo, os receptores de broadcast são componentes que ficam inativos e respondem a eventos. Todos os componentes são ativados através de mensagens assíncronas, exceto os provedores de conteúdo. Intent é o nome de um objeto que é responsável por conter uma mensagem com uma ação que se deseja executar. Para iniciar uma atividade é necessário enviar um intent cujo conteúdo especifique essa intenção. Existem dois tipos de intent: explícitos e implícitos. No primeiro, o componente que deve ser executado já é definido explicitamente. No segundo, a escolha do componente é feita pelo sistema operacional que, baseado em alguns critérios, determina qual componente responde melhor àquela intenção naquele momento. Quando um componente é executado, um processo com uma única thread é inciado. Todos os componentes de uma aplicação serão executadas nessa thread. O sistema pode destruir processos caso a memória do sistema começar a ficar escassa. Se um processo for destruído, todos os componentes associados a ele também serão eliminados.

Para determinar qual processo será excluído o Android leva em conta a importância do processo para o usuário, aonde será excluído aquele processo que contem uma atividade que não esta mais visível na tela. Cada componente pode ter seu estado alterado diversas vezes em seu ciclo de vida. O ciclo de vida começa quando ele é instanciado e termina quando é destruído. Atividades possuem três estados possíveis (figura 4): ativo, pausado e parado. As mudanças entre estes estados são notificadas através de sete métodos, utilizados para as ações apropriadas a uma mudança de estado.

Figura 4. Ciclo de vida de uma atividade.

Durante o tempo entre as chamadas dos métodos onStart() e onStop(), a atividade pode ser vista pelo usuário. Entre os métodos onResume() e onPause() a atividade está na frente de todas as outras atividades e o usuário está interagindo com ela. E, devido ao fato de o onPause() ser o único método cuja chamada é garantida antes do processo ser eventualmente destruído, ele deve ser utilizado para armazenar, de
forma persistente, dados para posterior restauração.

Os serviços também possuem métodos de ciclo de vida que podem ser implementados para responder as mudanças de estado. Os receptores de broadcast possuem apenas um método de ciclo de vida que é chamado no momento em que uma mensagem chega para ele e o componente é considerado ativo apenas durante a execução deste método, ou seja, enquanto reage a mensagem.

Interface com o usuário

A interface em um sistema Android é construída utilizando uma hierarquia de objetos View e ViewGoup (figura 5). A representação desses objetos se da em forma de árvore aonde o objeto View representa as folhas, e o objetos ViewGoup os ramos. A classe ViewGroup é responsável pelos layouts, que serão utilizados para organizar os objetos na tela. Já a classe View irá controlar uma área especifica da tela, servindo de base para implementação de objetos como botões, campos de texto, chamados de widgets.

Figura 5. Árvore de objetos View e ViewGroup.

Os objetos podem ser organizados de forma linear, relativa ou absoluta, dentro de uma região especifica na tela. Embora exista a possibilidade de organizar esses objetos em um lugar especifico na tela isso não é recomendado. Em sistemas para dispositivos móveis, uma das grandes preocupações é a adaptação da interface (resolução e tamanho distintos), pois as dimensões variam de um aparelho a outro. O sistema Android disponibiliza maneiras de se animar uma aplicação. Uma das possibilidades é uma animação chamada de quadro a quadro, que será gerada através de imagens que vão se alternando em um intervalo de tempo. Também é possível utilizar a animação Tween, que executa uma serie de transformações simples (posição, tamanho, rotação e transparência) em um objeto View A plataforma também conta com recursos para internacionalização, aonde é possível disponibilizar recursos dependendo da língua ou das configurações do dispositivo.

Armazenamento de informações

Android não contem um sistema de arquivos comum, como é encontrado em sistemas desktop. Todos os dados são visíveis apenas para uma aplicação. Quando uma aplicação necessita acessar uma informação presente ou outra aplicação, é utilizado um componente do tipo provedor de conteúdo. Uma aplicação pode também armazenar dados em um dispositivo de memória removível, ou internamente no aparelho usando arquivos. A aplicação pode, alternativamente, com o SQLite (banco de dados SQL embutido escrito na linguagem C), armazenar informações em tabelas em um banco de dados. A plataforma suporta ainda o acesso a operações de rede que podem ser utilizadas para guardar ou requisitar dados.

Provedores de localização

A plataforma conta com provedores de localização para obter a posição corrente do dispositivo. Para esse suporte, geralmente é usado o GPS e a rede da operadora de telefonia móvel. Estes provedores variam dependendo das especificações do dispositivo. Vale ressaltar que, para utilizar um provedor de localização, é necessária uma respectiva permissão. Após escolher um provedor de localização, é possível receber informações sobre mudanças de localização, determinar um tempo mínimo e uma distancia mínima entre as atualizações. O componente central de localização é o objeto LocationManager, que prove uma forma de listar os provedores de localização disponíveis e registrar para receber informações sobre localização, aproximação de um determinado local definido em termos de latitude e longitude. A Google Maps disponibiliza uma biblioteca para exibição de mapas na tela. Ela não é padrão da plataforma, e é necessário se registrar para obter uma chave para poder usá-la em uma aplicação. O componente MapView exibe um mapa cujo conteúdo é requisitado em tempo real utilizando uma conexão com a internet, disponibilizando métodos para controlar o mapa e uma classe especial (Overlay) que implementa uma camada sobre ele na qual podem ser desenhados diversos elementos.

Considerações finais

No decorrer desse projeto foram destacadas as principais características desse sistema operacional, junto com suas ferramentas de desenvolvimento, dando ênfase ao bom momento em que se encontra o mercado atual dos dispositivos móveis. Com um evidente crescimento no desenvolvimento de dispositivos móveis, o desenvolvimento de aplicativos para celulares se torna um grande nicho de mercado que vem crescendo ano após ano. Apesar do principal concorrente do sistema Android o IPhone ter o triplo de mercado ocupado atualmente, o sistema operacional Android se torna um atrativo para esse mercado, principalmente pelo seu conceito de integração e flexibilidade embutidos em seu sistema, fornecendo total acesso ao desenvolvedor.

Autor:

Josué Fernandes Dall?Agnese - josofd@gmail.com
Universidade de Santa Cruz do Sul (UNISC) Santa Cruz do Sul ? RS ? Brasil

# data[].attributes.body
iOS (antes chamado de iPhone OS) é um sistema operacional móvel da Apple Inc. desenvolvido originalmente para o iPhone, iPod Touch e o iPad até a introdução do iPadOS em 2019, um sistema derivado do iOS. A Apple não permite que o iOS seja executado em hardware de terceiros.[3] As versões principais do iOS são lançadas anualmente.

A interface do usuário do iOS é baseada no conceito de manipulação direta, utilizando gestos em multi-toque. A interação com o sistema operacional inclui gestos como apenas tocar na tela, deslizar o dedo, e o movimento de "pinça" utilizado para se ampliar ou reduzir a imagem. Acelerômetros internos são usados por alguns aplicativos para responder à agitação do aparelho (resultando comumente no comando desfazer) ou rotação do mesmo (resultando comumente na mudança do modo retrato para modo paisagem). O iOS consiste em quatro camadas de abstração: a camada Core OS, a camada Core Services, a camada mídia, e a camada Cocoa Touch.

História

O sistema operacional foi apresentado com o iPhone na Macworld Conference & Expo em 9 de janeiro de 2007, e lançado no mês de junho. Inicialmente, as aplicações de terceiros não eram permitidas. Steve Jobs argumentou que os desenvolvedores poderiam criar aplicativos na web que "se comportam como aplicações nativas no iPhone". Em 17 de outubro de 2007, a Apple anunciou que a SDK nativa estava em desenvolvimento e que eles esperassem para colocá-la nas "mãos dos desenvolvedores".

Em 6 de março de 2008, a Apple lançou o primeiro beta, juntamente com um novo nome para o sistema operacional: o "iPhone OS". A rápida venda de dispositivos móveis da Apple acendeu interesse no SDK. A Apple também vendeu mais de um milhão de iPhones durante uma temporada de feriados de 2007. Em 27 de janeiro de 2010, a Apple anunciou o iPad, com uma tela bem maior do que o iPhone e iPod touch, e projetado para navegar na web, consumo de mídia, e da leitura de iBooks. O nome "iOS" foi usado pela Cisco Systems. Para evitar qualquer ação judicial em potencial, a Apple licenciou o "iOS" uma marca registrada da Cisco.[4]

Atualizações

A Apple oferece diversas pequenas atualizações para o iOS de três em três meses, além das sub-atualizações para correções de segurança. Além disso, uma vez por ano há uma grande atualização do sistema, com novidades significativas. Estas grandes atualizações costumam acontecer na metade do segundo semestre (entre setembro e outubro).

Funcionalidades

Tela Inicial

Ver artigo principal: SpringBoard

A tela inicial (conhecida também como "SpringBoard") mostra ícones de aplicações e um dock na parte inferior da tela onde os usuários podem fixar seus aplicativos mais utilizados. A tela inicial é exibida sempre que o usuário desbloqueia o dispositivo ou pressiona o botão "Home" enquanto em outro aplicativo. A tela possui uma barra de status na parte superior para exibir dados, tais como horário, nível de bateria e força do sinal de rede e Wi-Fi.

Desde o iPhone OS 3, uma função de pesquisa está disponível na página à esquerda da página da tela inicial que permite aos usuários pesquisar mídia (músicas, vídeos, podcasts, etc), aplicações e-mails, contatos, mensagens, lembretes, eventos de calendário e arquivos similares existentes no aparelho. A partir do iOS 7, esse recurso pode ser acessado ao puxar para baixo qualquer lugar na tela inicial.

A partir do iOS 4, o usuário pôde definir a imagem do fundo da tela inicial. Esta funcionalidade só esteve disponível a partir do iPhone 3GS, iPod Touch de 3ª geração e iPad.

A partir do iOS 14, o usuário pôde adicionar widgets na tela inicial e organizar os apps instalados na biblioteca de aplicativos.

Pastas

Com iOS 4, foi introduzido um sistema de pastas. Qualquer aplicativo pode ser arrastado para cima de outro para criar uma pasta (com exceção da Banca, a partir do iOS 5, que age como uma pasta)[5] e, a partir daí, mais aplicativos podem ser adicionados à pasta usando o mesmo procedimento. Um título para a pasta é automaticamente adicionado a partir da categoria de aplicações inseridas, porém o nome pode ser editado pelo usuário. Pastas não podem ser colocadas dentro de outras pastas.[6]

Central de Notificações

A partir do iOS 5, as notificações aparecem na Central de Notificações que podem ser acessadas puxando para baixo a partir do canto superior da tela. As notificações podem ser entregues em pequenos banners que aparecem acima da barra de status. O usuário pode visualizar o conteúdo com um toque na notificação.[7][3]

Quando um aplicativo envia uma notificação enquanto fechado, um emblema vermelho aparecerá no canto do seu ícone. Este emblema informa ao usuário quantas notificações o aplicativo enviou. Abrindo-se o aplicativo, o emblema é limpo.[7]

Central de Controle

Com o iOS 7 foi introduzido uma Central de Controle que pode ser acessada puxando para cima a partir do canto inferior da tela. Nela existem opções para ativar/desativar o modo avião, Wi-Fi, bluetooth, modo "não perturbe" e bloqueio de tela, além de opções de brilho, controles de música e audio, AirDrop, AirPlay e atalhos para lanterna, relógio, calculadora e câmera.[8][3]

Widgets, Biblioteca de Aplicativos e Picture in Picture (PiP)

A partir do iOS 14, o sistema mudou bastante, a começar pela experiência, já que agora podemos colocar widgets na Tela de Início e temos uma Biblioteca de Apps que facilita a organização, caso você tenha uma infinidade de aplicativos instalados.

A interface também está mais refinada, com chamadas compactas (que não ocupam mais a tela inteira), um novo visual para a Siri (também deixando a tela desobstruída), vídeos em Picture-in-Picture (PiP) e mais.[9]

Tela bloqueada com mais informações

No iOS 16 a Apple passou a permitir uma maior configuração da tela bloqueada, sendo possível colocar pequenos widgets de informação inspirados nas Complicações do Apple Watch. O usuário poderá mudar a fonte usada no horário da tela e a imagem de fundo poderá ter um recorte que deixa um pedaço do horário coberto.[10] O processo para alterar entre várias telas também é bastante similar ao visto na mudança de mostradores do Apple Watch.

Aplicativos inclusos

O sistema possui aplicativos nativos, que são instalados juntamente com o sistema e não podiam ser desinstalados até a chegada do iOS 10 em 2016 que passou a permitir a exclusão. Os apps nativos podem ser reinstalados indo até o aplicativo da App Store.

| Ajustes - Settings App Store Apple Watch Apple TV App - Apple TV App (a partir do iOS 11.3 no Brasil) Buscar Meu "Dispositivo" (nativo a partir do iOS 9) Banca - Newsstand (iOS 8.4.1 e versões anteriores) Buscar Amigos (nativo a partir do iOS 9) Bolsa - Stocks (iPhone e iPod Touch) Bússola - Compass (iPhone) Calculadora - Calculator Carteira - Wallet (iPhone e iPod Touch) Calendário - Calendar Câmera - Camera Contatos - Contacts Dicas - Tips FaceTime Fotos - Photos Game Center  | Gravador - Voice Memos (iPhone e iPod Touch) iBooks iTunes Store Lembretes - Reminders Mensagens - Messages (iMessage) Mapas - Maps Músicas - Music Notas - Notes Notícias - News(novo App do iOS 9) Passbooks - “Passbooks” (iOS 9.3.5 e versões anteriores) Podcasts - Podcasts Saúde - Health (iPhone) Tempo - Weather (iPhone e iPod Touch) Vídeos - Videos (iOS 11.2.6 e versões anteriores no Brasil)
Siri
Ver artigo principal: Siri (software)
Siri é um assistente pessoal inteligente que funciona como um aplicativo nos dispositivos suportados. O serviço, dirigido por comandos de voz do usuário, pode fazer uma variedade de diferentes tarefas, como ligações ou envio de mensagens de texto para alguém, abrir um aplicativo, pesquisar na web, encontrar locais ou direções, e responder à questões de conhecimentos gerais. Siri foi atualizado no iOS 7 com uma nova interface, respostas mais rápidas, suporte para o Wikipedia, Twitter e Bing, além de uma alteração na voz para parecer mais humano.[11][12] Siri está disponível apenas na iPhone 4S ou posterior, a quinta geração do iPod Touch, o iPad Mini e o iPad (3ª geração) e posteriores.[11]
Game Center
Ver artigo principal: Game Center
Game Center é uma "rede social de jogos", lançado pela Apple, e foi anunciado durante um evento do iOS 4 em 8 de abril de 2010. Foi lançado em 8 de setembro de 2010, com iOS 4.1 no iPhone 4, iPhone 3GS e iPod touch de 2 ª geração e posteriores. O Game Center só foi suportado no iPad com o iOS 4.2.1.
Versões do sistema
iPhone OS 1
Ver artigo principal: iPhone OS 1
A primeira versão do sistema de multitoque para dispositivos móveis, foi apresentado inicialmente como uma versão móvel do OS X, porém recebeu o nome de iPhone OS no dia 3 de março de 2008, com o lançamento do kit de desenvolvimento do iPhone, ou iPhone SDK.
iPhone OS 2
Ver artigo principal: iPhone OS 2
Lançada juntamente com o iPhone 3G, a grande melhoria desta versão foi a inclusão pela primeira vez da App Store, tornando a instalação de aplicativos criados por terceiros disponíveis a serem instalados no iPhone e iPod touch.
iPhone OS 3
Ver artigo principal: iPhone OS 3
A versão foi lançada em 17 de junho de 2009 juntamente com o iPhone 3GS, e trouxe como destaques a função copiar e colar, e MMS.
iOS 4
Ver artigo principal: iOS 4
Lançado no dia 21 de junho de 2010, foi o primeiro lançamento do sistema chamado simplesmente de "iOS". A grande novidade desta versão foi a inclusão da função multitarefa no sistema.
iOS 5
Ver artigo principal: iOS 5
Uma prévia do sistema iOS 5 foi apresentada no dia 6 de junho de 2011, durante o evento da WWDC 2011. No mesmo evento foi lançado uma prévia também do novo sistema operacional para computadores Apple, o Mac OS X Lion, e anunciado um serviço baseado na nuvem, chamado iCloud. Nesta versão foi apresentado pela primeira vez a central de notificações, possibilidade de editar fotos e integração com o novo serviço, o iCloud, além de integração com o Twitter e acesso rápido a câmera pela tela de bloqueio.[13][14]
iOS 6

Tela inicial do iOS 6

Ver artigo principal: iOS 6

Esta versão trouxe aproximadamente 100 novos recursos, dentre eles, os mais relevantes, a função Não Perturbe (faz com que não receba notificações por um período determinado pelo usuário), o novo aplicativo Mapas e acesso guiado para GPS, Passbook, mudança no layout da App Store e compatibilidade da rede 3G com o Facetime. A última versão foi a versão 6.1.6 onde foi corrigido um problema do Safari no iPod Touch 3,4 e iPhone 3GS que foi liberado junto com o iOS 7.0.6. A versão 6.1.4 somente para o iPhone 5, que atualizou o perfil de áudio para viva-voz.[15] A sexta versão do iOS é compatível com iPhone 3GS, iPhone 4 e 4s, iPhone 5, iPod Touch de quarta e quinta geração, iPad 2, iPad 3ª geração e iPad Retina e iPad mini.[16]

iOS 7

Ver artigo principal: iOS 7

Esta versão ficou disponível ao público em 18 de setembro de 2013 e foi apresentada ao público no WWDC 2013, evento anual da Apple que ocorreu dia 10 de junho de 2013. O sistema é compatível com iPhone 4 e posteriores, iPad 2, Retina, Air e iPod touch de 5ª geração.

O iOS 7 apresentou a maior mudança de interface gráfica entre uma versão atual e a anterior desde sua primeira versão. Além das mudanças visuais, o sistema também adquiriu uma nova ferramenta de acesso rápido aos aplicativos mais utilizados, como calculadora, lanterna (luzes do flash), temporizador, câmera, AirDrop, além de poder ativar e desativar algumas funções do sistema, como desativar a rede Wi-Fi e ajustar o brilho. Todos os ícones de aplicativos nativos ganharam novo design e layouts internos. Siri (assistente de voz da Apple), agora possui também a opção de voz masculina para a voz inglesa.[3]

A última versão menor do iOS 7 lançada foi a 7.1, no dia 10 de março de 2014, apresentando mudanças estéticas no sistema, como reparos de segurança e algumas mudanças no design.[17]

iOS 8

Ver artigo principal: iOS 8

Sua oitava versão, conhecida como iOS 8, foi disponibilizada ao público no dia 17 de setembro de 2014 e estava disponível através do iTunes ou OTA (over the air, em português, "atualização pelo ar", método de atualização pelo próprio aparelho via Wi-Fi). Essa versão do sistema operacional foi apresentada ao público no WWDC 2014, evento anual da Apple que ocorreu dia 2 de junho de 2014.[18]

As principais novidades do iOS 8 começam pelo aplicativo Mensagens, que ganhou diversas melhorias como envio de áudio, localização, criação e gerenciamento de grupos. Outro aplicativo fortemente aprimorado foi o Fotos, que trouxe mais ferramentas para edição e manuseio de fotografias. O aplicativo Saúde, é um um aplicativo inteiramente novo da versão. Nele diversas informações médicas, níveis biológicos e de saúde do usuário são unidos e organizados, possibilitando um monitoramento constante. A versão menor 8.3 foi lançada no dia 13 de abril de 2015, apresentando compatibilidade com o Apple Watch, melhorias para o aplicativo Saúde (Health), maior estabilidade e correções de erros, além da assistente virtual Siri em diversas línguas, incluindo o Português do Brasil.[19]

iOS 9

Ver artigo principal: iOS 9

Esta versão foi lançada em 16 de setembro de 2015 ao público. O sistema é compatível com iPhones (4s ou superior), iPads (2 ou superior) e iPods touch 5 ou superior.

De acordo com a Apple esta versão torna o fundamento do iOS ainda mais forte. Alguns dos refinamentos incluem a otimização da bateria, que fornece ao usuário típico até uma hora adicional de vida útil, e um modo de baixo consumo de energia para estender a vida da bateria. Outra novidade é que as atualizações de software requerem menos espaço e que o recurso de instalação pode executar atualizações quando o dispositivo não estiver em uso e recursos avançados de segurança vão manter os dispositivos da Apple ID mais seguros.[20]

iOS 10

Ver artigo principal: iOS 10

iOS 10 é a décima versão do sistema operacional móvel iOS, desenvolvido pela Apple Inc. É o sucessor do iOS 9. O sistema foi anunciado na Worldwide Developers Conference 2016 (WWDC) da empresa, em 13 de junho de 2016. O iOS 10 foi lançado no dia 13 de setembro de 2016, às 14:00.

O iOS 10 introduz diversas melhorias no sistema, incluindo a expansão do uso do 3D Touch, tela de bloqueio remodelada e suporte para widgets. O aplicativo Mensagens recebeu atualizações para a comunicação de diversas maneiras. Apple Maps foi redesenhado com novas extensões que o permite interagir com outros aplicativos. Siri poderá ser integrada a aplicativos de terceiros para realizar tarefas específicas, como mandar mensagens e efetuar pagamentos.

iOS 11

Ver artigo principal: iOS 11

iOS 11 é a décima primeira versão do sistema operativo iOS desenvolvido pela Apple, como o sucessor do iOS 10. Anunciado durante a Apple Worldwide Developers Conference em 5 de junho de 2017. A primeira versão beta foi lançada para os desenvolvedores logo após a apresentação e com o seu provável lançamento para testes em fase pública no final de junho de 2017 e uma versão para o consumidor final no final de 2017.

Com a introdução do iOS 11, mudanças significativas são esperadas para o sistema operativo. A tela de descanso e a tela de notificações foram combinadas, permitindo todas as notificações serem mostradas com o deslizar de dedos e deslizando para cima para fechar a mesma. As diferentes abas da central de controle foram também combinadas para uma única experiência do usuário e permitindo ações com a utilização do Force touch nos ícones para mostrar mais opções além de também permitir a customização dos ícones aparentes. Outro recurso que também recebeu uma repaginação total desde a sua última atualização foi a App Store (iOS) onde começará a mostrar informações ainda mais relevantes sobre os aplicativos, incluindo uma nova página inicial com detalhes e noticias dos aplicativos, assim permitindo um foco também editorial e de destaques do dia.

O iPad também ganhou recursos novos e alguns exclusivos como a possibilidade de utilização do Drag-and-drop (clicar e arrastar), multi-tarefas e além disso, permitir a adição de várias telas lado-a-lado.

A Siri (software) também está passando por uma repaginação com machine learning onde ela aprenderá os seus costumes de maneira mais fluente e saberá continuar com conversas aproveitando inclusive os gostos e ultimas pesquisas do usuário em outros aplicativos para ter uma conversa mais pessoal.

O iOS 11 deixará de suportar aparelhos com arquitetura de 32 bits: iPhone 5, iPhone 5C e a quarta geração do iPad. É a primeira versão do iOS a suportar exclusivamente dispositivos com processadores de 64 bits.