[Cruzeiro] GSO II - Sistemas Operacionais Open Source

GSO II · Gestão de Sistemas Operacionais

Sistemas Operacionais Open Source

Do código aberto ao Linux na prática: filosofia, distribuições, sistemas de arquivos, dual boot e swap

Curso Técnico em Informática Nível Intermediário ~2 aulas

1 Conceitos de código aberto (Open Source)

Código aberto (do inglês Open Source) é o modelo de desenvolvimento em que o código-fonte de um programa fica disponível publicamente, podendo ser lido, estudado, modificado e redistribuído por qualquer pessoa, respeitando os termos de uma licença.

Isso se opõe ao modelo de código fechado (proprietário), no qual você recebe apenas o programa já compilado e não tem acesso ao "receituário" que o originou.

Código-fonte é o texto escrito pelo programador em uma linguagem de programação, antes de ser traduzido (compilado) para a linguagem de máquina que o computador executa.

Principais licenças de código aberto

GPL

Licença "copyleft": derivações também precisam ser abertas. Usada pelo kernel Linux.

MIT

Permissiva e curta: permite uso comercial e fechamento de derivados.

Apache 2.0

Permissiva, com cláusulas sobre patentes.

BSD

Permissiva e minimalista, base de vários sistemas.

2 Histórico do SO Open Source

A história do Linux é a convergência de dois projetos independentes:

1983
Projeto GNU — Richard Stallman inicia a criação de um sistema operacional totalmente livre e funda a Free Software Foundation (FSF) em 1985.
1991
Kernel Linux — o estudante finlandês Linus Torvalds anuncia um núcleo (kernel) livre, inspirado no Unix e no MINIX.
1992
GNU/Linux — o kernel de Torvalds é combinado com as ferramentas do projeto GNU, formando um sistema operacional completo.
Hoje
O Linux domina servidores, supercomputadores, nuvem e dispositivos embarcados — e é o núcleo do Android.
Por isso muitos defendem o nome GNU/Linux: o "Linux" é tecnicamente apenas o kernel; as ferramentas ao redor vêm em grande parte do GNU.

3 Software livre e as 4 liberdades

É comum confundir "software livre" com "software gratuito". A palavra inglesa free significa tanto "livre" quanto "grátis" — mas a filosofia refere-se a liberdade, não a preço. Como diz a FSF: "free as in freedom, not as in free beer".

As quatro liberdades essenciais

Liberdade 0

Executar o programa para qualquer propósito.

Liberdade 1

Estudar e adaptar o programa (exige acesso ao código-fonte).

Liberdade 2

Redistribuir cópias para ajudar outras pessoas.

Liberdade 3

Distribuir versões modificadas por você.

Livre ≠ grátis. Existe software livre pago (com suporte) e software gratuito que não é livre (freeware, sem código aberto).

4 Distribuições Linux

Uma distribuição (ou "distro") é um conjunto pronto para uso que reúne o kernel Linux, ferramentas GNU, um gerenciador de pacotes, ambiente gráfico e aplicativos — tudo integrado e testado por uma comunidade ou empresa.

Existem centenas de distros, organizadas em famílias conforme sua origem:

Família / BaseGerenciador de pacotesDistribuições populares
DebianAPT (.deb)Debian, Ubuntu, Linux Mint, Kali
Red HatDNF/RPM (.rpm)Fedora, RHEL, Rocky Linux, AlmaLinux
ArchPacmanArch Linux, Manjaro, EndeavourOS
SUSEZypper (.rpm)openSUSE, SLES
O Ubuntu deriva do Debian; o Linux Mint deriva do Ubuntu. Distros "derivadas" herdam a base e adicionam ajustes de usabilidade.

5 Sistema multiusuário e multitarefa

Multiusuário

Vários usuários podem ter contas, permissões e arquivos próprios no mesmo sistema — inclusive conectados ao mesmo tempo (comum em servidores). Cada usuário tem seu diretório em /home e o superusuário root administra tudo.

Multitarefa

O sistema executa vários processos "ao mesmo tempo", alternando rapidamente o uso do processador entre eles (escalonamento). É o que permite ouvir música enquanto compila um programa e navega na web.

O Linux herdou do Unix uma arquitetura robusta multiusuário e multitarefa desde a origem, o que explica sua forte presença em servidores.

6 Requisitos de hardware

Uma das grandes vantagens do Linux é a escalabilidade: existem distros pesadas com recursos modernos e distros leves capazes de dar sobrevida a máquinas antigas.

