Entenda o que são sistemas operacionais, suas funções principais, as partes que compõem um sistema operacional e exemplos populares como Windows, macOS e Linux.

Descrição da imagem: Fundo de uma placa de circuito eletrônico com hexágonos contendo os logos dos sistemas operacionais Windows, MacOS, Linux, Chrome, Android e iOS.

Apresentação


Existem duas formas fáceis de entender o que é um sistema operacional. A primeira é pensar nele como um tipo de ponte entre a pessoa que usa o computador e o próprio computador, ajudando nessa comunicação.

A segunda forma é imaginar o sistema operacional como um organizador, que decide quais programas vão ser executados, em que hora, e quais partes do computador – como a memória e o processador – esses programas vão usar.

O sistema operacional é como o comandante do computador, que faz tudo funcionar direitinho. Ele organiza os programas para que cada um rode na hora certa e usa as partes do computador, como a memória e o processador, de um jeito que tudo fique bem dividido e ninguém atrapalhe ninguém.

Um pouco de história


No início, antes de existirem sistemas operacionais, era preciso fazer quase tudo no computador de forma manual. Isso começou a mudar nos anos 1960, quando pessoas que trabalhavam na AT&T Bell Labs criaram um programa que facilitava o uso dos computadores. Em 1969, lançaram o UNIX, que foi um dos primeiros sistemas operacionais feitos para os computadores da época.

Descrição da imagem: Tela exibindo o processo de inicialização do sistema UNIX 3 ponto 0 ponto 1 e comandos de login.

Depois disso, vieram vários outros sistemas operacionais, como o BSD em 1977, o Apple DOS em 1978, o Apple SOS em 1980 e o MS-DOS em 1981.

Descrição da imagem: Imagem com três telas com terminais mostrando os sistemas operacionais Apple DOS, BSD e MS-DOS.

O MS-DOS, por exemplo, era o sistema usado nos computadores da IBM e já deixava guardar arquivos em discos rígidos de 10 MB, além de organizar esses arquivos em pastas, como uma árvore com vários galhos. Com o passar do tempo, ele ganhou funções para ligar vários computadores em rede e um sistema de arquivos chamado FAT16, que acabou servindo de base para o Windows.

Descrição da imagem: Tela de inicialização do MS-DOS 6 em um terminal preto. O comando dir exibe a lista de arquivos e diretórios do drive C.

Outro sistema famoso foi o MINIX, criado por Andrew S. Tanenbaum. Ele serviu de inspiração para Linus Torvalds criar o Linux em 1991. O Linux é diferente porque qualquer pessoa pode acessar o seu código e mudar o que quiser, de graça. Por isso, existem várias versões do Linux, feitas para usos diferentes, e muita gente usa essas versões sem pagar nada.

Descrição da imagem: Tela de terminal em um fundo preto, mostrando o processo de inicialização do sistema operacional Minix Release 3 e um terminal para login.

O Windows surgiu a partir do MS-DOS e ficou muito conhecido entre as pessoas comuns em 1995, quando lançaram o Windows 95. Foi aí que apareceram o Menu Iniciar e a barra de tarefas, coisas que ainda usamos hoje.

Descrição da imagem: Área de trabalho do Windows 95, exibindo janelas do menu Iniciar, Meu Computador, WordPad, Paint e Calculadora.

Em 2001 veio o Windows XP, que fez muito sucesso e ajudou a Microsoft a ficar ainda mais famosa entre quem usava computador em casa.

Descrição da imagem: Tela de inicialização do Windows XP em um fundo preto, mostrando o logo do sistema operacional e uma barra de carregamento.
Descrição da imagem: Área de trabalho do Windows XP, exibindo o menu Iniciar aberto e a janela Meu Computador com a lista de unidades de disco.

Ainda em 2001, além do Windows XP, a Apple lançou o Mac OS X 10.0, um sistema que misturava partes do Mac antigo com ideias do Unix. Isso fez com que o macOS (nome que ele ganhou depois) ficasse mais estável, conseguisse rodar (executar) vários programas ao mesmo tempo sem travar e ainda tivesse uma tela mais bonita e moderna.

Descrição da imagem: Área de trabalho do Mac OS X 10.0 Cheetah, mostrando janelas abertas do Finder, Preferências do Sistema e o menu da barra de tarefas.

Depois do Windows XP, a Microsoft lançou outros sistemas. O Windows Vista, de 2007, trouxe mudanças na segurança e nos programas que fazem o computador conversar com impressoras e outros aparelhos, mas muita gente achou ele pesado e difícil de usar.

Descrição da imagem: Área de trabalho do Windows Vista com o menu Iniciar e a Central de Boas-Vindas abertos. As janelas têm um design de vidro transparente.

Em 2009 veio o Windows 7, que melhorou o que deu errado antes e ficou muito popular.

Descrição da imagem: Área de trabalho do Windows 7 com o menu Iniciar aberto e a barra de tarefas visível. O papel de parede é o logo do sistema operacional.

Mais tarde, apareceram o Windows 8 e 8.1 (2012–2013), que mudaram bastante a tela do computador para ficar melhor em aparelhos com toque, como tablets, mas nem todo mundo gostou.

Descrição da imagem: Tela inicial do sistema operacional Windows 8, com a interface em formato de blocos coloridos para acesso a aplicativos e funcionalidades.

O Windows 10, lançado em 2015, tentou juntar o melhor dos outros e recebeu atualizações ao longo do tempo.

Descrição da imagem: Um laptop moderno com a área de trabalho do Windows 10, exibindo o menu Iniciar e o papel de parede padrão do sistema operacional.

Por fim, o Windows 11 chegou em 2021, com um visual novo, ficou mais seguro e funciona melhor em computadores mais modernos.

Descrição da imagem: Área de trabalho do Windows 11 com o menu Iniciar e a barra de tarefas centralizados. O papel de parede abstrato tem tons de azul claro.

Nesse meio tempo, o Linux virou uma base importante para servidores, supercomputadores e vários aparelhos diferentes. Algumas versões, como o Debian (de 1993), o Red Hat Enterprise Linux (desde 2002) e o Ubuntu (de 2004), tornaram tudo mais fácil para instalar, atualizar e arrumar o sistema.

Descrição da imagem: Interface gráfica do Red Hat Hybrid Cloud Console em modo escuro, mostrando um resumo do estado de saúde e uso do sistema.

Para quem usa Linux no dia a dia, ele se tornou uma opção prática, com telas e menus fáceis de mexer (como o GNOME e o KDE), jeitos simples de baixar e instalar programas (como o APT, YUM/DNF, pacman) e sistemas modernos que ajudam o computador a ligar.

Descrição da imagem: Laptop mostrando um sistema operacional Linux com interface gráfica GNOME. A área de trabalho possui várias janelas de aplicativos abertas.
Sistema operacional Linux com interface gráfica GNOME.
Descrição da imagem: Desktop de um sistema operacional Linux com interface gráfica KDE Plasma com o menu de aplicativos aberto, mostrando uma lista de categorias e ícones favoritos em um plano de fundo artístico.
Sistema operacional Linux com interface gráfica KDE Plasma.
Descrição da imagem: Comparação visual entre os gerenciadores de pacotes APT, DNF e Pacman. Cada um é exibido em um terminal com seus respectivos comandos.
Comparação entre gerenciadores de pacotes APT, DNF e Pacman.

