共有変数へのアクセス 異なるコンテキスト間で共有変数を利用してデータ交換を行うことはしばしば行われます。変数がCPUの1命令でアクセスできる(atomicな)もの1つだけであれば問題は生じませんが、構造体などを渡たそうとした場合などには問題が生じます。片方のコンテキストでデータを読み込んでいるときにもう片方のコンテキストでデータを書き換えてしまい、データの整合が取れなくなってしまう可能性があるからです。そこで通常はこれらの変数へのアクセスをクリティカルセクションで行うようにします。 しかし、クリティカルセクションが利用できない場合もあります。それは割り込みルーチンから直接共有変数を書き換えたい場合です。割り込みルーチンのような非タスク部からは待ち状態に入る可能性のあるシステムコールは呼べませんから、クリティカルセクションを作って共有を管理することができなくなります。そういう場合は読み出し