[Cruzeiro] GSO II - Sistemas Operacionais Open Source
Sistemas Operacionais Open Source
Do código aberto ao Linux na prática: filosofia, distribuições, sistemas de arquivos, dual boot e swap
Roteiro da Aula
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.
Principais licenças de código aberto
Licença "copyleft": derivações também precisam ser abertas. Usada pelo kernel Linux.
Permissiva e curta: permite uso comercial e fechamento de derivados.
Permissiva, com cláusulas sobre patentes.
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:
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
Executar o programa para qualquer propósito.
Estudar e adaptar o programa (exige acesso ao código-fonte).
Redistribuir cópias para ajudar outras pessoas.
Distribuir versões modificadas por você.
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 / Base | Gerenciador de pacotes | Distribuições populares |
|---|---|---|
| Debian | APT (.deb) | Debian, Ubuntu, Linux Mint, Kali |
| Red Hat | DNF/RPM (.rpm) | Fedora, RHEL, Rocky Linux, AlmaLinux |
| Arch | Pacman | Arch Linux, Manjaro, EndeavourOS |
| SUSE | Zypper (.rpm) | openSUSE, SLES |
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.
| Perfil | Distros / Ambientes | RAM mínima aproximada |
|---|---|---|
| Leve (máquinas antigas) | Lubuntu (LXQt), Puppy Linux, antiX | 512 MB – 1 GB |
| Intermediário | Xubuntu (XFCE), Linux Mint XFCE | 2 GB |
| Completo | Ubuntu (GNOME), Fedora Workstation | 4 GB ou mais |
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.
Moderno e minimalista. Padrão do Ubuntu e Fedora.
Muito personalizável e visualmente rico.
Leve e estável, bom para máquinas medianas.
Familiar, padrão do Linux Mint.
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.
# 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
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:
Padrão da maioria das distros: estável e confiável.
Moderno, com snapshots e compressão.
Alto desempenho, comum em servidores.
Á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ório | Finalidade |
|---|---|
/ | Raiz — origem de toda a árvore. |
/home | Arquivos pessoais dos usuários. |
/etc | Arquivos de configuração do sistema. |
/bin, /usr | Programas e comandos. |
/var | Dados variáveis (logs, filas, caches). |
/dev | Dispositivos (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.
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.
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
Postar um comentário
Ficou com alguma dúvida? Quer compartilhar sua experiência? Tem uma sugestão de
melhoria? Seu comentário é muito importante!