Lá por 2007 e 2008, duas novidades mudaram tudo: o iOS, que veio com o iPhone, e o Android. O iOS é o sistema fechado que só funciona nos aparelhos da Apple, enquanto o Android, que é baseado no Linux, pode ser usado por várias marcas e é mais aberto.

Descrição da imagem: Duas mãos seguram lado a lado um smartphone Samsung e um iPhone, mostrando as diferenças entre os sistemas operacionais Android e iOS.
Comparação entre Android e iOS.

Esses sistemas trouxeram o computador para o nosso bolso, ou seja, deixaram os celulares super inteligentes.

Depois apareceram também o iPadOS (para os iPads, separado dos iPhones) e o ChromeOS (que funciona em computadores bem leves e foca em usar a internet).

Descrição da imagem: Desktop do ChromeOS com o menu de aplicativos centralizado. O fundo é um papel de parede abstrato em tons de azul.
Área de trabalho do ChromeOS.

Atualmente, quase todo mundo tem mais de um sistema operacional por perto: no celular, no computador, na TV, no roteador, no relógio e até na máquina de lavar.

A mágica que o sistema operacional faz


O sistema operacional é quem manda em tudo no computador: ele abre e fecha programas, cuida da memória, faz o computador conversar com outros aparelhos, deixa tudo funcionar junto e ainda protege as informações para ninguém mexer sem permissão.

O sistema operacional é um tipo de programa que fica entre as partes físicas do computador (como teclado, mouse e memória) e os aplicativos que usamos no dia a dia. Ele ajuda tudo a funcionar em conjunto e faz com que o computador responda aos nossos comandos.

Esse sistema pode ser bem complexo, porque cuida tanto das partes mais técnicas (como controlar os dispositivos e a memória) quanto das mais visuais e práticas, como a aparência da tela e os programas que ajudam a usar o computador.

Descrição da imagem: Diagrama ilustrando o funcionamento do computador com três camadas. A primeira são os aplicativos e tem os ítens editor de textos, reprodutor de mídia e editor gráfico. A segunda camada é o sistema operacional que está no centro. A terceira é o hardware que tem os ítens disco rígido, memória, portas USB e rede. A imagem mostra que o sistema operacional atua como um coordenador entre os aplicativos e o hardware.
Relação entre o sistema operacional, o hardware do computador e os aplicativos.

O sistema operacional faz parecer que o computador está fazendo várias coisas ao mesmo tempo, como abrir programas, reproduzir músicas e baixar arquivos. Mas na prática, ele divide essas tarefas em partes chamadas de “processos”. Cada processo usa o processador por um tempinho e, como essa troca acontece bem rápido, tudo parece estar funcionando ao mesmo tempo.

Além disso, o sistema operacional “traduz” as partes físicas do computador, como a memória e os dispositivos, para que os programas possam usá-las direitinho.

Os principais sistemas operacionais que usamos no dia-dia são:

  • Windows
  • macOS
  • Linux
  • iOS
  • Android
  • ChromeOS

Essas são as plataformas para os diferentes dispositivos que temos, elas fazem a comunicação entre nós, o computador e os programas aplicativos como os navegadores de internet.

As interfaces de uso


Para que possamos usar o computador, é preciso uma forma de comunicação entre ele e a gente — isso é o que chamamos de “interface”. Existem alguns tipos principais que são:

A interface de terminal, também chamada de linha de comando, é bem técnica. Nela, usamos apenas o teclado para digitar comandos, como se estivéssemos conversando com o computador por mensagens.

Descrição da imagem: Imagem de um terminal Linux com um fundo preto e texto verde. Vários comandos são executados, incluindo, ping fa.wikipedia.org, para testar a conexão de rede, pwd, que mostra o diretório atual como root, cd var, para mudar de diretório, ls -la, que lista o conteúdo da pasta var com detalhes, e yum search wiki, para procurar pacotes relacionados a wiki. A parte final da imagem mostra o progresso do gerenciador de pacotes enquanto ele baixa dados de repositórios.
Interface de terminal mostrando o uso do comando ping e a busca por pacotes de software.

A interface textual também utiliza texto, mas é um pouco mais amigável: possui menus, janelas e botões. Ela era comum em computadores mais antigos, especialmente nos anos 80 e começo dos 90, mas hoje em dia sua utilização é bem rara.

Descrição da imagem: Tela de configuração do kernel do Linux, versão 2 ponto 6 ponto 32, com uma interface de texto azul. Ela exibe o menu principal com opções como, General setup, Processor type and features e Device Drivers. O menu possui atalhos de teclado as opções são Select, Exit e Help. Elas são mostradas na parte inferior.
Interface textual de configuração do kernel do Linux com opções de menu para General setup e outras configurações.

A interface gráfica, ou GUI (do inglês Graphical User Interface), é a mais comum atualmente. Ela apresenta imagens, ícones, botões e janelas, permitindo que utilizemos o mouse, teclado ou até mesmo o toque na tela para controlar tudo. Essa interface é muito mais fácil para quem não deseja digitar comandos.

Descrição da imagem: Área de trabalho do KDE Plasma. Duas janelas estão abertas, uma é o gerenciador de arquivos, mostrando pastas como, Templates, Music e Downloads. A outra janela, menor, é a caixa de diálogo, About KDE, que exibe um texto sobre a comunidade KDE e seu mascote, um dragão verde. A barra de tarefas na parte inferior da tela mostra ícones de aplicativos e a data.
Área de trabalho com um sistema operacional Linux KDE Plasma, com a janela de informações e o gerenciador de arquivos abertos.

As partes do sistema operacional


Um sistema operacional tem uma parte que a gente vê e usa no dia a dia, e outra que fica escondida trabalhando por trás para manter o computador funcionando. A maioria das pessoas quando pensa nas diferenças entre sistemas, como Windows, MacOS e Linux, pensa na tela cheia de ícones, janelas e a facilidade de usar seja com ou sem recursos de acessibilidade.

Mas, além dessa parte, os sistemas operacionais também têm várias funções nos bastidores que fazem tudo acontecer.

O núcleo do sistema: kernel


O kernel é como o “coração” (parte central) do sistema operacional, ele cuida de tudo dentro do computador: faz o processador funcionar, controla a memória, e garante que aparelhos como teclado, mouse e impressora estejam ligados e funcionando. Além disso, toma conta dos lugares onde os arquivos ficam guardados.

Descrição da imagem: Diagrama que representa o Kernel como o núcleo de um sistema operacional. O Kernel está conectado a um processador, CPU, memória RAM, dispositivos de entrada e saída, teclado e mouse e um ícone circular que pode representar armazenamento ou outros periféricos. Uma seta apontando para o Kernel está rotulada como Chamada de sistema, indicando que ele gerencia as interações entre os componentes do hardware.
Kernel, o núcleo do sistema operacional, conectando processador, memória e dispositivos de entrada/saída.

Por exemplo: quando você vai assistir a um vídeo, o programa que está aberto pede ao sistema do computador algo como “preciso desse vídeo aqui”. Esse pedido é chamado de chamada de sistema (ou syscall). O sistema então procura o vídeo no computador, confere se você pode mesmo ver o arquivo, e faz uma ligação entre o programa e o vídeo, tudo isso sem que você perceba.

Descrição da imagem: Fluxograma que ilustra a interação entre um programa e o sistema operacional para acessar um vídeo. O fluxo começa com um Programa Aberto fazendo uma Chamada de Sistema para o Sistema Operacional. O sistema operacional realiza uma Busca e Validação. Se o Arquivo é Encontrado e Permissão é Concedida, ocorre uma Transmissão de Vídeo que leva à Reprodução no Player. Caso contrário, se o Arquivo Não é Encontrado ou Permissão é Negada, o fluxo leva a um Erro de Acesso.
Fluxo de acesso a um vídeo por meio de uma chamada de sistema.

