Plan 9におけるkprintとkmesgの違い
/dev/kmesg または /dev/kprint はどちらもカーネルのprint関数で出力されたテキストまたは /dev/cons への書き込みのコピーが流れてくる。違いは、kmesg は open(2) した時刻に係わらず常に最後の16KBが流れる。kprint は open(2) した以降のテキストが流れる。
また、 マシンのコンソールが何に割り当てられているかによって挙動が変わる。シリアル出力の場合はシリアル出力と kprint に同じメッセージが送られるが、グラフィックス端末の場合はマシンのディスプレイまたは kprint のどちらかにしかメッセージを送らない。
どうしてそんな挙動になっているのかは分からない。