Sistema operacional (SO)

Um sistema operacional (SO) é o programa que, após ser inicialmente carregado no computador pelo programa a boot gere todos os outros programas aplicativos em um computador. Os programas aplicativos fazem uso do sistema operacional fazendo solicitações de serviços através de uma interface de programa aplicativo (API) definida. Além disso, os usuários podem interagir diretamente com o sistema operacional através de uma interface de usuário, como uma interface de linha de comando (CLI) ou uma IU gráfica (GUI).

Por que usar um sistema operacional?

Um sistema operacional traz poderosos benefícios para o desenvolvimento de software de computador e software. Sem um sistema operacional, cada aplicativo precisaria incluir sua própria IU, bem como o código abrangente necessário para lidar com todas as funcionalidades de baixo nível do computador subjacente, tais como armazenamento em disco, interfaces de rede e assim por diante. Considerando a vasta gama de hardware subjacente disponível, isto iria inchar enormemente o tamanho de cada aplicação e tornar o desenvolvimento de software impraticável.

Em vez disso, muitas tarefas comuns, tais como enviar um pacote de rede ou exibir texto em um dispositivo de saída padrão, como um display, podem ser descarregadas para o software do sistema que serve como um intermediário entre as aplicações e o hardware. O software do sistema fornece uma maneira consistente e repetível para as aplicações interagirem com o hardware sem que as aplicações precisem saber qualquer detalhe sobre o hardware.

Desde que cada aplicação acesse os mesmos recursos e serviços da mesma maneira, esse software do sistema -- o sistema operacional -- pode atender praticamente qualquer número de aplicações. Isto reduz enormemente a quantidade de tempo e codificação necessária para desenvolver e depurar uma aplicação, enquanto garante que os usuários possam controlar, configurar e gerenciar o hardware do sistema através de uma interface comum e bem compreendida.

This article is part of

Complete guide to unified endpoint management

  • Which also includes:
  • How to successfully implement MDM for BYOD
  • Understand how UEM, EMM and MDM differ from one another
  • 5 up-and-coming Mac management software vendors to know

Download1

Download this entire guide for FREE now!

Once installed, the operating system relies on a vast library of device drivers to tailor OS services to the specific hardware environment. Thus, every application may make a common call to a storage device, but the OS receives that call and uses the corresponding driver to translate the call into actions (commands) needed for the underlying hardware on that specific computer. Atualmente, o sistema operacional fornece uma plataforma abrangente que identifica, configura e gerencia uma gama de hardware, incluindo processadores; dispositivos de memória e gerenciamento de memória; chipsets; armazenamento; rede; comunicação por porta, como Video Graphics Array (VGA), High-Definition Multimedia Interface (HDMI) e Universal Serial Bus (USB); e interfaces de subsistemas, como Peripheral Component Interconnect Express (PCIe).

Funções de um sistema operacional

Um sistema operacional fornece três capacidades essenciais: Ele oferece uma IU através de uma CLI ou GUI; ele lança e gerencia a execução da aplicação; e identifica e expõe os recursos de hardware do sistema a essas aplicações -- tipicamente, através de uma API padronizada.

> forte>UI. Todo sistema operacional requer uma IU, permitindo que usuários e administradores interajam com o SO a fim de configurar, configurar e até mesmo solucionar problemas do sistema operacional e seu hardware subjacente. Há dois tipos primários de IU disponíveis: CLI e GUI.

OS A arquitectura de um SO

A CLI, ou janela de modo terminal, fornece uma interface baseada em texto onde os utilizadores confiam no teclado tradicional para introduzir comandos, parâmetros e argumentos específicos relacionados com tarefas específicas. A GUI, ou desktop, fornece uma interface visual baseada em ícones e símbolos, onde os usuários confiam em gestos entregues por dispositivos de interface humana, tais como touchpads, telas sensíveis ao toque e dispositivos do mouse.

A GUI é mais freqüentemente usada por usuários casuais ou finais que estão principalmente interessados em manipular arquivos e aplicações, tais como clicar duas vezes em um ícone de arquivo para abrir o arquivo em sua aplicação padrão. A CLI permanece popular entre usuários avançados e administradores de sistema que devem lidar regularmente com uma série de comandos altamente granulares e repetitivos, como a criação e execução de scripts para configurar novos computadores pessoais (PCs) para funcionários.

>strong>Application management. Um sistema operacional lida com o lançamento e gerenciamento de cada aplicação. Isso normalmente suporta um conjunto de comportamentos, incluindo timesharing de múltiplos processos, ou threads, para que várias tarefas possam compartilhar o tempo disponível dos processadores; lidar com interrupções que os aplicativos produzem para ganhar a atenção imediata do processador, garantindo que haja memória suficiente para executar o aplicativo e seus dados correspondentes sem interferir com outros processos; realizar o tratamento de erros que podem remover graciosamente os processos de um aplicativo; e realizar o gerenciamento da memória sem interromper outros aplicativos ou o sistema operacional.

