Ir para o conteúdo

🖧 Capítulo 4 — Sistemas Operacionais: Conceitos, Filosofia e Prática com Linux e Windows

Habilidades BNCC trabalhadas neste capítulo

EF03CO06, EF04CO06, EF04CO08, EF05CO07, EF06CO08 — eixos Mundo Digital, Pensamento Computacional e Cultura Digital.

No capítulo anterior vimos como a CPU processa instruções e como os dados são organizados em uma hierarquia de memória. Mas quem decide qual programa usa a CPU agora, onde cada arquivo fica gravado e como o teclado sabe para qual janela enviar a letra digitada? A resposta é o Sistema Operacional (SO) — o "maestro" que coordena hardware e software. Este capítulo trata primeiro da teoria — o que é um SO e por que ele existe — e depois coloca a mão na massa: gerenciador de tarefas, terminal, sistema de arquivos e processos, ao vivo, em Linux e Windows.

1. O que é um sistema operacional

Um sistema operacional é o software que fica entre o hardware e todos os outros programas, cumprindo três papéis simultâneos:

  1. Gestor de recursos — decide qual programa usa a CPU e por quanto tempo, aloca memória RAM para cada aplicativo, organiza o acesso ao disco e coordena dispositivos de entrada e saída.
  2. Criador de abstrações — esconde a complexidade do hardware: o programador manipula variáveis com nome em vez de endereços de memória; o usuário vê "pastas" e "arquivos" em vez de setores de disco.
  3. Protetor de integridade — impede que um programa sobrescreva a memória de outro, e controla permissões (usuário comum não tem os mesmos privilégios que um administrador).

O que aconteceria sem um sistema operacional

Sem SO, cada programa precisaria saber, sozinho, exatamente em qual setor do disco um arquivo está gravado, qual endereço de memória usar, e como controlar diretamente o teclado, o mouse e o monitor — tudo isso de forma específica para cada modelo de computador. Um programa escrito para uma marca de computador simplesmente não funcionaria em outra. É exatamente esse pesadelo de incompatibilidade que o sistema operacional evita.

2. Duas camadas: kernel e espaço do usuário

Internamente, um sistema operacional se organiza em duas regiões com privilégios muito diferentes:

  • Kernel (núcleo) — a parte com acesso direto e irrestrito ao hardware. É o kernel que decide qual processo executa a seguir, aloca memória, controla os dispositivos de entrada e saída e organiza o sistema de arquivos.
  • Espaço do usuário — onde rodam os aplicativos comuns (navegador, editor de texto, player de vídeo). Programas nessa camada não podem acessar o hardware diretamente; precisam pedir permissão ao kernel através de chamadas de sistema (system calls).

Como ensinar isso

Uma analogia que funciona bem: o kernel é como um governo que administra recursos públicos (energia, água, segurança), e os aplicativos são como cidadãos que precisam pedir autorização para certas ações — abrir uma estrada (abrir um arquivo), acionar a polícia (acessar um dispositivo). O cidadão não decide sozinho; ele solicita, e o governo responde "autorizado" ou "negado".

Um exemplo concreto ajuda a fixar essa ideia: quando você pressiona uma tecla, o sinal elétrico do teclado é convertido em código pelo controlador do dispositivo, que interrompe a CPU. O kernel trata essa interrupção, identifica qual programa está em foco na tela, e só então entrega o caractere a esse programa — que finalmente o exibe. Tudo isso acontece em frações de milissegundo, mas envolve várias etapas coordenadas centralmente.

3. Duas formas de conversar com a máquina: GUI e CLI

Interface gráfica (GUI) Linha de comando (CLI)
Como funciona Ícones, janelas, menus, mouse Comandos de texto digitados
Vantagem principal Intuitiva, fácil de descobrir explorando Rápida, automatizável, funciona sem monitor (em servidores)
Limitação principal Lenta para tarefas repetitivas Curva de aprendizado — exige memorizar comandos
Exemplos Explorador de Arquivos, área de trabalho Terminal (bash, PowerShell)

A linha de comando não é "coisa de programador avançado" — é uma ferramenta poderosa de automação. Um exemplo simples: renomear 100 fotos manualmente na interface gráfica pode levar uma hora; um único comando no terminal faz o mesmo trabalho em segundos. É também, pedagogicamente, um excelente terreno para trabalhar pensamento computacional, já que cada comando de terminal é, na prática, um pequeno algoritmo.

Como introduzir o terminal em diferentes idades

  • Educação Infantil e anos iniciais: fique só na interface gráfica.
  • Anos finais do Fundamental: introduza comandos básicos de forma lúdica — ls (listar), cd (mudar de pasta), pwd (mostrar onde está) — em formato de "caça ao tesouro" navegando por pastas.
  • Ensino Médio: comandos intermediários (grep, find), o conceito de permissões de arquivo, e pequenos scripts que automatizam tarefas repetitivas.

