O que é sistema operacional, usos e importância

Seja nas suas formas mais simples e discretas ou nas mais sofisticadas e aparentes, ele é parte fundamental no uso que fazemos quotidianos dos mais variados dispositivos que nos rodeiam.

Estamos falando do sistema operacional!

Sim, ele não está presente apenas no notebook sobre a sua mesa ou smartphone que carregamos no bolso ou bolsa. E isso veremos logo mais.

Você não precisa saber explicar o que é ou entender cada detalhe do seu funcionamento para continuar a usufruir de tudo aquilo em que ele está presente, mas se você quer entender melhor sua importância, esse é um material indispensável.

Considerações iniciais

Esse artigo não tem a pretensão de esgotar o assunto, o qual em muitos cursos de formação superior em Ciências da Computação, são abordados no mínimo ao longo de um semestre inteiro, ou algumas vezes desmembrado em outros assuntos afins e respectivas disciplinas, de modo a formar os profissionais da área.

Também evitaremos, tanto quanto possível, o uso de terminologia técnica e rigor no uso de conceitos.

Sempre que possível, usaremos explicações mais simplificadas, não nos aprofundaremos em todos os conceitos envolvidos e eventualmente faremos uso de analogias a fim de que a compreensão seja maior.

Dito isso, vamos ao que interessa.

O que é um sistema operacional?

A resposta mais simples sobre o que é um sistema operacional, é o conjunto de programas responsável por administrar o hardware de um dispositivo (ex: computador), como também a integração de outros programas com esse mesmo hardware, por meio de uma interface com o usuário.

Essa definição, como muitas outras, não é 100% esclarecedora, especialmente para aqueles que não têm conhecimento algum sobre o assunto.

Pensemos em componentes do seu hardware isoladamente. Por exemplo, imagine a tela do seu notebook. Você saberia como “acender” um ponto vermelho – ou de outra cor qualquer – no centro da tela?

O sistema operacional “sabe”.

Da mesma forma que ele se comunica com a tela e sabe como produzir o que você enxerga, ele também desempenha papéis semelhantes em relação a todos os demais componentes (HD, memória, terminais USB, mouse, teclado, etc) do seu notebook.

Esse gerenciamento pode-se dizer, que é um meio de campo – para usar um termo que todo mundo conhece – entre o usuário (você) e o hardware.

Graças a ele que você não precisa saber como ocorre a localização de uma informação contida no pendrive, como é feita a sua leitura e como esses dados serão visualizados na tela. Tudo isso é papel do SO (sistema operacional) fazer.

Sim, porque o funcionamento e correto uso de cada componente em um dispositivo, só ocorre por meio de sinais elétricos. De forma bem simplificada, o modo como cada componente é “alimentado” de eletricidade, determina o seu funcionamento.

Ou seja, colocar na memória RAM a informação lida no pendrive que você inseriu em uma conexão USB e exibir na tela com uma determinada apresentação visual e que é uma ação aparentemente bastante simples para a maioria de nós, exigiu do SO um grande conjunto de ações na forma de sinais elétricos entre os componentes envolvidos e às vezes até outros que não se imagina, como o HD (disco rígido).

Mas não para por aí.

Ele faz esse mesmo meio de campo em relação aos diversos programas que você tem instalado.

Quando você cria e salva um arquivo de texto no notebook, usando um editor de texto, a ação de localizar uma área livre no HD e gravar os dados correspondentes, bem como informações sobre esse arquivo e que entre outras coisas, são necessárias para sua posterior localização, não é o editor quem faz isso. Ele usa o sistema operacional para essa ação.

O mesmo se aplica para todo e qualquer programa que grava arquivos no HD, no SSD, no pendrive ou até mesmo em um serviço de armazenamento na nuvem e que nesse caso, só é possível graças a uma “conversa” do SO com o sistema do serviço de cloud computing.

Se não fosse assim, todo programa precisaria ter um trecho de programação especialmente destinado a “saber comunicar-se” com todo componente de armazenamento existente no seu dispositivo. O mesmo se aplica para o mouse, o teclado, a tela e tudo o mais contido no notebook.

Sim, quando você altera a cor da fonte no texto que digitou no Word, ou no Excel, ou no Powerpoint, a cor exibida na tela é resultado no mínimo da comunicação entre o sistema operacional, o teclado e/ou o mouse, a memória RAM, a placa de vídeo e a tela.

Não fosse o sistema operacional, todos os 3 programas citados precisariam de um trecho que programação específico para “conversar” com todos os componentes envolvidos em uma ação aparentemente bastante simples.