Um sistema operacional também pode suportar APIs que habilitam aplicativos a utilizar funções de SO e hardware sem a necessidade de saber nada sobre o SO ou o estado do hardware de baixo nível. Como exemplo, uma API do Windows pode habilitar um programa para obter entradas de um teclado ou mouse; criar elementos GUI, como janelas de diálogo e botões; ler e escrever arquivos em um dispositivo de armazenamento; e muito mais. Aplicações são quase sempre feitas sob medida para usar o sistema operacional no qual a aplicação pretende rodar.

Adicionalmente, um sistema operacional pode executar os seguintes serviços para aplicações:

  • Em um sistema operacional multitarefa, onde vários programas podem ser executados ao mesmo tempo, o sistema operacional determina quais aplicações devem ser executadas em que ordem e quanto tempo deve ser permitido para cada aplicação antes de dar uma virada em outra aplicação.
  • Li>Li>Li trata da entrada/saída (E/S) de e para dispositivos de hardware anexados, tais como discos rígidos, impressoras e portas discadas.
  • Li>Li envia mensagens para cada aplicação ou usuário interativo -- ou para um operador de sistema -- sobre o status de operação e quaisquer erros que possam ter ocorrido.
  • Pode descarregar o gerenciamento de trabalhos em lote -- por exemplo, impressão -- para que a aplicação iniciadora seja liberada deste trabalho.
  • Em computadores que podem fornecer processamento paralelo, um sistema operacional pode gerenciar como dividir o programa para que ele seja executado em mais de um processador ao mesmo tempo.

Todas as principais plataformas de computador (hardware e software) requerem, e às vezes incluem, um sistema operacional, e sistemas operacionais devem ser desenvolvidos com diferentes recursos para atender às necessidades específicas de vários form factors.

> forte>Gestão de dispositivos. Um sistema operacional é responsável por identificar, configurar e fornecer aplicativos com acesso comum aos dispositivos de hardware do computador subjacente. Como o sistema operacional reconhece e identifica o hardware, o sistema operacional instalará drivers de dispositivos correspondentes que permitem que o sistema operacional e aplicativos em execução no sistema operacional usem os dispositivos sem nenhum conhecimento específico do hardware ou dispositivos.

Um sistema operacional é responsável por identificar a impressora correta e instalar os drivers de impressora apropriados para que um aplicativo só precise fazer chamadas para a impressora sem ter que usar códigos ou comandos específicos daquela impressora -- esse é o trabalho do sistema operacional. A situação é semelhante para outros dispositivos, como portas USB; portas de rede; dispositivos gráficos, como unidades de processamento gráfico (GPUs); chipsets de placas-mãe; e dispositivos de armazenamento, como adaptadores de disco Serial-Attached SCSI (SAS) e discos formatados com um sistema de arquivos adequado.

O sistema operacional identifica e configura dispositivos físicos e lógicos para serviço e normalmente os registra em uma estrutura padronizada, como o Registro do Windows. Os fabricantes de dispositivos corrigem e atualizam periodicamente os drivers, e o SO deve atualizá-los para garantir o melhor desempenho e segurança dos dispositivos. Quando os dispositivos são substituídos, o SO também instala e configura novos drivers.

Tipos e exemplos de sistemas operacionais

P>Embora as funções fundamentais de um sistema operacional sejam onipresentes, existem inúmeros sistemas operacionais que atendem a uma ampla gama de necessidades de hardware e usuários.

> forte>Sistema operacional de propósito geral. Um sistema operacional de propósito geral representa um conjunto de sistemas operacionais destinados a executar uma grande variedade de aplicações em uma ampla seleção de hardware, permitindo ao usuário executar uma ou mais aplicações ou tarefas simultaneamente. Um sistema operacional de propósito geral pode ser instalado em muitos modelos diferentes de desktop e laptop e executar aplicativos desde sistemas de contabilidade a bancos de dados, passando por navegadores web e jogos. Os sistemas operacionais de uso geral normalmente se concentram no gerenciamento de processos (thread) e hardware para garantir que os aplicativos possam compartilhar de forma confiável a ampla gama de hardware de computação presente.