4. Software livre, código aberto e proprietário: uma distinção que importa

É comum confundir "gratuito" com "livre" — mas são conceitos diferentes, e essa diferença tem peso pedagógico e político real na escola pública brasileira.

Software livre Código aberto Proprietário
Código-fonte visível Sim, por princípio Sim, por pragmatismo Não
Pode modificar e redistribuir Sim Geralmente sim Não
Custo típico Zero Zero Pago
Exemplos Linux, LibreOffice, Blender VS Code, TensorFlow Windows, Office, Photoshop

O movimento de software livre, formalizado por Richard Stallman e a Free Software Foundation, define a liberdade em torno de quatro princípios: a liberdade de executar o programa para qualquer finalidade, de estudar como ele funciona (o que exige acesso ao código-fonte), de redistribuir cópias, e de modificar e publicar melhorias.

Um caso concreto: o Linux Educacional

Desenvolvido pelo MEC a partir de uma base Debian/Ubuntu, o Linux Educacional foi distribuído para escolas públicas brasileiras com ferramentas pedagógicas pré-instaladas (LibreOffice, GeoGebra, Scratch, GCompris) e otimizado para funcionar em máquinas com poucos recursos. É um bom exemplo de como as quatro liberdades do software livre se traduzem em política pública: qualquer escola pode usar sem custo de licença, o código pode ser estudado e adaptado, e melhorias feitas por uma escola podem, em princípio, beneficiar a rede inteira. Iniciativas como essa evoluem com o tempo — vale sempre verificar, junto à sua secretaria de educação, qual distribuição está atualmente recomendada e mantida na sua rede.

4.1 Por que essa discussão importa para a escola pública

O custo de licenciamento de software proprietário (sistema operacional, suíte de escritório, antivírus) pode representar uma fração significativa do orçamento anual de tecnologia de uma escola — o que, na prática, empurra muitas instituições para o uso de software pirateado (ilegal e sem atualizações de segurança) ou para a defasagem tecnológica. Alternativas livres — Linux Mint, Ubuntu, LibreOffice, GIMP, Blender — cobrem, hoje, a grande maioria das necessidades pedagógicas com custo de licenciamento zero.

Mas essa não é apenas uma decisão técnica — é também uma escolha pedagógica. Um aluno que só sabe "clicar aqui para abrir um arquivo" aprendeu a usar uma ferramenta; um aluno que pode olhar o código que interpreta esse clique tem a oportunidade de compreender o processo — exatamente o tipo de letramento crítico discutido no Capítulo 1.

Contra alguns mitos comuns

  • "Linux é difícil" — distribuições modernas (Linux Mint, Ubuntu) têm interface gráfica tão acessível quanto Windows para tarefas do dia a dia.
  • "Nenhum software educacional roda em Linux" — LibreOffice, GeoGebra, Scratch (via navegador), GIMP e Blender rodam nativamente e cobrem a maior parte das necessidades escolares.
  • "Software livre é de baixa qualidade" — Linux move a maior parte dos servidores da internet; Blender é usado em produções cinematográficas profissionais; muitas ferramentas de inteligência artificial são desenvolvidas como código aberto.

5. Da teoria à prática: colocando a mão na massa

As seções anteriores apresentaram o sistema operacional em teoria. Daqui em diante o objetivo é colocar a mão na massa: abrir o gerenciador de tarefas, o terminal, e observar ao vivo os conceitos discutidos — sistema de arquivos, permissões, processos, memória. A meta é que você termine este capítulo capaz de diagnosticar, sozinho, por que uma máquina da escola "está lenta".

Preparando o ambiente

Todos os comandos a seguir podem ser praticados sem instalar nada, usando um pendrive bootável com Linux (Linux Mint ou Ubuntu, gravado com uma ferramenta como o Rufus ou o Balena Etcher) ou uma máquina virtual (VirtualBox). Ambas as opções permitem explorar o Linux sem alterar o sistema já instalado no computador — uma forma segura de experimentar em qualquer laboratório escolar, mesmo sem permissão para instalar software.

6. O sistema de arquivos, na prática

O sistema de arquivos é a forma como o sistema operacional organiza dados no disco. Windows e Linux resolvem essa organização de formas visivelmente diferentes.

Organiza tudo em unidades nomeadas por letra: C: (disco principal), D: (segundo disco ou partição), E: (pendrive), e assim por diante. Dentro de C:, encontram-se pastas como Users (usuários), Program Files (programas instalados) e Windows (arquivos do sistema).

