はじめに 今回は17章を読み解いていきます。 17章はバッファ操作に関する内容が書かれています。15-17章はお互いに関連しているので繋がりを意識しながら読むと理解がしやすいと思います。 バッファの概要 バッファという機構を用いてブロックデバイスを操作します。 ブロックデバイスの操作で重要なのは以下だと思います。 複数あるプロセスが同時に(とは言っても時分割されていますが)同デバイスの同ブロックにアクセスしたときに、データの一貫性を保つ(所謂コヒーレンシ) よく使われるデバイスのデータをコアにコピーしておくことで、デバイスへのアクセスを減らし全体の性能を上げる(デバイスへのアクセスはプロセッサの動作と比較すると遅い) バッファの構成 バッファは4535行で宣言されているbuf[NBUF]という構造体の配列です。bufはバッファの状態やフラグを表し、バッファのヘッダとも言えます。実際に(ブロ
![UNIX 6th code reading - バッファ - やる気のないブログ(A boring diary)](https://cdn-ak-scissors.b.st-hatena.com/image/square/86643afa348a0d399cbcc69269128b60b671cb2d/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftakahirox%2F20110612%2F20110612181546.png)