Se você tem 30 programas distintos que gravam coisas, seriam 30 trechos de programação apenas para gravação!

Multiplique isso para outras ações e imagine o quão grande poderiam ser muitos programas.

Mas o que até aqui pareceu simples, pode não ser tanto assim. Não que seja exatamente complicado, mas porque vai além.

Lembra que na nossa definição inicial mencionamos que um SO é um conjunto de programas? Pois bem, em meio a esses muitos programas, em muitos sistemas operacionais, um é o principal – o kernel.

O que é kernel do sistema operacional?

Semanticamente kernel é o mesmo que cerne em português e que por sua vez, é o centro, o núcleo ou miolo de um tronco de árvore e, portanto, sua porção vital. Transportado para o contexto do nosso tema, é a estrutura central ou núcleo do sistema operacional.

Anatomicamente e analogamente a um corpo humano, seria o cérebro, o qual comanda os demais órgãos e membros.

Originariamente, o kernel é uma estrutura monolítica, o que quer dizer que é inteiro e indivisível, mas que faz uso de outros programas para controlar o hardware, incluindo a BIOS (Basic Input / Output System) e que é outro sistema essencial para a comunicação com os componentes físicos do dispositivo.

Assim, quando você inclui um novo pente de memória no seu notebook, é a BIOS responsável por identificar e possibilitar o acesso a essa quantidade adicional de memória e permitir que o sistema operacional passe a utilizá-la.

Ao iniciar seu notebook ou smartphone, logo após o carregamento da BIOS – firmware no caso do smartphone – é carregado o kernel e que por sua vez inicia outros programas acessórios, que podem ser bibliotecas, drivers, serviços, entre outros.

Quando você instala uma nova impressora, entre outras coisas, é instalado um driver que permite a comunicação – uma espécie de intérprete ou tradutor – entre o sistema operacional e o novo hardware que agora funciona integrado ao notebook, por exemplo.

É por essa razão que ao conectar um novo mouse, pendrive, ou qualquer coisa nova, é exibida uma mensagem que o sistema operacional está reconhecendo o dispositivo e informa quando ele está pronto para uso. Ele vai busca algum drive padrão que permita essa comunicação ou fazer o download de algum que sirva, usando as informações de identificação do dispositivo.

Ou seja, um driver é um exemplo de um dos muitos programas que o kernel utiliza. Mas não é só. No exemplo da instalação da impressora, há pelo menos mais uma ação que ocorre, que é a inicialização do serviço de impressão e que por sua vez, é outro programa que passa a integrar o sistema operacional.

Na verdade, há outros, como o gerenciamento de memória que é alocada tanto para carregar o driver da impressora, como manter o serviço de impressão funcional enquanto um documento é impresso. Isso tudo aparece na tela para o usuário e para que isso ocorra, também há pelo menos um serviço associado.

Exemplos de serviços que o kernel utiliza e que fazem parte do sistema operacional, usando drivers para comunicação com partes do hardware, estão o bluetooth, o Wi-Fi e a rede física, impressão, serviços de segurança (ex: criptografia), telefonia, entre dezenas de outros menos conhecidos, mas que são igualmente importantes para suportar o correto funcionamento e todas as funcionalidades do SO.

E entre tudo que compõe a funcionalidade, há aspectos fundamentais, como o chamado desktop environment e que nada mais é do que a parte visual do sistema operacional e que entre outras comodidades, dispensa que se tenha que executar tudo por linhas de comando, como era na época do MS-DOS, ou quando se opta pelo Power Shell do Windows ou o terminal do Linux.

Se já parece muita coisa que é responsabilidade do kernel, também é sua função determinar quanta memória RAM é alocada, o uso do processador, os processos de programas e serviços, monitorar quais serviços devem ser ativados ou desativados, de tal forma que o usuário consiga usar tudo com eficiência.

É por essa razão, que costuma-se dizer que tal sistema é pesado ou leve.

A eficiência com que um sistema operacional gerencia os recursos, determina quanta memória há disponível, o uso do processador, a velocidade com que manipula dados, entre outros fatores e que são visíveis ao usuário na forma de pior ou melhor desempenho para fazer as coisas.

Qual a função de um sistema operacional?

A principal função de um sistema operacional, é servir de ponte entre um hardware e um usuário, evitando que para o uso desse hardware, o usuário tenha que usar uma linguagem de baixo nível ou nível de máquina.