Organiza tudo em uma única árvore, começando na raiz /. Não existem letras de unidade — mesmo um pendrive é "montado" em algum ponto dentro dessa árvore (por exemplo, /media/usuario/pendrive). Pastas padronizadas têm papéis fixos: /home guarda os arquivos de cada usuário, /etc guarda arquivos de configuração, /usr guarda programas instalados, /var guarda registros e arquivos que mudam com frequência.

Windows Linux
Raiz Múltiplas (C:, D:...) Uma única (/)
Pasta do usuário C:\Users\nome /home/nome
Configurações do sistema Registro do Windows /etc
Visibilidade da estrutura interna Abstraída (escondida do usuário comum) Transparente (ls -l mostra tudo)

Primeiros comandos de terminal (Linux)

pwd          # mostra em qual pasta você está agora
ls           # lista o conteúdo da pasta atual
ls -l        # lista com detalhes (permissões, dono, tamanho, data)
cd Documentos  # entra na pasta "Documentos"
cd ..        # volta para a pasta anterior
tree         # mostra a árvore de pastas visualmente (pode exigir instalação)

7. Permissões: quem pode fazer o quê

Em um ambiente com múltiplos usuários — como um laboratório de informática compartilhado entre turmas — é essencial que o arquivo de um aluno não possa ser lido, alterado ou apagado por outro sem autorização. É exatamente esse problema que o sistema de permissões resolve.

O Linux define três categorias de usuário para cada arquivo — proprietário, grupo e outros — e três tipos de permissão: leitura (r), escrita (w) e execução (x). O comando ls -l revela essa informação:

$ ls -l trabalho.txt
-rw-r--r-- 1 joao alunos 2048 jan 16 10:30 trabalho.txt

Lendo da esquerda para a direita, depois do primeiro traço (que indica "arquivo comum"): o proprietário (joao) pode ler e escrever (rw-); o grupo (alunos) só pode ler (r--); e todos os demais usuários também só podem ler (r--). Ninguém tem permissão de execução, porque não é um programa.

Essas mesmas permissões também podem ser expressas em números — cada permissão vale um valor (leitura = 4, escrita = 2, execução = 1), e soma-se por categoria:

chmod 755 script.sh   # dono: rwx (7) | grupo: r-x (5) | outros: r-x (5)
chmod 600 privado.txt  # dono: rw- (6) | grupo: --- (0) | outros: --- (0)

Como ensinar isso

Uma boa pergunta provocadora para o Ensino Médio: "por que o sistema operacional deliberadamente impede que um usuário comum apague arquivos do sistema?" A resposta conecta diretamente com o eixo de Cultura Digital da BNCC: restringir acesso não é sobre desconfiar do usuário, é sobre proteger a integridade do sistema para todos que o compartilham.

8. Processos: programas em execução

Um processo é uma instância em execução de um programa — com seu próprio espaço de memória e seu próprio identificador (PID). É importante notar que o mesmo programa pode gerar vários processos: abrir duas janelas do navegador, por exemplo, normalmente cria dois processos distintos, cada um consumindo memória e CPU separadamente.

Acessível com Ctrl+Shift+Esc, mostra de forma gráfica quais programas estão consumindo mais CPU e memória, com um botão para encerrar processos travados.

No terminal, o comando top (ou sua versão mais amigável, htop) mostra em tempo real uma tabela com todos os processos, incluindo PID, usuário responsável, percentual de CPU e memória usados. É possível ordenar por consumo de memória (M) ou de CPU (P), e encerrar um processo problemático pressionando k.

Como a CPU tem um número limitado de núcleos mas o sistema roda dezenas ou centenas de processos "ao mesmo tempo", é o escalonador do kernel (seção 2 deste capítulo) que alterna rapidamente entre eles — dezenas de vezes por segundo — criando a ilusão de simultaneidade. Quando um único processo consome 100% da CPU, é exatamente essa alternância que fica prejudicada, e todos os demais programas parecem travar.

9. Diagnosticando uma máquina lenta

Com os conceitos anteriores, é possível investigar sistematicamente por que um computador está lento — em vez de simplesmente concluir "preciso trocar de máquina".

Pergunta Comando (Linux) O que verificar
Quanto espaço em disco resta? df -h Se algum disco está próximo de 100% cheio
Qual pasta ocupa mais espaço? ncdu /home Pastas inesperadamente grandes (downloads, cache)
Quanta RAM está em uso? free -h Se a RAM disponível está muito baixa
A máquina está usando swap pesadamente? free -h (linha "Swap") Swap acima de 50% do total geralmente indica lentidão severa
Qual processo consome mais CPU/RAM? top ou htop Um processo específico monopolizando recursos

Esse roteiro — verificar disco, depois memória, depois processos — é, na prática, um pequeno algoritmo de diagnóstico, e um excelente exemplo de pensamento computacional aplicado a um problema do cotidiano: decompor "a máquina está lenta" (um problema vago) em perguntas específicas e verificáveis.

