August 2021
Intermediate to advanced
384 pages
5h 31m
Japanese
本章ではアセンブリ言語、C言語とRust言語の基本的な説明を行う。しかし、C言語に関しては基本的な文法などは説明せず、並行プログラミングに関係のあるトピックについてのみ解説する。Rust言語は最近登場した言語であるが、並行プログラミングとその安全性を語る上では、現代では避けては通れないと考え本書で採用した。
本当は、本書で採用するのはRustとアセンブリ言語のみとしたいところだが、OSとのインタフェースや標準APIを説明するためにはどうしてもC言語が必要なため、C言語も利用している。ただし、本書の読者はC言語の基礎的な事柄についてはすでに習得していると想定しているため、C言語の基本的な文法などがわからない場合は他の書籍も参考にしてほしい。
アセンブリ言語の節では基本的なアセンブリ言語の記述についてのみ説明する。C言語の節では、Pthreadsとvolatile修飾子について解説する。Rust言語の節では一通りの機能を簡単に解説する。しかし、すべてを解説することはしないので、他の書籍や公式のドキュメント[rust]も参考してほしい。
本節では、アセンブリ言語について簡単に説明する。アセンブリ言語を説明する理由は、アセンブリ言語を知ることで並行プログラミングの原理がわかり、コンピュータの本質を理解できるようになるためである。アセンブリ言語はCPUアーキテクチャごとに異なるが、本書では、AArch64とx86-64アセンブリを用いるため、本節ではこの2つを用いて簡単に説明する。AArch64とはArmの64ビットCPUアーキテクチャであり、x86-64はAMDとIntel CPUのCPUアーキテクチャのことである。詳細については ...