Gerenciamento de processos: controlando os programas abertos


Toda vez que você abre um programa no computador, como um navegador, uma planilha ou um jogo, o sistema cria um processo para esse programa. Esse processo é como uma “caixinha” com tudo que o programa precisa: espaço na memória, tempo do processador e maneiras de conversar com outros programas.

Descrição da imagem: Ilustração de um monitor de computador exibindo um diagrama sobre o conceito de Processo. O diagrama mostra três recursos principais que um processo utiliza, memória, representada por um chip de RAM, tempo do processador, representado por um chip de CPU e outros programas, representado por um ícone de setas de comunicação. A palavra Processo é o título central na parte superior da tela.
Conceito de Processo, mostrando recursos como memória, tempo do processador e comunicação com outros programas.

O sistema operacional escolhe, de forma organizada, qual programa vai usar o processador em cada momento. Por exemplo, existe um jeito chamado “Round Robin” (ou “Rotação Circular”), em que cada programa tem sua vez de rodar (ser executado) por um tempinho, um depois do outro.

Descrição da imagem: Diagrama sobre a alocação de tempo do processador. A parte superior mostra um processador no centro, e os blocos de aplicativos editor, navegador e jogo são executados em um ciclo, ilustrando como o processador alterna entre eles. A parte inferior da imagem repete o conceito com a frase Rotação Circular, mostrando a troca de um único bloco, que representa o processador, entre os mesmos três aplicativos editor, navegador e jogo.
Alocação de tempo do processador usando o método de Rotação Circular (Round Robin).

Tem também outro método, chamado “Fila de Prioridades”, onde programas que precisam de respostas rápidas, como um editor de texto, acabam passando na frente e rodando antes dos outros.

Descrição da imagem: Diagrama que ilustra o conceito de Fila de Prioridades na alocação de tempo do processador. A parte superior mostra o processador no centro. Três blocos de aplicativos, editor, navegador e jogo, estão em uma fila, e uma seta indica que eles serão processados pelo processador. A parte inferior da imagem reforça o conceito, mostrando um bloco editor com prioridade sobre uma fila de outros aplicativos, incluindo navegador e jogo. O diagrama enfatiza que o processador atende aos aplicativos com base em uma fila priorizada.
Alocação de tempo do processador usando o método de Fila de Prioridades.

Além disso, é importante garantir que um processo não atrapalhe o outro — isso se chama isolamento. E quando eles precisam trocar informações, o sistema usa formas de comunicação entre processos (IPC - do inglês Inter-Process Communication), como filas, tubos ou sinais para que consigam conversar.

Descrição da imagem: Diagrama que ilustra o conceito de Isolamento e Comunicação entre Processos IPC. A parte superior mostra dois blocos, Processo A e Processo B, separados por uma linha pontilhada, indicando isolamento. A parte inferior da imagem descreve a Comunicação entre Processos, IPC, mostrando uma seta que conecta um processo ao Processo B, com ícones e rótulos para filas, tubos e sinais como métodos para essa comunicação.
Isolamento e Comunicação entre Processos (IPC).

Gerenciamento de memória: onde os dados vivem temporariamente


A memória RAM é como uma mesa onde o computador coloca tudo o que está usando no momento. O sistema operacional é quem escolhe como dividir esse espaço entre todos os programas abertos. Para conseguir fazer isso, ele usa alguns truques, como:

  • Segmentação: Separa a memória por partes do programa, como se fossem gavetas diferentes para guardar dados, instruções ou tarefas;
  • Paginação: Divide a memória em pedaços do mesmo tamanho, chamados de páginas, para facilitar a organização;
  • Swap: quando falta espaço na RAM, o computador guarda parte das informações no disco rígido, liberando espaço para o que está sendo mais usado.
Descrição da imagem: Diagrama que ilustra conceitos de gerenciamento de memória. A parte superior mostra a PAGINAÇÃO como uma grade de pequenos quadrados. Abaixo, a SEGMENTAÇÃO é ilustrada como blocos horizontais de tamanhos diferentes. Na parte inferior, o SWAP é representado por uma seta bidirecional entre um chip de memória RAM e um ícone de disco, simbolizando a troca de dados entre a memória e o disco.
Gerenciamento de memória com Paginação, Segmentação e Swap.

Por exemplo: se você abre muitos programas ao mesmo tempo, o computador pode guardar os dados menos usados em um “arquivo especial” no disco, chamado swap, deixando a memória RAM livre para o que você está usando agora.

Descrição da imagem: Diagrama que ilustra o conceito de swap de memória. Três blocos de PROGRAMA são mostrados, e uma seta indica que eles ocupam espaço na memória RAM. Um segmento da RAM é representado por um bloco listrado, e uma seta aponta para baixo, em direção a um ícone de disco rotulado como ARQUIVO SWAP, indicando que o conteúdo desse segmento de memória foi movido para o disco.
Swap de memória: movendo dados da RAM para o disco quando necessário.

Entrada e saída: como o computador conversa com o mundo


Tudo o que você faz no computador, como digitar ou ver algo na tela, passa por um sistema chamado de entrada e saída, ou I/O. Nesse processo, existem os chamados drivers, que são programas pequenos que ajudam o computador a se comunicar com cada peça diferente de hardware.

Por exemplo, quando você aperta uma tecla, o teclado envia um sinal ao computador. O driver do teclado entende esse sinal e avisa ao sistema qual tecla foi apertada. Isso acontece por meio de interrupções, que são como avisos que pedem ao processador para dar atenção a algo importante naquele momento.

Descrição da imagem: Fluxograma detalhado de uma interrupção de hardware. Uma ilustração de um teclado mostra uma pessoa digitando. Uma linha aponta de PRESSIONAR TECLA para um diagrama de ondas, que representa um sinal de interrupção. O sinal leva ao DRIVER, que se comunica com o TECLADO e o SISTEMA DE ENTRADA E SAÍDA. Uma seta do teclado aponta para um chip de processador rotulado como INTERRUPÇÃO, que então se conecta ao SISTEMA DE ENTRADA E SAÍDA. A partir daí, o fluxo de dados vai para um monitor que exibe a letra A, representando o resultado final da interrupção.
Interrupção de hardware, desde a digitação até a exibição da letra na tela.

Explorador de arquivos: a parte visual do sistema de arquivos


Gerenciadores de arquivos, também chamados de “exploradores”, são programas que ajudam a pessoa a ver, procurar, copiar, mover, renomear e compartilhar arquivos e pastas do computador. Eles têm uma tela fácil de usar, onde é possível ver os arquivos em lista ou em ícones, buscar pelo nome ou conteúdo, e acessar pen drives, discos externos e pastas que estão em outros computadores da rede.

Alguns ainda mostram arquivos da nuvem, como do Google Drive ou OneDrive, e avisam quando um arquivo está sincronizado. Em certos casos, dá para abrir o terminal a partir do gerenciador, o que facilita a vida de quem programa ou faz tarefas mais técnicas.

Cada sistema operacional tem seu próprio explorador de arquivos, as vezes existem mais de um explorador disponível para o mesmo sistema, como no caso do Linux.

