明日にテストを控え、プログラム応用の質問に学生さんが来室。 色々な説明をしたけど、丁度明日は「OS」のテストもあって、 メモリ階層構造とかが範囲らしい。
質問でバッファリングについて聞かれたので、メモリのキャッシュの話もからめて、 バッファリングってぇのは、スピードの速い所と遅い所の間で、 スピードの調整してくれるようなもの。
例えば、バケツリレーをしていて、手の速い人とドン臭い人が いたら、その間にはバケツが溜まるでしょ。 手の速い人は送り出しの時には、ドン臭い人の前にバケツを貯めて、 その間に別な仕事を並行作業すればいい…。(出力バッファリング)
手の速い人がバケツをもらう時は、ドン臭い人の前で「まだかなまだかな…」 って待つよりは、適当にバケツが溜まるまで別な仕事をして、 一定量バケツが溜まったら、まとめてバケツを送るでしょ….(入力バッファリング)
といった例え話をしながら、説明を行う。