Um sistema operacional (SO) é a camada de software entre usuários/aplicativos e o hardware. Ele aloca tempo de CPU, gerencia memória e arquivos, controla dispositivos e expõe uma interface consistente via chamadas de sistema e shell/GUI para que programas rodem com eficiência e segurança.
- Gerenciamento de processos e CPU: criar/encerrar processos, escalonar threads nos núcleos.
- Gerenciamento de memória: alocar RAM, implementar memória virtual e reforçar isolamento.
- Gerenciamento de dispositivos e E/S: abstrair discos, placas de rede, teclados por meio de drivers.
- Gerenciamento do sistema de arquivos: organizar dados em arquivos/pastas com permissões.
- Segurança e contabilização: autenticação, autorização, logs, cotas.
- Interface para usuários e programas: shell/GUI e API de chamadas de sistema para apps.
- Kernel (núcleo): parte privilegiada que roda em Kernel Mode, lida com escalonamento, memória, drivers, sistemas de arquivos e IPC.
- Shell: interface ao usuário (CLI ou GUI) que interpreta comandos e inicia programas.
- Chamadas de sistema (syscalls): pontos de entrada controlados do espaço de usuário para serviços do kernel (ex.:
open, read, execve, CreateProcessW).
Estilos de kernel comuns em cyber:
- Monolítico (por exemplo, Linux): a maioria dos serviços no kernel.
- Microkernel: empurra serviços para o espaço de usuário visando modularidade.
- Híbrido (por exemplo, Windows, XNU): combina elementos de ambos.
- Processo: programa em execução com seu próprio espaço de endereçamento virtual.
- Thread: unidade de escalonamento dentro de um processo, compartilhando memória.
- Escalonadores (Schedulers): decidem quem roda em seguida (FCFS, SJF, Prioridade, Round-Robin, Multilevel Feedback Queue). Entenda preempção vs. não preempção, trocas de contexto e starvation para performance e análise forense.
- Memória virtual: dá a cada processo um espaço de endereçamento lógico e isolado, apoiado por RAM e disco (paging/paginação).
- Algoritmos de substituição de páginas (ex.: FIFO, LRU, Ótimo) equilibram localidade e sobrecarga.
- Proteção (modos usuário/kernel, permissões de páginas) impede que um processo afete outro.
- SOs expõem sistemas de arquivos (ex.: ext4/XFS no Linux, NTFS/ReFS no Windows) com metadados, permissões/ACLs e journaling para resiliência.
- E/S em bloco (discos/SSD) usa escalonadores; E/S de caractere (terminais) é orientada a fluxo.
- Escalonamento de disco (ex.: SCAN/LOOK) e buffering/cache melhoram a vazão.
Etapas típicas:
- Firmware UEFI/BIOS inicializa hardware e localiza o bootloader.
- Bootloader carrega o kernel (e initramfs) na memória.
- O kernel inicializa subsistemas, monta o sistema de arquivos raiz e inicia o primeiro processo de usuário (
init/systemd ou Windows Session Manager).
- Serviços e o gerenciador de login/sessão sobem.
Ações do usuário ocorrem em User Mode; o núcleo do SO roda em Kernel Mode.
Primitivos comuns:
- Identidades e grupos; permissões (rwx, ACLs), propriedade e limites de privilégio.
- Aplicação de políticas (ex.: UAC e Group Policy no Windows; DAC + MAC como SELinux/AppArmor no Linux).
- Auditoria e logging (Windows Event Logs, syslog/journald no Linux).
Boas práticas: princípio do menor privilégio, correções frequentes e autenticação forte.
- Máquinas virtuais (VMs): emulam hardware completo para rodar múltiplos SOs.
- Contêineres: (namespaces/cgroups no Linux) isolam processos compartilhando o kernel — inicialização rápida e alta densidade, ótimos para produção e labs.
- Desktop: Windows, macOS, distribuições Linux — produtividade, desenvolvimento, jogos.
- Servidor: Linux/Windows Server — serviços headless, ajuste fino de performance e segurança.
- Mobile: Android/iOS — apps em sandbox e paradigmas de segurança móvel.
- Linux:
useradd, groupadd, passwd -l, arquivos /etc/passwd, /etc/shadow.
- Windows:
net user, net localgroup, MMC de Local Users & Groups.
- Linux: gerenciadores
apt, dnf, yum, apk.
- Windows: Winget/Chocolatey; serviço Windows Update (
wuauserv).
- Linux:
systemctl enable|start <service> (systemd) ou service (SysV).
- Windows: Service Control Manager (
sc config/start/stop) e Services.msc.
- Linux:
chmod, chown, umask; sistemas de arquivos ext4/XFS.
- Windows: ACLs do NTFS (GUI ou
icacls), herança e auditoria.
- Linux:
/var/log/*, journalctl; logrotate para rotação/compactação.
- Windows: Event Viewer → logs Application/Security/System; políticas de retenção via Group Policy ou console.
- Linux:
journalctl -u <svc>, dmesg, top/htop, ss -tulpn, lsof, strace.
- Windows: filtros no Event Viewer, Resource Monitor, Process Explorer,
Get-WinEvent, Get-Process, netstat, suíte Sysinternals.
- Faça rotação, centralize (syslog → SIEM) e defina políticas de retenção e acesso. Logrotate é a ferramenta padrão no Linux para automatizar a rotação.
Linux
- Desativar login de root via SSH (
PermitRootLogin no), preferir chaves.
- Atualizações frequentes; mínimo de pacotes; firewall (
ufw/nftables).
- Permissões corretas para arquivos sensíveis (ex.:
/etc/shadow 640, dono root:shadow).
- Configurar logrotate e logging central; monitorar falhas de autenticação.
Windows
- Aplicar NLA no RDP; desativar convidado; políticas de bloqueio fortes.
- Manter Windows Update ativo; Defender + SmartScreen ligados.
- Limitar uso de administrador local; princípio do menor privilégio; AppLocker/WDAC.
- Definir retenção de logs e encaminhar para SIEM.
- O que é um SO? Camada entre usuário/aplicativos e hardware; gerencia recursos e oferece serviços.
- Processo vs. thread? Processo tem espaço de endereços próprio; threads compartilham esse espaço e são unidades de escalonamento.
- O que é memória virtual? Abstração que dá a processos espaços de endereços isolados usando paginação e armazenamento secundário.
- Kernel vs. shell? Kernel = núcleo privilegiado; shell = interface (CLI/GUI) que conversa com o kernel via syscalls.
- Monolítico vs. microkernel? Monolítico coloca a maioria dos serviços no kernel; microkernel mantém um núcleo mínimo e move serviços para o espaço de usuário.
Rode em uma VM/contêiner descartável.
Linux
# 1) Usuários e grupos
sudo groupadd secops && sudo useradd -m -g secops -s /usr/sbin/nologin secops && sudo passwd -l secops
# 2) Pacotes (Debian/Ubuntu)
sudo apt-get update -y && sudo apt-get install -y htop && htop --version && sudo apt-get remove -y htop
# 3) Serviços (systemd)
sudo systemctl enable --now cron || echo "Not available here"
# 4) Rotação de logs
cat | sudo tee /etc/logrotate.d/custom <<'EOF'
/var/log/custom.log {
weekly
rotate 4
compress
missingok
notifempty
create 0640 root adm
}
EOF
sudo touch /var/log/custom.log && sudo chown root:adm /var/log/custom.log && sudo chmod 0640 /var/log/custom.log
# 5) Hardening de SSH
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config && sudo systemctl restart ssh || true
Windows (PowerShell como Administrador)
# 1) Usuários e grupos
net user secops /add /y
net localgroup "Users" secops /add
# 2) Pacotes via winget (ou Chocolatey se disponível)
winget install --id=7zip.7zip -e; winget uninstall --id=7zip.7zip -e
# 3) Serviços
sc config wuauserv start= auto
sc start wuauserv
# 4) Retenção de logs (ex.: Application para 64MB)
wevtutil sl Application /ms:67108864
# 5) RDP + NLA recomendado (Group Policy / System Properties > Remote)
- ACL: Lista de Controle de Acesso — permissões granulares em objetos.
- Troca de contexto (Context Switch): salvar/restaurar estado da CPU para alternar threads.
- Sistema de arquivos com journaling: registra mudanças em diário para resiliência a quedas.
- Kernel/User Mode: níveis de privilégio da CPU que determinam operações permitidas.
- Paginação (Paging): mover páginas entre RAM e disco.
- Preempção: o escalonador interrompe um thread em execução para rodar outro.
- Chamada de sistema (syscall): fronteira de API do espaço de usuário para serviços do kernel.
- Inclua palavras-chave em H1/H2: “Operating System Basics”, “OS for Cybersecurity”, “Linux vs Windows administration”.
- Adicione links internos para posts de Linux CLI, Windows Registry, SIEM/Logging e Threat Hunting.
- Forneça cheat sheet para download e scripts de lab para aumentar tempo na página e backlinks.
- Marque o FAQ com JSON-LD (FAQPage) para melhorar rich results.