Programação de Sistemas em Rust
298 páginas
Portuguese
PDF
4.5

Programação de Sistemas em Rust

Programação de Sistemas em Rust

Autor:

Ano:

Resumo:

Introdução

O livro «Systems Programming with Rust» (autores: Jonathan Creekmore e James Miller, 2017, 298 páginas) é um guia prático que mergulha o leitor no mundo da programação de sistemas usando a linguagem Rust. Ao contrário de muitos tutoriais introdutórios, este livro foca imediatamente em tarefas reais de desenvolvimento de baixo nível: gerenciamento de memória, trabalho com descritores de arquivo, comunicação em rede, criação de bibliotecas em C e interação com o sistema operacional. Rust, conhecido por sua segurança sem coletor de lixo, torna-se a ferramenta ideal para escrever software de sistema confiável, e os autores demonstram isso na prática.

Sobre o que é o livro

O livro consiste em 12 capítulos, cada um dedicado a um aspecto específico da programação de sistemas. Começa com uma breve visão geral dos fundamentos do Rust (propriedade, empréstimo, lifetimes), mas pressupõe que o leitor já esteja familiarizado com a sintaxe da linguagem. Em seguida, os autores passam para tópicos-chave:

  • Gerenciamento de memória e segurança — como o Rust garante a ausência de condições de corrida e ponteiros soltos no código de sistema.
  • Trabalho com sistemas de arquivos e entrada-saída — operações de baixo nível, bufferização, I/O assíncrono.
  • Programação de rede — criação de servidores e clientes TCP/UDP, trabalho com sockets, análise de protocolos.
  • FFI (Foreign Function Interface) — chamada de funções C a partir do Rust e exportação de funções Rust para C, criação de wrappers sobre bibliotecas do sistema.
  • Paralelismo e concorrência — uso de threads, canais, mutexes e async/await (na época do lançamento do livro — futures).
  • Chamadas de sistema — chamada direta de syscall no Linux, trabalho com sinais, gerenciamento de processos.
  • Sistemas embarcados (embedded) — escrita de código para microcontroladores usando Rust.

Para quem é este livro

O livro é voltado para programadores já familiarizados com os fundamentos do Rust (ou com outra linguagem de sistema, como C/C++), que desejam se aprofundar em programação de sistemas. Será útil para:

  • Desenvolvedores de sistemas operacionais e drivers.
  • Engenheiros que trabalham com serviços de rede e sistemas de alta carga.
  • Especialistas em sistemas embarcados (IoT, microcontroladores).
  • Todos que desejam entender como o Rust é aplicado em projetos reais além do desenvolvimento web.

O que o leitor aprenderá

Após estudar o livro, o leitor será capaz de:

  • Escrever código de sistema seguro em Rust sem vazamentos de memória e condições de corrida.
  • Criar aplicações de rede eficientes do zero.
  • Integrar código Rust com bibliotecas C existentes via FFI.
  • Trabalhar com chamadas de sistema diretamente, ignorando a biblioteca padrão (no_std).
  • Compreender o funcionamento interno do Rust: como lifetimes, propriedade e empréstimo funcionam no nível do código de máquina.
  • Desenvolver aplicações para plataformas embarcadas, como ARM Cortex-M.

Pontos fortes

Uma das principais vantagens do livro é a orientação prática. Cada capítulo contém exemplos de código que podem ser executados e modificados imediatamente. Os autores não apenas explicam a teoria, mas mostram como resolver problemas reais: por exemplo, como escrever um servidor HTTP do zero ou como processar com segurança um sinal SIGINT. O livro também dedica atenção ao desempenho: são abordadas otimizações, profiling e escrita de abstrações de custo zero. Outro ponto positivo é a ênfase na segurança: os autores explicam detalhadamente como o Rust previne classes inteiras de vulnerabilidades típicas de C/C++.

Apesar de o livro ter sido lançado em 2017 (e alguns exemplos poderem usar versões desatualizadas de crates), os conceitos principais permanecem relevantes. Rust é uma linguagem estável, e os princípios fundamentais da programação de sistemas

Recommendations