Uma linguagem de baixo nível, é a linguagem que a máquina utiliza e que faz uso de sintaxe mais complexa e não há intuitividade na sua compreensão, já que a linguagem da máquina é constituída apenas por sequências de 0 e 1, o chamado código binário.

Logo, o que para o usuário exige um clique, um toque na tela ou o aperto de um botão, pode desencadear uma enorme lista de ações invisíveis aos seus olhos e que produz um aparentemente simples resultado, como apenas abrir seu navegador web.

Apesar dessa função principal, um sistema operacional tem outras funções:

1. Sistema de arquivos

Diferentes sistemas operacionais fazem uso de diferentes sistemas de arquivos, os quais por sua vez englobam as regras de como os dados são armazenados nas mídias de armazenamento (HD, SSD, cartão de memória, pendrive, etc).

As planilhas, fotos, vídeos, outros programas e o próprio conjunto de programas que forma o sistema operacional, precisam ser mantidos em memórias não voláteis, com o HD do seu notebook ou o cartão micro SD no seu smartphone.

A forma como esse armazenamento ocorre, é determinante para que esse conteúdo esteja acessível ao usuário, bem como aos demais programas que produzem ou usam tais dados.

Mas um sistema de arquivos também deve contemplar aspectos de segurança, como por exemplo, quais privilégios um usuário tem para alterar conteúdo. Imagine o quão desastroso pode ser se inadvertidamente você tiver acesso para alteração do arquivo correspondente ao kernel do SO?!

2. Gerenciar processos

Processos do sistema nada mais são do que ações em execução de um serviço, de um programa e do próprio sistema operacional.

Assim, quando você envia para a impressora Wi-Fi da empresa um trabalho para impressão, deve haver um processo relacionado à rede Wi-Fi, um outro relativo ao spooler de impressão, que você não precisa saber o que é e como funciona, mas que se não estiver lá, a coisa não acontece. Na verdade há mais, mas para facilitar a compreensão do que ocorre, esses bastam.

Esses dois processos precisam ocorrer segundo critérios, como ordem, privilégios e prioridades e que na prática significa a ordem em que cada coisa deve acontecer, se o serviço de rede tem acesso à impressora, qual dado será enviado primeiro, além de consumo de memória RAM, uso do processador, uso da rede.

Uma vez que a impressão esteja concluída, é função do SO verificar se a memória alocada foi liberada e está disponível para ser usada por outro processo e se o processo correspondente deve ser encerrado.

Isso porque um processo pode consumir memória, processamento e entre outras coisas, energia elétrica, o que no caso de um smartphone ou um notebook desconectado da tomada, significa menor duração da bateria.

3. Gerenciar memória

A memória RAM é fundamental no funcionamento de qualquer dispositivo.

É nela que são mantidos os dados necessários ao funcionamento de quaisquer programas, do próprio sistema operacional e os dados em uso pelo usuário, como a reprodução de uma música ou a visualização de um vídeo, por exemplo.

Por mais que um sistema disponha de muita memória RAM, ela é finita e seu consumo pode esgotar facilmente o montante disponível se o sistema operacional não for eficiente na sua gestão.

A maioria dos sistemas começa a apresentar lentidão e até mesmo travar, quando o consumo aproxima-se de 100%. Assim, é fundamental efetuar uma gestão eficaz de memória.

4. Entrada e Saída

Dispositivos de entrada e saída (input / output) são a base da interação e troca de dados com os dispositivos.

São o mouse, o teclado, o fone de ouvido, as caixas de som, a impressora, o scanner, as redes, as mídias de armazenamento e as telas, para citar os mais comuns.

E no caso da tela, o que no passado foi considerado indiscutivelmente como dispositivo de saída, porque era uma via exclusiva para o sistema apresentar dados produzidos ou armazenados, a partir da tecnologia de telas touch, tornou-se um dispositivo de entrada, já que cumpre os papéis do mouse e do teclado, típicos dispositivos de entrada.

Portanto, é função do SO monitorar a entrada e saída da informação usando os dispositivos conectados ao sistema.

5. Administrar recursos

Recursos são os elementos essenciais ao funcionamento do sistema e do hardware, tais como memória, processamento e espaço de armazenamento.

Como já vimos, um sistema não consegue funcionar apropriadamente quando o limite de memória RAM aproxima-se do total instalado e disponível. O mesmo se aplica para processamento e capacidade de leitura e escrita de dados no HD, SSD ou outro tipo de armazenamento.

Isso porque todo programa e processos associados, costumam utilizar preferencialmente esses recursos.

