Fundamentos de Software

Tipos de Sistemas Operacionais: Classificações e Exemplos Reais

Capa do artigo Tipos de Sistemas Operacionais, com as três classificações: forma de execução, número de processadores e ambiente de uso
Leitura com foco

Entenda o contexto.
Leve para a prática.

Neste artigo
  1. Por que existem tantas classificações?
  2. Classificação 1: pela forma de execução
  3. Sistemas monoprogramáveis (monotarefa)
  4. Sistemas multiprogramáveis (multitarefa)
  5. Classificação 2: pelo número de processadores
  6. Fortemente acoplados (multiprocessadores)
  7. Fracamente acoplados (multicomputadores)
  8. Classificação 3: pelo ambiente de uso
  9. Mainframe (grande porte)
  10. Servidor
  11. Desktop
  12. Móvel
  13. Embarcado
  14. Tempo real
  15. Cartão inteligente (smart card)
  16. Tabela-resumo dos tipos de sistemas operacionais
  17. Um mesmo sistema cabe em vários tipos
  18. Perguntas frequentes
  19. Quais são os tipos de sistemas operacionais?
  20. Windows, Linux e macOS são tipos de sistema operacional?
  21. Qual a diferença entre tipo de sistema operacional e tipo de kernel?
  22. Um sistema de tempo real é um sistema muito rápido?
  23. Conclusão
  24. Referências

Pergunte a três professores quais são os tipos de sistemas operacionais e você vai ouvir três listas diferentes. Um fala em monotarefa e multitarefa. Outro, em batch, tempo compartilhado e tempo real. O terceiro lista servidor, desktop, móvel e embarcado. E sempre tem alguém na turma que responde “Windows, Linux e macOS”.

Nenhuma das três listas está errada. Elas respondem a perguntas diferentes. Já a resposta da turma mistura duas coisas: Windows, Linux e macOS são produtos, e tipo é a forma como o sistema foi pensado para trabalhar.

Neste artigo vamos organizar essa bagunça em três classificações, cada uma com a sua pergunta, e fechar com uma tabela para consulta rápida.

Se você ainda não leu, vale passar antes por Você já parou para entender o que é um sistema operacional?. Aqui eu parto do ponto em que você já sabe o que um sistema operacional faz.

Por que existem tantas classificações?

Porque “tipo” depende do critério. Pense em uma frota de veículos. Dá para classificar por número de rodas, por combustível ou por uso. Uma ambulância é, ao mesmo tempo, um veículo de quatro rodas, a diesel e de emergência. Nenhuma dessas respostas anula as outras.

Com sistemas operacionais acontece o mesmo. Os livros de referência usam três critérios:

  1. Forma de execução. Quantos programas o sistema mantém rodando e como divide o processador entre eles. É a classificação clássica dos cursos brasileiros, a de Machado e Maia [1].
  2. Número de processadores. Quantos processadores o sistema coordena e o que eles compartilham.
  3. Ambiente de uso. Em que máquina o sistema roda e para quem trabalha. Tanenbaum e Bos chamam essa variedade de “zoológico de sistemas operacionais” [2], e Maziero fala em categorias [3].

Sou adepto de analogias, então a frota de veículos vai nos acompanhar até o fim.

Tipos de sistemas operacionais
Forma de execuçãoComo executa os programas?
  • Monoprogramável
  • Batch (em lote)
  • Tempo compartilhado
  • Tempo real
Número de processadoresQuantos coordena?
  • Fortemente acoplado
  • Fracamente: de rede
  • Fracamente: distribuído
Ambiente de usoOnde roda e para quem?
  • Mainframe
  • Servidor
  • Desktop
  • Móvel
  • Embarcado
  • Tempo real
  • Cartão inteligente
Três perguntas organizam os tipos de sistemas operacionais.

Cada coluna responde a uma pergunta diferente. Repare que tempo real aparece em duas delas, e isso não é erro: vamos ver por quê.

Classificação 1: pela forma de execução

A pergunta aqui é: quantos programas o sistema mantém em execução, e como ele divide o processador entre eles?

Sistemas monoprogramáveis (monotarefa)

