Rust系统编程
298 页
Chinese
PDF
4.5

Rust系统编程

Rust系统编程

作者:

年份:

简介:

引言

《Systems Programming with Rust》一书(作者:Jonathan Creekmore 和 James Miller,2017年出版,298页)是一本实用指南,带领读者深入使用Rust语言进行系统编程的世界。与许多入门教材不同,本书直接聚焦于底层开发的实际任务:内存管理、文件描述符操作、网络通信、C语言库的创建以及与操作系统的交互。Rust以其无垃圾回收的安全性而闻名,成为编写可靠系统软件的理想工具,作者们通过实践展示了这一点。

本书内容

全书共12章,每章专注于系统编程的特定方面。本书从Rust基础知识的简要概述开始(所有权、借用、生命周期),但假设读者已熟悉该语言的语法。随后,作者转向关键主题:

  • 内存管理与安全——Rust如何保证系统代码中无数据竞争和悬空指针。
  • 文件系统与输入输出操作——底层操作、缓冲、异步I/O。
  • 网络编程——创建TCP/UDP服务器和客户端、套接字操作、协议解析。
  • FFI(外部函数接口)——从Rust调用C函数以及向C导出Rust函数、为系统库创建封装。
  • 并行与并发——使用线程、通道、互斥锁以及async/await(本书出版时为futures)。
  • 系统调用——在Linux上直接调用syscall、信号处理、进程管理。
  • 嵌入式系统——使用Rust为微控制器编写代码。

适合人群

本书面向已熟悉Rust基础(或其他系统语言如C/C++)的程序员,他们希望深入系统编程领域。本书对以下人群尤为有用:

  • 操作系统和驱动程序开发者。
  • 从事网络服务和高负载系统工作的工程师。
  • 嵌入式系统(物联网、微控制器)专家。
  • 所有希望了解Rust在Web开发之外实际项目中应用的人。

读者将学到什么

学习本书后,读者将能够:

  • 使用Rust编写无内存泄漏和数据竞争的安全系统代码。
  • 从头创建高效的网络应用程序。
  • 通过FFI将Rust代码与现有C库集成。
  • 直接使用系统调用,绕过标准库(no_std)。
  • 理解Rust的内部机制:生命周期、所有权和借用如何在机器码层面工作。
  • 为ARM Cortex-M等嵌入式平台开发应用程序。

优势亮点

本书的主要优点之一是实践导向。每章都包含可直接运行和修改的代码示例。作者不仅解释理论,还展示如何解决实际问题:例如,如何从头编写HTTP服务器,或如何安全地处理SIGINT信号。本书还注重性能:讨论了优化、性能分析以及编写零成本抽象。另一个优点是对安全性的强调:作者详细解释了Rust如何防止C/C++中常见的整类漏洞。

尽管本书出版于2017年(某些示例可能使用了旧版crate),但核心概念仍然适用。Rust是一门稳定的语言,系统编程的基本原则依然有效。

推荐