Se você abre um novo programa que necessita de uma determinada quantidade de RAM que não está disponível, esse programa só conseguirá estar funcional quando algum outro programa e/ou processo liberar o montante de RAM necessário.

Fica claro porque é importante a gestão de recursos e como sistemas leves e eficazes conseguem entregar bom desempenho mesmo em hardware antigo e menos poderoso – administrando bem os recursos!

Quais os tipos de sistema operacional?

Esse é um assunto que pode gerar uma série de outros desdobramentos. Por essa razão, tentaremos ao mesmo tempo não nos aprofundarmos muito, mas tratar do que é mais importante.

No início do nosso bate papo, mencionamos que em suas formas “mais simples e discretas ou nas mais sofisticadas e aparentes, ele é parte fundamental no uso que fazemos quotidianos dos mais variados dispositivos”. Isso porque não é só no seu notebook ou no smartphone que há um SO.

Entre muitas tecnologias, você sabe o que há em um automóvel da Tesla? Sim, há um sistema operacional. Mas mesmo em um carro mais acessível e não tão sofisticado como os embarcados e de tempo real, em um novíssimo Model S Plaid, também há um.

No sistema embarcado e tempo real, tanto do Tesla, quanto do seu novíssimo popular, é graças ao SO que o motorista tem no painel informações importantes sobre o funcionamento do veículo. Também graças a ele que o ABS funciona quando deve, o airbag é acionado a tempo de salvar sua vida e você sabe o consumo instantâneo durante uma viagem.

Sistemas embarcados, são os que vem como padrão em um aparelho e que são desenvolvidos exclusivamente para seu uso. Já os de tempo real, tempo de entrega de um resultado, é um fator crítico. Imagine o quão rápido o sistema deve obter a informação de um sensor e acionar uma ação de acordo com a leitura obtida. Precisa ser uma mínima fração de segundo.

E o que permite você navegar entre telas de configurações e até mesmo acessar as redes sociais por meio da sua SmartTV? Se você pensou em um sistema operacional, acertou!

No modem que sua operadora de telefonia fornece para acesso à Internet, no moderno aparelho de som no seu carro, no console de videogame, no smartwatch, no aparelho de ultrassom, na máquina fotográfica digital e até no micro-ondas. Sim, até no micro-ondas!

Nesse último, é logicamente infinitamente mais simples que um Windows ou Linux e é do tipo chamado sistema operacional embarcado e é gravado em um tipo de memória chamada de ROM (Ready Only Memory) ou memória apenas de leitura.

Os tipos de SO, referem-se ao seu propósito, sendo que alguns podem ser classificáveis em diferentes tipos.

Por exemplo, os já mencionados Windows e Linux, podem ser multiprocessados, pessoais, servidores e portáteis. Portanto, 4 tipos diferentes.

Na prática, tanto um como o outro, têm versões mais apropriadas a cada um dos propósitos ou tipos. O próprio Android e que equipa boa parte dos smartphones, é nascido a partir de um kernel Linux. Pode-se dizer que é uma entre as muitas distribuições Linux existentes.

Já um sistema que equipa os veículos autônomos e que devem ganhar espaço com a popularização do 5G, além de fazer uso de Inteligência Artificial, Machine Learning, tem características do tipo “tempo real”, uma vez que precisam processar dados em intervalos de tempo tão rápidos quanto possível. O tempo é uma condição crítica e uma característica predominante na sua execução e daí o nome desse tipo.

Em outras palavras, é devido aos diferentes tipos e propósitos de sistemas operacionais, que muitos dos aparelhos que estão por toda parte, que eles apresentam o comportamento e funcionalidades que têm.

Quais os sistemas operacionais mais utilizados?

Há diversos levantamentos a respeito de quais são os sistemas operacionais mais usados. As metodologias variam, bem como o tipo de dispositivo considerado. Sendo assim, alguns dados são consensuais e outros mais discutíveis.

Você pode avaliar os dados segundo três diferentes fontes e com três diferentes resultados, nos sites Statista, Net Marketshare e Statcounter.

Independente de critérios e metodologias para obtenção de dados de market share, é razoavelmente esperado que a popularidade seja um bom reflexo da utilização e assim, independente de qual é líder, os mais usados são:

  • Windows;

  • Android;

  • Linux;

  • MacOs;

  • iOS;

  • Chrome Os;

Conclusão

Um sistema operacional é o conjunto de programas que permite comunicação entre um hardware, outros programas e um ou mais usuários, obtendo, armazenando e manipulando dados e obtendo resultados diversos a partir dessas ações sobre hardware e dados.

Comentários ({{totalComentarios}})