10. Ferramentas úteis e gratuitas

Um pequeno conjunto de utilitários gratuitos, presentes na maioria das distribuições Linux (e adaptáveis ao Windows via WSL — o Subsistema Windows para Linux), cobre a maioria das necessidades de manutenção de um laboratório escolar:

Ferramenta Para que serve
ncdu / Baobab Visualizar graficamente qual pasta consome mais espaço em disco
rsync Fazer backup incremental (copia apenas o que mudou desde o último backup)
tar Compactar e descompactar arquivos e pastas
glances Painel único mostrando CPU, memória, disco e rede em tempo real
testdisk / photorec Recuperar partições ou arquivos apagados acidentalmente
bleachbit Limpar arquivos temporários e cache acumulado

Levando essas ferramentas para qualquer escola

Três caminhos práticos, sem depender de permissão de administrador na máquina da escola:

  1. Pendrive bootável com Linux Mint ou Ubuntu — inicializa o computador a partir do USB sem instalar nada nem alterar o sistema existente.
  2. Máquina virtual (VirtualBox) — roda o Linux "dentro" do Windows já instalado, também sem alterar nada.
  3. WSL (Windows Subsystem for Linux) — para quem já tem Windows 10/11 com permissão de instalação, disponibiliza um terminal Linux completo dentro do próprio Windows.

📝 Atividades

  1. Explorador de SO (todos os níveis, desplugada). Distribua um diagrama em branco com CPU, RAM, disco e dispositivos. Narre uma ação simples ("você clica no ícone do navegador") e peça que os alunos desenhem o caminho que a informação percorre até o programa abrir na tela.
  2. Aventura no terminal (Anos Finais, plugada). Crie uma pequena "caça ao tesouro" usando apenas comandos básicos (pwd, ls, cd, cat, find) para que os alunos descubram um arquivo "escondido" na estrutura de pastas.
  3. Debate: código aberto x código fechado (Ensino Médio). Divida a turma em dois grupos para defender, respectivamente, as vantagens do software proprietário (suporte oficial, polimento de interface) e do software livre (autonomia, transparência, custo). Encerre destacando que a "resposta certa" depende do contexto — não há vencedor absoluto.
  4. Projeto de migração (Ensino Médio). Em grupos, os alunos planejam uma migração fictícia de uma escola de Windows para Linux, considerando custo ao longo de 5 anos, alternativas de software necessárias, treinamento de professores e cronograma — um exercício que conecta tecnologia, economia e planejamento educacional.
  5. Navegação básica (Anos Finais, plugada). Usando um Linux ao vivo (pendrive ou máquina virtual), pratique pwd, ls, cd e tree para explorar a estrutura de pastas e comparar com a organização de pastas do Windows que os alunos já conhecem.
  6. Investigando permissões (Ensino Médio, plugada). Com ls -l, examine as permissões de diferentes arquivos do sistema e discuta por que alguns são somente leitura mesmo para o proprietário, e por que arquivos de configuração do sistema geralmente não podem ser alterados por um usuário comum.
  7. Observando processos ao vivo (Ensino Médio, plugada). Abra vários programas simultaneamente e observe, em tempo real com top/htop (Linux) ou o Gerenciador de Tarefas (Windows), como o consumo de CPU e memória muda. Encerre um processo de forma controlada e observe o efeito.
  8. Auditoria de máquina (Ensino Médio, projeto). Em uma máquina real (ou virtual) que pareça lenta, siga o roteiro de diagnóstico da seção 9 — espaço em disco, memória, swap, processos — e escreva um pequeno relatório com a causa provável da lentidão e uma recomendação de solução.

📚 Para saber mais

  • STALLMAN, R. Software livre, sociedade livre. Fundação Software Livre América Latina — o texto fundador da filosofia por trás do movimento de software livre.
  • Portal do Software Público Brasileiro e Portal do Professor (MEC) — recursos educacionais abertos mantidos pelo governo federal.
  • Sociedade Brasileira de Computação (SBC) — Diretrizes para Ensino de Computação na Educação Básica (2017).
  • Filesystem Hierarchy Standard — a especificação que define a organização padrão de pastas em sistemas Linux: refspecs.linuxfoundation.org
  • Documentação do GNU Coreutils — referência completa dos comandos de terminal (ls, cd, chmod, entre outros).
  • Site oficial do Linux Mint — a distribuição mais recomendada para quem está migrando pela primeira vez de Windows para Linux: linuxmint.com

Com este capítulo, encerra-se o percurso conceitual proposto por este livro: da história do computador como máquina física (Capítulo 1) até a compreensão de como o sistema operacional gerencia, na teoria e na prática, os recursos dessa máquina.