Sistemas operacionais comuns de desktop incluem o seguinte:

  • Windows é o carro-chefe da Microsoft sistema operacional, o padrão de fato para computadores domésticos e comerciais. Introduzido em 1985, o SO baseado em GUI foi lançado em muitas versões desde então. O amigável Windows 95 foi largamente responsável pelo rápido desenvolvimento da computação pessoal.>li>Mac OS é o sistema operativo para o Macintosh linha de PCs e estações de trabalho.>li>Unix é um sistema operativo multiutilizador concebido para flexibilidade e adaptabilidade. Originalmente desenvolvido nos anos 70, Unix foi um dos primeiros sistemas operacionais a ser escrito em C language.>li>Linux é a Unix-like operating system que foi projetado para fornecer aos usuários de PC uma alternativa gratuita ou de baixo custo. Linux tem a reputação de ser um sistema eficiente e de rápido desempenho.

> forte>Sistema operacional móvel. Sistemas operacionais móveis são projetados para acomodar as necessidades exclusivas da computação móvel e dispositivos centrados na comunicação, tais como smartphones e tablets. Os dispositivos móveis normalmente oferecem recursos computacionais limitados em comparação aos PCs tradicionais, e o SO deve ser redimensionado em tamanho e complexidade a fim de minimizar seu próprio uso de recursos, enquanto garante recursos adequados para uma ou mais aplicações rodando no dispositivo. Os sistemas operacionais móveis tendem a enfatizar o desempenho eficiente, a capacidade de resposta do usuário e a atenção especial às tarefas de manuseio de dados, como o suporte ao streaming de mídia. O Apple iOS e o Google Android são exemplos de sistemas operacionais móveis.

> forte>Sistema operacional integrado. Nem todos os dispositivos de computação são de uso geral. Uma grande variedade de dispositivos dedicados -- incluindo assistentes digitais domésticos, caixas eletrônicos (ATMs), sistemas de aviões, terminais de ponto de venda (POS) e dispositivos de internet de coisas (IoT) -- inclui computadores que requerem um sistema operacional. A principal diferença é que o dispositivo de computação associado faz apenas uma coisa importante, portanto o sistema operacional é altamente despojado e dedicado tanto ao desempenho quanto à resiliência. O SO deve funcionar rapidamente, e não travar, e lidar com todos os erros graciosamente, a fim de continuar operando em todas as circunstâncias. Na maioria dos casos, o sistema operacional é fornecido em um chip que é incorporado ao dispositivo real. Um dispositivo médico usado no equipamento de suporte de vida de um paciente, por exemplo, empregará um sistema operacional incorporado que deve funcionar de forma confiável para manter o paciente vivo. Linux embutido é um exemplo de um sistema operacional embutido.

> forte> Sistema operacional de rede. Um sistema operacional de rede (NOS) é outro sistema operacional especializado destinado a facilitar a comunicação entre dispositivos que operam em uma rede local (LAN). Um NOS fornece a pilha de comunicação necessária para compreender os protocolos de rede, a fim de criar, trocar e decompor os pacotes de rede. Hoje, o conceito de um NOS especializado é em grande parte obsoleto porque outros tipos de SO lidam em grande parte com a comunicação em rede. O Windows 10 e Windows Server 2019, por exemplo, incluem capacidades de rede abrangentes. O conceito de um NOS ainda é usado para alguns dispositivos de rede, tais como roteadores, switches e firewalls, e os fabricantes podem empregar NOSes proprietários, incluindo Cisco Internetwork Operating System (IOS), RouterOS e ZyNOS.

> forte>Real-time operating system. Quando um dispositivo de computação deve interagir com o mundo real dentro de restrições de tempo constantes e repetíveis, o fabricante do dispositivo pode optar por usar um sistema operacional em tempo real (RTOS). Por exemplo, um sistema de controle industrial pode dirigir as operações de uma fábrica ou central elétrica em expansão. Tal instalação produzirá sinais de uma miríade de sensores e também enviará sinais para operar válvulas, atuadores, motores e inúmeros outros dispositivos. Nessas situações, o sistema de controle industrial deve responder de forma rápida e previsível às mudanças das condições do mundo real - caso contrário, pode ocorrer um desastre. Um RTOS deve funcionar sem buffer, processando latências e outros atrasos, que são perfeitamente aceitáveis em outros tipos de sistemas operacionais. Dois exemplos de RTOS incluem FreeRTOS e VxWorks.

As diferenças entre os tipos de sistemas operacionais não são absolutas, e alguns sistemas operacionais podem compartilhar características de outros. Por exemplo, sistemas operacionais de propósito geral incluem rotineiramente as capacidades de rede encontradas em um NOS tradicional. Da mesma forma, um sistema operacional embarcado normalmente inclui atributos de um RTOS, enquanto um sistema operacional móvel ainda pode executar inúmeras aplicações simultaneamente como outros sistemas operacionais de propósito geral.