PerfilDistros / AmbientesRAM mínima aproximada
Leve (máquinas antigas)Lubuntu (LXQt), Puppy Linux, antiX512 MB – 1 GB
IntermediárioXubuntu (XFCE), Linux Mint XFCE2 GB
CompletoUbuntu (GNOME), Fedora Workstation4 GB ou mais
O que mais pesa no consumo de memória geralmente é a interface gráfica. Trocar o ambiente desktop pode "aliviar" bastante um computador modesto.

7 Interfaces gráficas

No Linux, a interface gráfica é modular: você pode escolher (e até trocar) o ambiente desktop. Cada ambiente define a aparência, o gerenciador de janelas e os aplicativos padrão.

GNOME

Moderno e minimalista. Padrão do Ubuntu e Fedora.

KDE Plasma

Muito personalizável e visualmente rico.

XFCE

Leve e estável, bom para máquinas medianas.

Cinnamon

Familiar, padrão do Linux Mint.

Por baixo do ambiente desktop atua o servidor gráfico, responsável por desenhar as janelas na tela — historicamente o X11 (Xorg), hoje sendo substituído pelo mais moderno Wayland.

8 Modo texto (terminal)

Além da interface gráfica, o Linux oferece o poderoso modo texto, onde comandos são digitados no terminal. Quem interpreta esses comandos é o shell — o mais comum é o Bash (Bourne Again Shell).

A interface de linha de comando (CLI — Command Line Interface) é essencial na administração de servidores, onde nem sempre existe ambiente gráfico instalado.

bash
# listar arquivos com detalhes
ls -l

# mostrar o diretório atual
pwd

# criar uma pasta e entrar nela
mkdir projetos && cd projetos

# ver uso de memória (incluindo swap)
free -h
Um TTY é um terminal em modo texto puro (fora do ambiente gráfico), acessível por combinações como Ctrl+Alt+F2.

9 Sistemas de arquivos

O sistema de arquivos define como os dados são organizados e armazenados no disco. No Linux, os mais usados são:

ext4

Padrão da maioria das distros: estável e confiável.

Btrfs

Moderno, com snapshots e compressão.

XFS

Alto desempenho, comum em servidores.

swap

Área especial usada como extensão da memória RAM.

Estrutura de diretórios (FHS)

Diferente do Windows (C:, D:...), o Linux usa uma árvore única a partir da raiz /:

DiretórioFinalidade
/Raiz — origem de toda a árvore.
/homeArquivos pessoais dos usuários.
/etcArquivos de configuração do sistema.
/bin, /usrProgramas e comandos.
/varDados variáveis (logs, filas, caches).
/devDispositivos (discos, portas) tratados como arquivos.

10 Dual boot

Dual boot é a configuração que permite instalar dois (ou mais) sistemas operacionais na mesma máquina — por exemplo, Windows e Linux — escolhendo qual iniciar a cada ligada do computador.

Como funciona

  • O disco é dividido em partições separadas para cada sistema.
  • Um gerenciador de boot exibe um menu de escolha ao ligar. No Linux, o mais usado é o GRUB.
  • Recomenda-se instalar o Windows antes do Linux, pois o GRUB detecta o Windows e o adiciona automaticamente ao menu.
Sempre faça backup antes de reparticionar o disco: erros no particionamento podem apagar dados dos dois sistemas.

11 Swap do sistema operacional

A swap é uma área do disco usada como extensão da memória RAM. Quando a RAM fica cheia, o sistema move para a swap as páginas de memória menos usadas, liberando espaço para os processos ativos. É a chamada memória virtual.

Partição de swap

Uma partição dedicada exclusivamente à swap. Forma tradicional, definida na instalação.

Arquivo de swap

Um arquivo dentro do sistema de arquivos que cumpre a mesma função. Mais flexível de redimensionar.

A swap é essencial para o recurso de hibernação e evita travamentos quando a RAM esgota. Porém, por estar no disco, é muito mais lenta que a RAM — uso excessivo de swap deixa o sistema lento.

Resumo da aula

O código aberto disponibiliza o código-fonte para estudo e modificação, e o software livre garante quatro liberdades essenciais. O Linux nasceu da união do kernel de Torvalds (1991) com o projeto GNU de Stallman, chegando ao usuário por meio de distribuições. É um sistema multiusuário e multitarefa, adaptável a diferentes requisitos de hardware, com interfaces gráficas variadas e um modo texto poderoso. Organiza os dados em sistemas de arquivos como o ext4, pode conviver com outro SO via dual boot e usa a swap como extensão da RAM.

Comentários

Postagens mais visitadas deste blog

Introdução aos Sistemas de Gerenciamento de Banco de Dados

Comandos de Rede via CMD

Introdução ao HTML, CSS e JavaScript - Guia para Iniciantes