Programación de sistemas en Rust
298 páginas
Spanish
PDF
4.5

Programación de sistemas en Rust

Programación de sistemas en Rust

Autor:

Año:

Resumen:

Introducción

El libro «Systems Programming with Rust» (autores: Jonathan Creekmore y James Miller, año 2017, 298 páginas) es una guía práctica que sumerge al lector en el mundo de la programación de sistemas utilizando el lenguaje Rust. A diferencia de muchos tutoriales introductorios, este libro se enfoca inmediatamente en tareas reales de desarrollo de bajo nivel: gestión de memoria, trabajo con descriptores de archivos, interacción en red, creación de bibliotecas en C e interacción con el sistema operativo. Rust, conocido por su seguridad sin recolector de basura, se convierte en la herramienta ideal para escribir software de sistema confiable, y los autores lo demuestran en la práctica.

De qué trata el libro

El libro consta de 12 capítulos, cada uno dedicado a un aspecto específico de la programación de sistemas. Comienza con un breve repaso de los fundamentos de Rust (propiedad, préstamo, tiempos de vida), pero se asume que el lector ya está familiarizado con la sintaxis del lenguaje. Luego, los autores pasan a temas clave:

  • Gestión de memoria y seguridad — cómo Rust garantiza la ausencia de condiciones de carrera y punteros colgantes en el código de sistema.
  • Trabajo con sistemas de archivos y entrada/salida — operaciones de bajo nivel, buffering, E/S asíncrona.
  • Programación de redes — creación de servidores y clientes TCP/UDP, trabajo con sockets, análisis de protocolos.
  • FFI (Foreign Function Interface) — llamar a funciones C desde Rust y exportar funciones Rust para C, creación de envoltorios sobre bibliotecas del sistema.
  • Paralelismo y concurrencia — uso de hilos, canales, mutex y async/await (en el momento de publicación del libro, futures).
  • Llamadas al sistema — invocación directa de syscall en Linux, trabajo con señales, gestión de procesos.
  • Sistemas embebidos (embedded) — escritura de código para microcontroladores usando Rust.

Para quién es este libro

El libro está dirigido a programadores que ya conocen los fundamentos de Rust (o de otro lenguaje de sistema como C/C++) y que desean profundizar en la programación de sistemas. Será útil para:

  • Desarrolladores de sistemas operativos y controladores.
  • Ingenieros que trabajan en servicios de red y sistemas de alta carga.
  • Especialistas en sistemas embebidos (IoT, microcontroladores).
  • Todos aquellos que quieran entender cómo se aplica Rust en proyectos reales más allá del desarrollo web.

Qué aprenderá el lector

Después de estudiar el libro, el lector podrá:

  • Escribir código de sistema seguro en Rust sin fugas de memoria ni condiciones de carrera.
  • Crear aplicaciones de red eficientes desde cero.
  • Integrar código Rust con bibliotecas C existentes a través de FFI.
  • Trabajar directamente con llamadas al sistema, sin pasar por la biblioteca estándar (no_std).
  • Comprender el funcionamiento interno de Rust: cómo funcionan los tiempos de vida, la propiedad y el préstamo a nivel de código máquina.
  • Desarrollar aplicaciones para plataformas embebidas como ARM Cortex-M.

Puntos fuertes

Una de las principales virtudes del libro es su enfoque práctico. Cada capítulo contiene ejemplos de código que se pueden ejecutar y modificar de inmediato. Los autores no solo explican la teoría, sino que muestran cómo resolver problemas reales: por ejemplo, cómo escribir un servidor HTTP desde cero o cómo manejar de forma segura una señal SIGINT. El libro también presta atención al rendimiento: se analizan optimizaciones, perfilado y escritura de abstracciones de costo cero. Otro punto a favor es el énfasis en la seguridad: los autores explican en detalle cómo Rust previene clases enteras de vulnerabilidades típicas de C/C++.

A pesar de que el libro se publicó en 2017 (y algunos ejemplos pueden usar versiones desactualizadas de crates), los conceptos principales siguen siendo relevantes. Rust es un lenguaje estable y los principios fundamentales de la programación de sistemas

Recommendations