Executam um programa por vez. Processador, memória e periféricos ficam dedicados a ele até o fim. Se o programa para e espera uma leitura de disco, o processador espera junto, sem fazer nada. O MS-DOS é o exemplo mais lembrado.

Na nossa frota, é a moto de entrega que leva um pacote por viagem.

Sistemas multiprogramáveis (multitarefa)

Mantêm vários programas na memória e alternam o processador entre eles. Quando um programa espera uma operação de entrada e saída, outro usa a CPU. O que muda de um sistema para outro é a regra dessa alternância, e daí saem três tipos [1].

Batch (em lote). As tarefas entram em uma fila e são executadas em sequência, sem conversa com o usuário durante a execução. Os exemplos históricos são o IBM OS/360 e o VAX/VMS [3]. A ideia continua viva nas rotinas noturnas de hoje: fechamento de folha, backup, carga de dados.

Na frota, é o trem de carga. Sai com horário marcado, leva muito de uma vez e ninguém conversa com o maquinista no caminho.

Tempo compartilhado (time-sharing). O sistema divide o tempo do processador em fatias e distribui essas fatias entre os programas. Cada pessoa tem a impressão de que a máquina é só dela. É assim que Linux, Windows e macOS trabalham no seu dia a dia.

Na frota, é o ônibus. Vários passageiros, paradas frequentes, e todo mundo avança um pouco a cada trecho.

Tempo real. Aqui o que manda é o prazo. E vale desfazer um engano comum: um sistema de tempo real não precisa ser ultrarrápido. A característica essencial dele é ter comportamento previsível, com tempo de resposta conhecido no melhor e no pior caso [3]. Existem dois graus:

  • Crítico (hard real-time). Perder o prazo é uma falha do sistema. Pense no controle de um freio ou de um robô de solda.
  • Não crítico (soft real-time). Um atraso piora o serviço, mas não o invalida. Pense em uma chamada de vídeo que engasga.

QNX e VxWorks são exemplos conhecidos [3]. Na frota, é a ambulância: ela não precisa ser o veículo mais veloz da cidade, precisa chegar dentro do tempo.

Um fato recente para guardar: o kernel principal do Linux passou a ter suporte a tempo real. O PREEMPT_RT, que por anos existiu como um conjunto de patches externos, foi incorporado em 20 de setembro de 2024 para a versão 6.12, com suporte inicial em x86, ARM64 e RISC-V [5].

Classificação 2: pelo número de processadores

A pergunta muda: quantos processadores o sistema coordena, e o que eles compartilham entre si?

Fortemente acoplados (multiprocessadores)

Vários processadores dividem a mesma memória e são controlados por uma única cópia do sistema operacional [1]. O seu notebook com processador de vários núcleos entra aqui.

Na frota, é um caminhão com dois motoristas na mesma cabine: o painel e a carga são os mesmos, e eles se revezam no volante.

Fracamente acoplados (multicomputadores)

Cada máquina tem a sua memória e o seu sistema operacional. A conversa entre elas acontece pela rede, por troca de mensagens [1]. Dentro desse grupo, a diferença está em quanto a rede fica escondida de você:

  • Sistema operacional de rede. Dá acesso a recursos de outros computadores, como arquivos e impressoras, e oferece os seus de forma controlada [3]. Você sabe em qual máquina cada coisa está.
  • Sistema operacional distribuído. Os recursos de várias máquinas aparecem como se fossem de um sistema só. Quem usa não sabe, nem precisa saber, em qual computador a aplicação está rodando. O Amoeba é o exemplo acadêmico, e a computação em nuvem herdou essa ideia [3].

Na frota, é um comboio: cada caminhão tem motor e motorista próprios, e a coordenação é feita pelo rádio. Silberschatz, Galvin e Gagne dedicam uma seção inteira à diferença entre os dois [4].

Classificação 3: pelo ambiente de uso

Última pergunta: em que tipo de máquina o sistema roda, e para quem ele trabalha?

Na quarta edição de Modern Operating Systems, Tanenbaum e Bos listam nove espécies no seu zoológico [2]. Maziero chega a uma lista parecida [3]. Juntando as duas, estes são os tipos que você mais vai encontrar.

