データ競合と happens-before 関係
この記事は,マルチスレッドのプログラムでしばしば見る,そして発見が困難であるバグ「データ競合」と,それを見つけるのによく使われる「happens-before 関係」について解説します。 筆者は特に x86-64 アーキテクチャにおけるバグ検出に興味がありますので,一般的な話というよりは x86-64 に寄せた話になります。
想定読者
- データ競合バグの発生原理やアトミック変数を使ったバグの防止方法を知りたいと思っているプログラマ
- データ競合バグを検出する手法,特に happens-before 関係を勉強したいプログラム解析手法の研究者
x86-64 & C++ を例に説明しますが,その他のアーキテクチャや言語にも通じる話もたくさんあります。
続きを読む技術書典応援祭 自作OS関連の頒布物一覧
技術書典 応援祭 が 3 月 7 日に開始しましたね。 サークル単位の頒布物一覧を探しにくいようなので,サークル「bitnos」の頒布物をまとめておきます。 この記事を読む方は自作 OS に興味があると思うので,他サークルの自作 OS 関連物も後半にまとめています。(会期中随時更新します)
技術書典8 『マイクロカーネルの設計と実装』 は電子版が無料配布!
続きを読む人々が OS を自作するきっかけは何だろう
OS 自作はとてもニッチな趣味ですが,ときどきやっている人を見かけます。 「OS を自作してみよう」と思うまでには,まずコンピュータに触れる経験が必要で,加えて OS の存在に気付く必要があるはずです。 業務命令で OS を自作するようなケースを除けば,OS の存在に気づいた上で,さらに OS に興味を持つ必要があります。 彼ら/彼女らはなぜ「OS の自作」に興味を持つのかを調査してみました。
続きを読む