Aqui estão alguns exemplos:

  • Windows:
    • Explorador de Arquivos (Explorer)
  • macOS:
    • Finder
  • Linux:
    • Nautilus (GNOME Files)
    • Dolphin (KDE)
    • Thunar (XFCE)
    • Caja (MATE)
    • Nemo (Cinnamon)
  • Android:
    • Google Files
    • Gerenciador de Arquivos (varia por fabricante)
  • iOS:
    • Arquivos (Files)

Vamos conhecer um pouco mais sobre alguns desses exploradores de arquivos a seguir.

macOS — Finder


O Finder é o explorador do Mac usado para mexer nos arquivos. Nele, dá para mudar a forma como as pastas e documentos aparecem na tela (em Ícones, Lista, Colunas ou Galeria), e você pode deixar cada pasta do jeito que preferir, mudando o tamanho dos ícones, as colunas e a ordem dos arquivos. Usando o Quick Look, é possível ver rapidinho o que tem em um arquivo só apertando a tecla Espaço, e até fazer pequenas marcações ou anotações sem abrir o programa próprio.

Descrição da imagem: Captura de tela da interface de desktop do macOS. A tela exibe o gerenciador de arquivos Finder aberto, mostrando a pasta Documentos, com subpastas como Music, PDFs, Videos e Work. Na barra lateral esquerda do Finder, há atalhos para favoritos e locais, como iCloud Drive e tags coloridas. Na área de trabalho, um ícone de pasta está visível, rotulado como VMware Shared Folders. A barra de menu superior e o dock na parte inferior da tela mostram vários ícones de aplicativos.
Interface do Finder no macOS, mostrando a pasta Documentos e suas subpastas.

No Finder, também dá para colocar tags (etiquetas coloridas) nos arquivos, o que facilita achar tudo depois, inclusive nas coisas que estão guardadas na nuvem pelo iCloud Drive. Isso ajuda a manter os arquivos sincronizados em todos os aparelhos Apple.

Existem atalhos fáceis, como:

  • Command + N para abrir uma nova janela
  • Shift + Command + N para criar uma nova pasta
  • Command + I para ver as informações de um arquivo.

Também é possível abrir o Terminal já na pasta em que você está, usando um menu chamado Serviços do Finder (“New Terminal at Folder/New Terminal Tab at Folder”), o que é ótimo para quem trabalha com programação ou precisa usar comandos.

Windows — Explorador de Arquivos (Explorer)


O Explorador de Arquivos é o programa que você usa para ver e organizar seus arquivos no Windows (basta apertar Windows + E).

No Windows 11, ele ficou ainda melhor: agora dá para abrir várias abas (como no navegador), a aparência está mais moderna e, nas versões mais novas, já dá para compactar e descompactar arquivos 7z e TAR sem precisar de programas extras. Houve também melhorias para deixar tudo mais rápido e estável, principalmente nas atualizações de 2025.

Descrição da imagem: Captura de tela do Windows 10, com o Explorador de Arquivos aberto no tema escuro. A janela mostra a seção Acesso rápido, com pastas favoritas como Área de Trabalho, Downloads, Documentos, Imagens, Músicas e Vídeos. Há também uma lista de Arquivos recentes. Na área de trabalho, os ícones de Lixeira e Documentos são visíveis. A barra de tarefas inferior exibe ícones de aplicativos e o relógio.
Explorador de Arquivos do Windows (Explorer).

Se quiser ver uma prévia de fotos, documentos e outros arquivos sem abrir nada, ative o Painel de Pré-visualização em Exibir → Painel de Pré-visualização. Ele mostra diretamente no Explorador como o arquivo é por dentro.

O OneDrive aparece junto no Explorador, mostrando ícones e uma coluna de Status para indicar se o arquivo está só na nuvem ou já baixou para o computador. Também dá para buscar arquivos usando informações extras, como Tags em documentos ou fotos, facilitando na hora de encontrar o que precisa.

GNOME — Nautilus (Files)


O Nautilus, agora chamado simplesmente de Files (Arquivos), é o programa que você usa para ver e organizar suas pastas no ambiente GNOME. Com ele, dá para procurar, abrir, mover e apagar arquivos, além de mexer com pendrives e acessar arquivos que estão em outros computadores da rede.

Descrição da imagem: Captura de tela do gerenciador de arquivos GNOME Nautilus. A janela, com tema escuro, exibe o conteúdo do diretório Home, que inclui ícones de pastas como Desktop, Documents, Downloads, Music, Pictures, Public, Templates e Videos. O painel lateral esquerdo lista locais favoritos como Home, Documents, Downloads e Pictures.
Gerenciador de arquivos GNOME Nautilus (Files) com tema escuro.

Você pode escolher como prefere ver seus arquivos: em lista, ícones ou modo árvore. Também dá para ajustar coisas como a ordem em que as pastas aparecem e quais informações vão ser mostradas.

Na parte de propriedades do arquivo, é possível ver e mudar quem pode acessar ou editar cada documento (dono, grupo, outras pessoas) e decidir o que acontece ao clicar em arquivos de texto que podem ser executados: abrir para ler ou rodar como programa. Isso facilita para quem está aprendendo ou mexendo com programação.

Cinnamon — Nemo


O Nemo é o gerenciador de arquivos usado no Cinnamon, que faz parte do sistema operacional Linux Mint. Ele foi criado a partir do Nautilus e é cuidado pela equipe do Mint. O Nemo traz funções que ajudam quem quer mexer no computador com mais facilidade, como dividir a tela em dois painéis (apertando F3), abrir várias abas ao mesmo tempo, acessar outros computadores ou servidores pela rede, e até conectar a serviços como SSH e FTP, se esses pacotes estiverem instalados.

Descrição da imagem: Captura de tela do desktop Linux Mint. O gerenciador de arquivos está aberto, mostrando o conteúdo do diretório Home com ícones para as pastas Desktop, Documents, Downloads, Music, Pictures, Public, Templates e Videos. No painel lateral esquerdo, há uma lista de locais, incluindo My Computer, dispositivos e a rede. A barra de tarefas inferior exibe o menu, ícones de aplicativos e o relógio.
Gerenciador de arquivos Nemo no Linux Mint.

Além do painel extra com o F3, dá para usar atalhos no teclado para mudar de um painel para outro e instalar um plugin que coloca um terminal dentro do programa. A comunidade (pessoas que usam o Nemo e publicam dicas online) também explica como personalizar esses atalhos para facilitar ainda mais o uso.

MATE — Caja


O Caja é o explorador que faz o gerenciamento de arquivos no MATE, que é um tipo de área de trabalho do computador usado em sistemas operacionais Linux, como o Ubuntu MATE e o Linux Mint.

Descrição da imagem: Captura de tela do desktop Ubuntu MATE. Duas janelas do gerenciador de arquivos Caja estão abertas: uma exibe o diretório Home, com ícones para as pastas Desktop, Documents, Downloads e Music. A outra janela, na frente, mostra o conteúdo da pasta Pictures. O painel lateral de ambas as janelas lista locais favoritos e dispositivos. A área de trabalho exibe ícones de atalho para Home e Computer. A barra de tarefas inferior mostra o menu e aplicativos abertos, incluindo o Control Center.
Gerenciador de arquivos Caja no Ubuntu MATE.

Ele também mostra os ícones da área de trabalho, lê pen drives e CDs, e permite acessar arquivos em outros computadores pela internet (com SSH e FTP). Tudo isso de um jeito leve, fácil de entender e com opções de visualização clássicas. O Caja é bem parecido com o Nautilus, mas tem algumas diferenças que o tornam mais simples e rápido.

