このチャプターの目次
ちょうど欲しいと思い始めたマルチタスクが来た.
協調的マルチタスク
実質 yield.
なぜか復帰がうまくいかずにくっっっっそハマったのだが, 原因は DS, ES, FS, GS の descriptor を設定していなかったことで General protection fault が起きていたことだった.
プリエンプティブマルチタスク
シャドウバッファには Mutex を介しているので, これをやると, シャドウバッファに書き込むビジーループをしているタスクにメインループをしているタスクがブロックされる.
C++ では単にアクセス競合を無視しているのだろうか.
9 章の頃からやろうと思いつつ後回しにしていた, マルチバッファ(トリプルバッファ)を実装した.
それに伴い, 後回しにしていたリファクタリングをある程度やった.