並行プロセスがコンピュータの資源を同時に利用しようとすることからどのように保護するか.この相互排除問題は並行プログラミングにおける最も重要な問題のひとつである.本書は,「五人の哲学者の食事問題」はじめダイクストラやクヌースなどが提示した問題を解くアルゴリズムを考察し,基本的な概念および原理を解説する. ■著者からのメッセージ 相互排除は古くて新しい話題である.相互排除の研究はリアルタイムシステムやマルチプログラミングシステムが登場した1960年代半ば頃から始まった.当初は集中システムにおけるソフトウェアによる解法およびハードウェアによる解法が話題の中心であった. ところが,ここへ来て,プロセサがマルチコアになりメニーコアになりつつある.いわば,外見上一つのプロセサがマルチプロセサになったのである.そして,スーパーコンピュータはもちろんのこと,デスクトップ,ノートパソコンから携帯電話に至るま