🖧 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:
- 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.
- 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.
- 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)
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:
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:
- Pendrive bootável com Linux Mint ou Ubuntu — inicializa o computador a partir do USB sem instalar nada nem alterar o sistema existente.
- Máquina virtual (VirtualBox) — roda o Linux "dentro" do Windows já instalado, também sem alterar nada.
- 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¶
- 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.
- 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. - 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.
- 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.
- Navegação básica (Anos Finais, plugada). Usando um Linux ao vivo (pendrive ou máquina virtual), pratique
pwd,ls,cdetreepara explorar a estrutura de pastas e comparar com a organização de pastas do Windows que os alunos já conhecem. - 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. - 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. - 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.