Mainframe (grande porte)

Sistemas para máquinas que processam um volume enorme de entrada e saída, com milhares de operações ao mesmo tempo. Combinam processamento em lote, transações e tempo compartilhado. O z/OS, da IBM, é o exemplo atual.

Servidor

Atendem muitos usuários pela rede ao mesmo tempo e precisam gerir bem grandes quantidades de recursos, com prioridades e limites de uso [3]. Linux, Windows Server e FreeBSD são os nomes comuns.

Desktop

Feitos para uma pessoa por vez, com foco em interface gráfica, interatividade e rede. Windows, macOS e Linux [3].

Móvel

Rodam em aparelhos pessoais compactos. As prioridades mudam: gestão de energia, conectividade e sensores [3]. Android e iOS.

Embarcado

Rodam dentro de produtos que não parecem computadores, como um roteador, um micro-ondas ou a central de um carro. O hardware tem pouco processamento, pouca memória e pouca energia. VxWorks, LynxOS, Contiki e TinyOS são exemplos [3]. Tanenbaum e Bos ainda separam os nós de sensores em uma categoria própria [2].

Tempo real

Sim, ele aparece de novo. Na primeira classificação, tempo real era uma regra de escalonamento. Aqui é um ambiente: controle industrial, equipamentos médicos, aviônica. Repare que as categorias se cruzam. O VxWorks está na lista de embarcados e na de tempo real do mesmo livro [3].

Cartão inteligente (smart card)

A menor espécie do zoológico [2]. Roda no chip de um cartão, com restrições severas de processamento e memória, e faz poucas coisas, como autorizar um pagamento.

Tabela-resumo dos tipos de sistemas operacionais

ClassificaçãoTipoIdeia centralExemplos
Forma de execuçãoMonoprogramávelUm programa por vezMS-DOS
Forma de execuçãoBatchFila de tarefas, sem interaçãoIBM OS/360, VAX/VMS
Forma de execuçãoTempo compartilhadoFatias de tempo entre os programasLinux, Windows, macOS
Forma de execuçãoTempo realResposta dentro de um prazo previsívelQNX, VxWorks
Número de processadoresFortemente acopladoProcessadores com memória comum e um só sistemaQualquer sistema atual em máquina multinúcleo
Número de processadoresDe redeMáquinas independentes que compartilham recursosServidor de arquivos em uma rede local
Número de processadoresDistribuídoVárias máquinas vistas como uma sóAmoeba
Ambiente de usoMainframeVolume enorme de entrada e saídaz/OS
Ambiente de usoServidorMuitos usuários pela redeLinux, Windows Server, FreeBSD
Ambiente de usoDesktopUma pessoa, interface gráficaWindows, macOS, Linux
Ambiente de usoMóvelEnergia, conectividade, sensoresAndroid, iOS
Ambiente de usoEmbarcadoHardware mínimo dentro de um produtoVxWorks, Contiki, TinyOS
Ambiente de usoCartão inteligenteUm chip, poucas funçõesChip de cartão bancário

Um mesmo sistema cabe em vários tipos

Agora a parte que as listas decoradas escondem. Repare quantas vezes o Linux apareceu neste artigo:

  • no notebook, é um sistema desktop de tempo compartilhado;
  • no datacenter, é um sistema de servidor;
  • no celular, é a base do Android;
  • no roteador da sua casa, é um sistema embarcado;
  • compilado com PREEMPT_RT, a partir da versão 6.12, é um sistema de tempo real [5].

Por isso “qual é o tipo do Linux?” não tem uma resposta só. A pergunta útil é outra: neste uso, qual requisito manda?

Para quem programa, essa pergunta muda decisões de projeto. Um serviço que roda de madrugada processando arquivos é batch, e você otimiza vazão. Uma API que responde a pessoas é interativa, e você otimiza latência. Um firmware de sensor conta cada byte de memória. Saber o tipo do ambiente diz qual métrica você precisa defender.

Perguntas frequentes

Quais são os tipos de sistemas operacionais?

