/dev/random と /dev/urandom の違い

wakatooさんの日記http://d.hatena.ne.jp/wakatono/ にddでランダムな値を書き込む時はurandomじゃないのか?っと思ってしらべてみる。
http://www.imasy.or.jp/~tai/wiki/index.php?DailyNotes%2F2003-12-06 から
低速で高品質な /dev/random と 高速低品質な /dev/urandom ということらしい。random は エントロピーが足らないとreadをブロックしてしまうから、あんなに遅いのか。一方 urandom はブロックしなくて必要な量を返すから高速なわけだ。
http://www.linux.or.jp/JF/JFdocs/Security-HOWTO-6.html
man 4 random などにも説明あり。
SHAかMD5でハッシュを取ってるのは判るのだけど、entropy_pool ってなんだ?


for (i = 0, x = 0; i < r->poolinfo.poolwords; i += 16, x+=2)
2変数ループって、C言語でこんな書きかたあったのか…。