まえがき

Rustは、システムプログラミングを行いやすくするために、大きな役割を果たしてきたし、今後も果たしていくだろう。しかし、アトミック操作やメモリオーダリングなどの低レイヤの並行プログラミングに関するトピックは、いまだに何か神秘的なものとして扱われていて、ごく少数の専門家に任せておいた方がいいと考えられている。

過去数年間Rustを用いたリアルタイム制御システムやRust標準ライブラリの開発を行ってきたが、アトミックや関連するトピックに関しては、多くの資料で知りたいと思うことのごく一部しか扱われていないことに気づいた。多くの資料でCやC++に焦点を当てているため、Rustのメモリ安全性やスレッド安全性や型システムとの関連を理解するのが難しい。C++のメモリモデルのような抽象的な理論の詳細に触れている資料はほとんどないし、あったとしても実際のハードウェアとの関連を曖昧にしか説明していない。実際のハードウェアについては、プロセッサの命令やキャッシュの一貫性など、すべてを詳細に扱っている資料があるが、全体を俯瞰して理解するには、さまざまな場所から情報を集める必要があった。

本書は、これらのトピックに関する情報を1つにまとめてつなぎ合わせ、読者が、ハードウェアとOSの役割を十分に理解し、設計上の決定を行い、基本的な最適化のトレードオフを行えるようになり、正しく安全で使いやすい並行プログラミングのプリミティブを自分で構築できるようになるために必要なすべての情報を提供することを目的としている。

対象読者

本書の主要な対象読者は、低レイヤの並行プログラミングについてもっと知りたいと願うRust開発者だ。Rustのことはまだあまり知らないが、Rustの視点から低レイヤの並行プログラミングがどのようなものか知りたいと願う人にも適している。 ...

Get 詳解 Rustアトミック操作とロック ―並行処理実装のための低レイヤプログラミング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.