Recaptulando (revisão)


Os gerenciadores de arquivos funcionam como o “centro de controle” do dia a dia no computador, ajudando muito além de só abrir pastas. O Finder é legal porque mostra arquivos rapidamente, tem etiquetas para organizar e faz tudo funcionar com o iCloud. O Explorer, do Windows, é bem integrado com o OneDrive e agora ganhou algumas novidades, como abas e suporte a arquivos compactados.

No Linux, existem opções como Nautilus, Nemo e Caja, cada um com seu jeito, mas todos conseguem acessar vários tipos de arquivos diferentes. Para quem trabalha com programação ou usa muito o teclado, saber usar os atalhos, etiquetas, pré-visualizações e acesso a arquivos pela rede ajuda muito, deixando tudo mais rápido, fácil e seguro.

Observação: Muitas coisas ainda estão um pouco confusas, por exemplo, como assim existem vários exploradores de arquivos para Linux? O que são GNOME, KDE, Cinnamon e MATE? E Ubuntu, Linux Mint? Esses pontos serão explicados mais para frente no próximo artigo.

Siga na leitura para entender mais sobre esses assuntos que ainda precisam de mais detalhes, pois só será possível ter uma perspectiva (visão geral) completa do sistema operacional quando todos esses pontos estiverem explicados ao final desse e do próximo artigo. Aqui o foco é entender como sistemas operacionais funcionam de forma geral (ou seja, como eles gerenciam recursos, interagem com o hardware e oferecem uma interface para quem usa o computador).

Sistema de arquivos: onde os dados ficam guardados


Um sistema de arquivos (FS) é o que organiza como os bytes viram arquivos e pastas no computador. Ele define nomes, as pastas onde ficam guardados, informações como permissões, datas e outros detalhes.

Também cuida para que tudo continue funcionando bem, mesmo se faltar luz, e pode trazer recursos como proteção dos dados, limites de espaço, cópias de segurança e integração com serviços de nuvem. Tudo isso influencia se o computador guarda seus arquivos de forma segura, rápida e fácil de acessar.

Descrição da imagem: Diagrama que ilustra a estrutura de um sistema de arquivos. No topo, a etiqueta FILE SYSTEM se conecta a ícones de um arquivo e uma pasta. Esses ícones, por sua vez, se conectam a uma camada intermediária que representa um banco de arquivos, com divisões para Proteção e Backup. Na parte inferior, tudo se conecta a um ícone de disco rígido, rotulado como HDD / SSD, representando o armazenamento físico dos dados.
Estrutura de um sistema de arquivos, mostrando como arquivos e pastas se conectam ao armazenamento físico.

Esses sistemas funcionam como um guia que indica onde cada parte dos arquivos está gravada no HD ou SSD. Assim, dá para colocar nomes nos arquivos, como “tarefa.docx”, e achar tudo rapidinho, sem precisar saber onde, exatamente, cada pedacinho do arquivo ficou salvo dentro da memória física do computador.

MacOS


O APFS (Apple File System) é o sistema de arquivos que vem nos computadores Mac desde o macOS 10.13. Ele foi feito especialmente para funcionar bem com SSDs e outros tipos de memória rápida. Com ele, é possível usar o mesmo espaço no computador para vários volumes de arquivos, fazer cópias rápidas de pastas e arquivos sem gastar espaço extra, criar pontos de restauração para voltar atrás se algo der errado, e ainda proteger tudo com criptografia automática, garantindo mais segurança para os dados.

Desde o macOS 11 (Big Sur), o Time Machine passou a guardar cópias de segurança usando APFS, o novo sistema de arquivos da Apple. Agora, o sistema consegue iniciar o computador a partir de uma “foto” protegida do sistema, o que ajuda a manter tudo funcionando direitinho mesmo depois de atualizações.

Descrição da imagem: Fluxograma que descreve as funcionalidades do APFS, o sistema de arquivos da Apple. O diagrama mostra o APFS no topo, conectando-se ao macOS e a ícones de pastas e arquivos. Ele destaca os recursos Clones, com um ícone de loop, Snapshots, com ícones de câmera, e Criptografia, com um ícone de cadeado, que são armazenados em um disco rígido rotulado como HDD e SSD na parte inferior.
Funcionalidades do APFS, o sistema de arquivos da Apple.
  • Sensibilidade a maiúsculas e minúsculas: normalmente, o APFS não faz diferença entre letras maiúsculas e minúsculas no nome dos arquivos, mas há como escolher a opção onde isso importa. Essa escolha é útil para quem precisa que “Arquivo.txt” e “arquivo.txt” sejam considerados coisas diferentes, como em alguns trabalhos de programação.
  • Compatibilidade: o Mac consegue abrir arquivos de discos formatados em NTFS, mas não deixa salvar nada neles sem programas extras. Para gravar e abrir arquivos em diferentes sistemas, muita gente usa o exFAT, que funciona bem no Mac, Windows e Linux.

Windows


NTFS é o tipo de sistema de arquivos que o Windows usa normalmente. Ele traz recursos como permissões de acesso para proteger arquivos, registo de alterações para evitar perdas, e também salva informações extras sobre os arquivos. O NTFS tem ainda um sistema que permite fazer cópias de segurança de arquivos e restaurar versões antigas, além de oferecer a possibilidade de deixar arquivos ou pastas protegidas por senha.

Alternate Data Streams (ou ADS) permitem colocar informações extras “escondidas” dentro de um arquivo, o que pode ser útil para alguns programas, mas também pode ter riscos de segurança.

Descrição da imagem: Fluxograma que descreve as funcionalidades do NTFS, o sistema de arquivos do Windows. O diagrama mostra o NTFS no topo, conectando-se a um ícone do Windows. Ele destaca recursos como Permissões, com um ícone de cadeado, Registro de Alterações, com um ícone de loop e pastas, e Alternate Data Streams ADS.
Funcionalidades do NTFS, o sistema de arquivos do Windows.
  • Tamanho máximo: Usando o padrão, o NTFS comporta arquivos e volumes de até 16 TB. Se aumentar o tamanho dos blocos, pode chegar até 256 TB por volume.
  • Sensibilidade a letras maiúsculas e minúsculas: O NTFS guarda se o nome tem letra grande ou pequena, mas normalmente não faz distinção na hora de acessar. Porém, é possível escolher pastas que diferenciem nomes com maiúsculas e minúsculas (útil para quem usa programas de Linux no Windows, por exemplo).

Linux


O ext4 é o sistema de arquivos mais comum hoje. Ele é seguro, rápido, suporta arquivos bem grandes (teoricamente até 16 terabytes) e funciona bem em praticamente qualquer computador com Linux.

Desde a versão 5.10 do Linux, o sistema de arquivos ext4 ganhou um recurso chamado fast commits: um espaço de registro que salva só as mudanças mais importantes feitas entre salvamentos, o que deixa operações como gravação de arquivos mais rápidas. Testes mostraram que isso melhora bastante o desempenho.

O ext4 parou de guardar cada bloco separadamente e passou a usar extents (faixas de blocos juntos), facilitando o trabalho com arquivos grandes e evitando que eles fiquem espalhados no disco. Por exemplo, um extent pode guardar até 128 MB de dados seguidos. Com alocação atrasada e alocador de vários blocos, o ext4 consegue agrupar blocos para guardar tudo junto, ocupando menos espaço e deixando as coisas mais organizadas.