Depende do critério. Pela forma de execução, são monoprogramáveis e multiprogramáveis, e estes se dividem em batch, tempo compartilhado e tempo real. Pelo número de processadores, são fortemente ou fracamente acoplados. Pelo ambiente de uso, são mainframe, servidor, desktop, móvel, embarcado, tempo real e cartão inteligente.

Windows, Linux e macOS são tipos de sistema operacional?

Não. São sistemas operacionais específicos. Os três são multiprogramáveis de tempo compartilhado e são usados como sistemas desktop. Linux e Windows também têm versões de servidor.

Qual a diferença entre tipo de sistema operacional e tipo de kernel?

O tipo de sistema descreve como ele é usado e o que ele prioriza. O tipo de kernel descreve como o núcleo é construído por dentro: monolítico, microkernel, híbrido. Falei disso em O que é esse tal de Kernel?.

Um sistema de tempo real é um sistema muito rápido?

Não necessariamente. Ele é previsível: garante a resposta dentro de um prazo conhecido [3].

Conclusão

Tipo de sistema operacional não é uma gaveta só. São três perguntas: como o sistema executa os programas, quantos processadores ele coordena e onde ele roda. Na próxima vez que alguém responder “Windows, Linux e macOS”, você já sabe por onde começar a conversa.

Para continuar, veja por dentro do sistema em Entendendo os componentes de um sistema operacional.

Se este artigo ajudou, compartilhe com quem está estudando o assunto e conte nos comentários qual classificação o seu professor usa.

Até o próximo artigo!

Veja também: O Shell é o limite, O que é Docker e como funciona um container e Software Básico.

Confiança Sempre!!!

Referências

  1. MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais. Rio de Janeiro: LTC. ISBN 978-85-216-1548-4.
  2. TANENBAUM, Andrew S.; BOS, Herbert. Modern Operating Systems. 4. ed. Pearson, 2014. Seção 1.4, “The Operating System Zoo”. ISBN 978-0-13-359162-0.
  3. MAZIERO, Carlos A. Sistemas Operacionais: Conceitos e Mecanismos. 2019. Capítulo 1, seção 1.3, “Categorias”, p. 7 a 9.
  4. SILBERSCHATZ, Abraham; GALVIN, Peter B.; GAGNE, Greg. Operating System Concepts. 10. ed. Wiley, 2018. Seção 19.4, “Network and distributed operating systems”.
  5. LARABEL, Michael. Real-Time “PREEMPT_RT” Support Merged For Linux 6.12. Phoronix, 20 set. 2024.
Sobre quem escreve

Walmir Silva

Olá! Sou Walmir, engenheiro de software com MBA em Engenharia de Software e o cérebro por trás do GrowthCode e autor do livro "Além do Código".

Se você acha que programação é apenas sobre escrever código, prepare-se para expandir seus horizontes. Aqui, nós vamos além do código e exploramos as interseções fascinantes entre tecnologia, negócios, artes e filosofia.

Você está em busca de crescimento na carreira? Quer se destacar em um mercado competitivo? Almeja uma vida mais rica em conhecimento e realização? Então você chegou ao lugar certo. No GrowthCode, oferecemos insights profundos, estratégias comprovadas e um toque de sabedoria filosófica para catalisar seu crescimento pessoal e profissional.

Ver todos os artigos →

Continue a conversa

Compartilhe sua perspectiva

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Encontre sua próxima resposta

O que você quer aprender?

Preferências de cookies

Os cookies opcionais começam desligados. Você pode mudar a escolha a qualquer momento por esta tela.

NecessáriosSempre ativos

Guardam a sua escolha de cookies e mantêm o site funcionando. Não são usados para publicidade.

Contam visitas e mostram como o site é usado: Google Analytics e Microsoft Clarity, carregados pelo Google Tag Manager. Como esse contêiner também carrega tags de publicidade, as estatísticas só são ativadas junto com Publicidade e marketing.

Exibem anúncios do Google AdSense e medem campanhas e e-mails: pixels da Meta e do TikTok e o Mautic.

Permite que o Google escolha anúncios com base nos seus interesses. Desligado, os anúncios aparecem sem personalização. Depende de Publicidade e marketing.

Também é possível bloquear cookies nas configurações do navegador. Detalhes na Política de privacidade.