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.
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.
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.
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.
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.
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.
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.
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.
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.
Em 2009 veio o Windows 7, que melhorou o que deu errado antes e ficou muito popular.
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.
O Windows 10, lançado em 2015, tentou juntar o melhor dos outros e recebeu atualizações ao longo do tempo.
Por fim, o Windows 11 chegou em 2021, com um visual novo, ficou mais seguro e funciona melhor em computadores mais modernos.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- 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.
- 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.
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.
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.
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.
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.
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.
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).
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.
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.
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.