Descrição da imagem: Fluxograma que descreve as funcionalidades do ext4, o sistema de arquivos do Linux. O diagrama mostra o ext4 no topo, conectando-se a um ícone do Tux, o pinguim mascote do Linux. Ele destaca recursos como Fast Commits, Extents, Alocação Atrasada, Alocação de Vários Blocos e Alternate Data Streams ADS com Alocação Atrasada.
Funcionalidades do ext4, o sistema de arquivos do Linux.

O ext4 também faz verificação de integridade dos arquivos para detectar problemas e deixar a checagem do sistema mais rápida. Tem recursos para criar sistemas de arquivos grandes rapidamente e proteção contra montagem errada em vários servidores.

Para melhorar a leitura direta, o ext4 tem a opção dioread_nolock, que ajuda quando vários acessos acontecem ao mesmo tempo. O ext4 permite também que você marque certas pastas para que elas não levem em conta letras maiúsculas e minúsculas (como no Windows). Para isso, ative o recurso casefold e escolha as pastas desejadas.

Segurança e estabilidade: protegendo tudo


Quando falamos de segurança digital, muita gente pensa logo em antivírus ou programas para bloquear invasores. Mas, na verdade, o sistema operacional do computador é o primeiro a proteger tudo. É ele que define quem pode acessar cada parte do computador, controla o que os programas podem fazer, organiza onde os arquivos ficam guardados e registra o que acontece na máquina para consultas futuras, se for preciso.

A seguir, será explicado de forma simples como os sistemas Linux, Windows e macOS cuidam de cinco pontos importantes: permissões, autenticação, auditoria, criptografia e isolamento.

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


Todo sistema precisa saber quem pode abrir, mexer ou rodar arquivos e programas. Isso acontece porque existem regras que dizem quem pode fazer cada coisa.

  • No Linux, cada arquivo e pasta tem regras simples dizendo quem pode ler, mexer ou abrir. Essas regras são para o dono, para o grupo e para outras pessoas. Também dá para colocar regras extras para situações diferentes.
  • No Windows, tudo tem uma lista mostrando quem pode fazer o quê, como abrir, mudar ou apagar. Essas regras podem se espalhar para arquivos dentro de pastas, facilitando o controle.
  • No macOS, as permissões funcionam quase igual ao Linux, e podem ser mudadas tanto pela tela quanto digitando comandos.

Além disso, o Linux tem proteções ainda mais fortes chamadas de controle obrigatório de acesso, como o SELinux ou o AppArmor, que bloqueiam certas ações mesmo quando as permissões normais deixariam. Já o Windows e o macOS usam sistemas de proteção parecidos, como regras do Defender ou áreas isoladas chamadas sandboxes.

Descrição da imagem: Diagrama que compara o gerenciamento de permissões de arquivo em Linux, Windows e macOS. O Linux é representado por um pinguim e mostra um sistema de permissões hierárquico para Dono, Grupo e Outros. O Windows, com o seu logo, é ilustrado com um ícone de lista, sugerindo uma lista de controle de acesso. O macOS, com um ícone de sua marca, mostra um diagrama de árvore com diferentes usuários e suas permissões. Todos os três sistemas são categorizados sob o título Permissões: quem pode fazer o quê.
Comparação do gerenciamento de permissões de arquivo em Linux, Windows e macOS.

2. Autenticação: confirmando quem está usando


Autenticação é quando se verifica se uma pessoa é realmente quem diz ser.

  • No Linux, existe um sistema chamado PAM que deixa você escolher diferentes formas de fazer login, como senha, cartão, chave ou até impressão digital. Dá para mudar o jeito de entrar sem precisar mexer nos programas do computador.
  • No Windows, tudo começa quando você liga o computador e aparece a tela de login. O sistema usa programas como Winlogon e LSASS, e depois verifica quem está tentando entrar usando métodos como Kerberos ou NTLM. Hoje, tem o Windows Hello, que deixa usar reconhecimento facial ou digital, e o Credential Guard, que protege as senhas guardando elas em uma área separada da memória.
  • No macOS, o sistema usa contas e um lugar chamado Keychain para guardar senhas e chaves. Se você usar Touch ID ou Face ID, o computador cria uma espécie de “chave digital” para liberar o acesso sem mostrar sua senha verdadeira.
Descrição da imagem: Diagrama que compara a autenticação de usuário em Linux, Windows e macOS. O Linux, com seu pinguim mascote, é representado com a sigla PAM, que se conecta a um cadeado, uma chave e um ícone de hierarquia de dono e outros. O Windows, com seu logo, é ilustrado com um ícone de usuário, um campo de senha ofuscado com asteriscos e um visto de confirmação. O macOS, com seu ícone, é representado por um cadeado, chaves, uma impressão digital e o termo Keychain. O diagrama geral está sob o título Autenticação: confirmando quem está usando.
Comparação da autenticação de usuário em Linux, Windows e macOS.

3. Auditoria: registrando o que acontece


Guardar registros do que acontece no computador é importante para descobrir problemas, fraudes ou erros.

  • No Linux, geralmente existe um sistema chamado syslog. Nas versões mais novas, o Linux usa o systemd-journald, que salva esses registros de uma forma diferente, mais moderna, que permite buscar informações de maneira fácil e saber se o registro é verdadeiro.
  • No Windows, existe o Visualizador de Eventos (Event Viewer), que separa as informações conforme o tipo: coisas do sistema, de segurança ou de programas. Assim, dá para ver, por exemplo, quem entrou no computador ou se alguém mudou arquivos ou configurações importantes.
  • No macOS, o sistema da Apple, os registros são guardados de um jeito moderno chamado Unified Logging. Assim, é possível ver mensagens com detalhes diferentes e filtrar essas mensagens para achar só o que foi feito por um programa ou parte do sistema.
Descrição da imagem: Diagrama que compara a auditoria de sistemas em Linux, Windows e macOS. O Linux, com seu pinguim mascote, é representado com os termos SYSLOG e SYSTEMD-JOURNALD, juntamente com ícones de chave e impressão digital. O Windows, com seu logo, é ilustrado com um bloco rotulado Event Viewer, que se ramifica em sistema, segurança e aplicativos. O macOS, com seu ícone, é representado por um ícone de lista com uma lupa, e o termo Unified Logging. O diagrama geral está sob o título Auditoria: registrando o que acontece.
Comparação da auditoria de sistemas em Linux, Windows e macOS.

4. Criptografia: protegendo os dados


A criptografia serve para proteger os seus arquivos caso perca o computador ou ele seja roubado.

  • No Linux, programas como o LUKS/dm-crypt conseguem proteger todo o disco, e o fscrypt pode proteger só algumas pastas. Eles também funcionam com chip TPM ou chaves de segurança para maior proteção.
  • No Windows, o BitLocker protege todo o disco do computador usando o TPM, que é um chip de segurança. Para acessar seus arquivos, pode ser usada uma senha ou a conta da Microsoft.
  • No macOS, o FileVault 2 permite proteger tudo ou escolher pastas específicas para proteger. Também funciona com TPM e chaves de segurança.

Alguns computadores já vêm com discos que fazem essa proteção sozinhos, mas o melhor é sempre usar uma senha ou chave junto, para garantir que ninguém acesse seus dados sem autorização.

Descrição da imagem: Diagrama que compara as soluções de criptografia em Linux, Windows e macOS. Sob o título Criptografia: protegendo o que acontece, o Linux é associado a LUKS, dm-crypt e fscrypt. O Windows é relacionado a BitLocker, senhas ocultas e TPM. O macOS é conectado a FileVault, chaves, cadeados e Unified Logging. Cada sistema operacional é representado pelo seu respectivo ícone ou mascote.
Comparação das soluções de criptografia em Linux, Windows e macOS.

5. Isolamento: limitando os danos


Por que separar? Assim, se um programa der problema ou for invadido, só ele é afetado e o resto do computador fica protegido.

Algumas maneiras de isolar programas e processos são:

  • Contêineres
  • Máquinas virtuais
  • Sandboxes

Contêineres, máquinas virtuais e sandboxes são formas diferentes de manter os programas separados do resto do computador. Cada uma funciona de um jeito, oferece níveis de segurança diferentes e serve para situações específicas. Todas têm o objetivo de criar espaços seguros onde os programas possam rodar sem causar problemas no sistema principal, mas usam métodos diferentes, consomem recursos variados e são escolhidas de acordo com a necessidade.

  • Máquinas Virtuais:
    • As máquinas virtuais (VMs) funcionam como se fossem computadores dentro do próprio computador. Cada máquina virtual tem o seu próprio sistema operacional, como se fosse um computador separado, com memória, espaço em disco e tudo mais.
    • Quem cuida dessas máquinas virtuais é um programa chamado hipervisor, como o KVM, Hyper-V ou VirtualBox, que faz a ponte entre o computador de verdade (o host) e as máquinas virtuais (os guests). Isso faz com que cada máquina virtual fique isolada e bem protegida: se algum vírus ou programa ruim aparecer dentro da máquina virtual, quase nunca consegue passar para o computador principal.
    • Por outro lado, esse tipo de isolamento faz com que as máquinas virtuais gastem muita memória e espaço, já que cada uma precisa rodar um sistema completo.
    • As máquinas virtuais são ótimas para testar programas, rodar sistemas diferentes ou até mesmo para treinar habilidades de programação sem arriscar o computador principal.
  • Contêineres:
    • Já os contêineres compartilham o mesmo kernel do sistema operacional host, o que os torna muito mais leves do que VMs. Em vez de virtualizar o hardware, os contêineres isolam os processos no nível do sistema operacional, utilizando tecnologias como namespaces (para isolar processos, rede, usuários, etc.) e cgroups (para limitar uso de CPU, memória e disco).
    • Isso significa que todos os contêineres rodam diretamente sobre o sistema principal, mas separados entre si como se fossem “miniambientes” independentes. Ferramentas como Docker e Podman facilitam a criação e gestão desses ambientes.
    • Como eles não precisam carregar um sistema operacional inteiro, inicializam rapidamente, usam menos memória e são ideais para desenvolvimento ágil e implantação em larga escala.
    • No entanto, seu nível de isolamento é um pouco menor do que o das máquinas virtuais. Por isso, boas práticas de segurança são essenciais para reduzir os riscos.
  • Sandboxes:
    • Por fim, as sandboxes são lugares protegidos onde se pode rodar programas de maneira segura e controlada. Existem diferentes jeitos de criar uma sandbox: o próprio sistema do computador pode ter essa função, navegadores de internet podem usar para isolar abas e extensões, ou podem ser criadas por programas específicos.
    • O objetivo é impedir que o programa mexa em partes importantes do computador, como arquivos, internet ou outros dispositivos, mesmo funcionando dentro do sistema principal. Assim, dá para rodar programas desconhecidos ou de teste sem arriscar mexer em nada que não deve.
    • Sandboxes também são usadas para analisar vírus, rodar scripts ou testar programas. Elas costumam ser mais leves do que contêineres ou máquinas virtuais, mas o isolamento não é tão forte e depende bastante das regras de segurança do sistema para funcionar direito.

De forma simples, essas três tecnologias são diferentes principalmente em como separam as coisas, quanto de computador usam e quão fáceis são de usar.

  • Máquinas virtuais (VMs) separam tudo bem direitinho, mas acabam usando mais memória e processamento.
  • Contêineres são uma opção do meio: deixam tudo separado o suficiente, mas sem gastar tanto.
  • Já as sandboxes são boas para testar ou rodar pedaços de programas de modo bem seguro, principalmente quando o computador já é confiável.

A escolha de qual usar depende do que você precisa: mais segurança, mais rapidez, menos gasto de recursos ou mais controle. Muitas vezes, as empresas combinam essas técnicas: por exemplo, um programa em contêineres dentro de uma VM, e partes mais importantes ainda protegidas por sandboxes — tudo isso para garantir mais camadas de segurança.

Descrição da imagem: Diagrama comparativo entre Virtualização e Container. O lado esquerdo, Virtualização, mostra um empilhamento de camadas: Hardware, Hypervisor, Sistema Operacional, Base de Dados e Aplicação, repetidas para cada máquina virtual. O lado direito, Container, mostra uma arquitetura mais simples: Hardware, Sistema Operacional, Container, e sobre ele, as camadas de Base de Dados e Aplicação, indicando que os containers compartilham o mesmo sistema operacional base.
Comparação entre Virtualização e Container.

Recapitulando (revisão)


Atualmente, o sistema operacional faz muito mais do que apenas abrir programas e guardar arquivos. Ele funciona como um segurança do computador: protege as informações, controla quem pode acessar, registra o que acontece e cria áreas seguras para rodar programas separados.

Para quem desenvolve software, aprender a mexer em ferramentas como BitLocker, PAM, SELinux, fscrypt, journald ou VBS é tão importante quanto saber programar. Afinal, um programa só funciona direito se o computador estiver protegido e preparado para isso.

Comunicação com o hardware: a base de tudo


O sistema operacional conversa com as partes do computador usando comandos e sinais próprios do tipo de processador que ele tem, como:

  • Modos de funcionamento (normal ou para tarefas importantes do sistema);
  • Interrupções (para avisar quando algo novo acontece, como conectar um aparelho);
  • Registradores de controle (que são usados para ajustar como a parte principal do computador funciona);
  • Canais de conexão (como PCI, USB, SATA), que ligam os aparelhos ao computador.

Por exemplo, quando o sistema precisa pegar arquivos de um pen drive ligado via USB, ele usa o controlador USB para começar a leitura, espera um sinal dizendo que os dados chegaram, e só então entrega o que pediu para o programa certo.

Esse processo serve para garantir que as informações sejam passadas de forma segura entre o aparelho externo e o computador. Assim, quem usa o computador pode acessar e mexer nesses dados facilmente, sem precisar se preocupar com como essa troca acontece por trás das telas.

Como o sistema operacional organiza a memória


Pense na memória do computador como um grande livro, onde cada linha do índice (supondo que seja um índice de capítulos) leva a uma página — essas linhas são os endereços de memória. O sistema operacional (SO) cuida desse índice e decide quem pode acessar cada página.

Antigamente, em computadores mais antigos, os programas podiam usar qualquer parte da memória, desde que soubessem o endereço certinho. Muitas vezes, alguns pedaços já estavam reservados para o próprio sistema operacional ou para algum aparelho ligado ao computador.

Hoje em dia, é diferente: cada programa recebe um “espaço” só dele na memória, chamado de espaço de endereços virtuais (por exemplo, de 0x00000000 até 0xFFFFFFFF).

Descrição da imagem: Diagrama que explica como o sistema operacional organiza a memória. À esquerda, um livro aberto simboliza o conteúdo da memória. No centro, uma lista de endereços hexadecimais sob o título Índice e Espaço de Endereços. À direita, um diagrama de blocos de memória, indicando que o Sistema Operacional ocupa a maior parte do espaço de endereços inicial, seguido por dois blocos menores para Programas, cada um com seu próprio espaço de endereço.
Como o sistema operacional organiza a memória.

Esses endereços são como endereços de mentira, pois o sistema é quem decide onde cada coisa vai na memória de verdade, sem que o programa precise saber disso. Assim, vários programas podem funcionar juntos e sem se atrapalhar, como se cada um tivesse sua própria memória separada, mesmo que estejam usando o mesmo computador (a mesma memória física).

Quando a memória do computador está cheia, o sistema usa o swap, que é um pedaço do disco usado como se fosse mais memória, só que mais devagar. Em celulares (como Android e iOS) e outros aparelhos com Linux, em vez de usar o disco, o sistema pode fechar apps abertos que quase não estão a ser usados para ganhar espaço. Esse processo é chamado de OOM Killer (que significa “eliminador por falta de memória”).

Pilha e Heap: onde os programas guardam informações


Quando um programa é aberto, o sistema separa dois lugares principais para guardar dados (informações): a pilha (stack) e o heap.

  • Pilha (stack) — fica com informações rápidas, como variáveis e endereços temporários. Funciona como uma pilha de pratos: o último colocado é o primeiro a sair. Se o programa exagera e usa espaço demais aqui, estoura a pilha (stack overflow) e pode causar problemas.
  • Heap — é um espaço mais flexível, usado para guardar coisas que podem durar mais ou menos tempo (como listas, arquivos e outros objetos). O programa pede espaço na heap quando precisa e tem que devolver depois para não desperdiçar memória (memory leak). Esse espaço serve, por exemplo, para agrupar várias informações que o programa vai usar, como uma lista de contatos ou fotos.
Descrição da imagem: Diagrama que explica o gerenciamento de memória pelo Sistema Operacional, mostrando a Pilha Stack e o Heap. A Pilha é ilustrada com blocos para Variável e Endereço, e uma seta indica que ela pede espaço do Heap. O Heap é mostrado com ícones que representam blocos de dados e estruturas complexas, e uma seta indica que ele devolve espaço para a Pilha.
Gerenciamento de memória pelo Sistema Operacional: Pilha e Heap.

Malloc e Free: pedindo e devolvendo memória


Em linguagens de programação como C, existe a função malloc para pedir um pedaço de memória, e free para devolver esse espaço quando não precisa mais. Se esquecer de devolver, a memória fica ocupada à toa, causando vazamento. Quando se diz que um programa tem um “vazamento de memória”, significa que ele pediu memória e não a devolveu, fazendo com que a memória usada por ele aumente sem controle e fique indisponível para outros programas, eventualmente causando problemas.

Descrição da imagem: Fluxograma que explica a alocação de memória dinâmica. O processo começa com a chamada malloc, seguida por pedir um pedaço de memória. Uma vez alocada na MEMÓRIA, a memória é devolvida pela chamada free. Uma nota lateral destaca que se a memória não for devolvida, ela fica ocupada à toa, um problema conhecido como vazamento de memória.
Alocação de memória dinâmica: malloc e free.

Quando programas executam várias tarefas ao mesmo tempo, o computador pode ficar lento se todas (as tarefas) tentarem pegar memória juntas. Por isso, atualmente os sistemas dividem a memória em arenas, assim cada tarefa pode mexer na sua parte sem atrapalhar as outras.

Mesmo com toda essa organização, a memória pode ficar cheia de “espaços vazios” perdidos no meio dos dados que estão sendo usados. Os sistemas mais modernos tentam juntar esses espaços ou reorganizar tudo para evitar desperdício. Esse processo é chamado de compactação de memória (memory compaction) e é feito por alocadores de memória, que são programas que cuidam de como a memória é usada.

Coleta de lixo (Garbage Collection): limpando a memória


Nas linguagens de programação mais modernas, o computador cuida automaticamente da memória usada pelos programas (a heap). O chamado garbage collector (ou coletor de lixo) verifica quais dados ainda estão sendo usados e apaga os que não servem mais. Existem vários tipos de coletores de lixo, cada um com suas vantagens e desvantagens, alguns exemplos são:

  • Contagem de referências: cada coisa que ocupa espaço na memória (como objetos e dados) sabe quantas vezes está sendo usada. Quando ninguém mais precisa dela, ela pode ser apagada para liberar espaço. Mas às vezes, algumas coisas ficam presas umas nas outras, como em círculos de referências, e isso pode causar problemas. Para evitar isso, existem as chamadas referências fracas, que não entram nessa contagem e ajudam a resolver esses casos.
  • Mark-and-sweep (marcação e varredura): esse tipo de coletor de lixo primeiro marca os objetos que ainda estão sendo usados e depois apaga todos os outros. Às vezes, ele também junta os dados para não deixar espaços vazios na memória — isso funciona em linguagens de programação como Java, mas não em linguagens como Ruby ou Python, porque nessas duas os programas mexem direto nos endereços e isso poderia dar problema se o coletor de lixo mexesse na memória enquanto o programa está rodando.
  • Geracional: Os programas verificam se objetos recém-criados ainda estão sendo usados com mais frequência, porque geralmente eles são apagados logo de cara. Aqueles que continuam sendo usados por mais tempo passam a ser checados menos vezes. Linguagens como Java e Python usam esse jeito de organizar a limpeza da memória.
  • Coletor de lixo em partes: para não travar o computador por muito tempo, alguns programas que limpam a memória fazem isso aos poucos, enquanto o resto do sistema continua funcionando normalmente. Isso acontece, por exemplo, nos coletores de memória das linguagens Java, Erlang e Ruby.

A memória hoje


Hoje em dia, os computadores têm tanta memória que é difícil ficar sem espaço, mas se ela for usada de qualquer jeito, pode acabar sendo desperdiçada. Em servidores que ficam ligados muito tempo, pequenos problemas podem travar tudo; já nos celulares, se algum aplicativo usa memória demais, o sistema simplesmente fecha ele.

Por isso, é importante entender como a memória do computador funciona, como ela é usada e devolvida, de que jeito ela é organizada e como o sistema protege o computador de aplicativos que exageram, para que os programas rodem melhor e não dêem problemas.

Resumo


Atualmente, os sistemas operacionais são muito mais do que programas que só abrem arquivos ou rodam aplicativos. Eles cuidam de tudo que acontece no computador, desde proteger as informações até conversar com as peças do computador.

São eles que organizam a memória, guardam os arquivos, controlam quem pode mexer em cada coisa e fazem os programas funcionarem direitinho. Além disso, os sistemas operacionais ficaram mais fáceis de usar, servem para muitos aparelhos diferentes e ajudam a ligar vários computadores e celulares juntos.

Eles são essenciais para tudo funcionar bem, tanto para quem usa computador em casa quanto em empresas ou até em celulares. Com o aumento da tecnologia, esses sistemas ficaram ainda mais importantes, pois ajudam a gente no dia a dia e permitem novas formas de usar os aparelhos.

Como a tecnologia muda rápido, os sistemas operacionais agora conseguem atualizar sozinhos, permitem que várias pessoas usem ao mesmo tempo e podem ser personalizados do jeito que cada um gosta. Eles também facilitam a conexão entre vários aparelhos, deixam tudo mais seguro e prático, e ajudam a resolver os desafios da vida digital de hoje, tornando o uso dos computadores cada vez mais fácil e completo para todo mundo.