[MI/magic symlink] メール消化中。 magic symlink なるものが commit されたっぽい。
[etc/SoC] Google `Summer of Code' の memory file-system と userspace file-system hooks が楽しみ。 ってどっちもファイルシステムだな。 [続き (7/10)]
[commit/m68k] x68k のビルドを久しぶりにやってみたら カーネルのコンパイルでこけた。見てみると同じ形をしている x68k, amiga, atari の3つに古いコードが残ってるっぽいのを見付けた ので commit しておく。 修正は間違ってはないと思うけど、英語が書けないのでコメントに自信なし。 _no
[i386/3.0_BETA] 温度とかファンの回転数が知りたくて lm0 を有効にすると時計がみるみる遅れていく…。 マザーボードは GigaByte GA-8IPE1000 Pro2。
仕方ないので lm0 をカーネルから外して、mbmon を pkgsrc で入れる。 mbmon も I/O ポート叩いて ITE8712F にアクセスしてるっぽいので 見えるものは一緒。lm0 at isa0 port 0x290-0x297: ITE8712F
% mbmon -c1 Temp.= 25.0, 38.0, 25.0; Rot.= 3443, 0, 0 Vcore = 1.39, 2.58; Volt. = 3.34, 4.33, 11.80, -5.17, -1.90
[i386/3.0_BETA] おうちのマシンも何気なく 3.0_BETA に してみた。ちょっと古い 6月のソースだけど。 lm0 を有効にして時計がどうなるか見ようと思ったけど、それ以前に ビープ音が鳴り続けてしまい、うるさくてどうしようもないので lm0 殺した。 うーん、だめぽ。今度のマザーボードは GigaByte GA-6OXE。
lm0 at isa0 port 0x290-0x297: ITE8705F
[MI/symlink] ちょいと前に Linux の ext2fs の 目新しい機能として、 シンボリックリンクのリンク先の名前が短い場合には データブロックを確保するのではなく iノード自体に名前を格納してしまうという 記事をみかけた。 それを読んだ時は目から鱗モノだったので BSD でも早くそんな 機能が実装されないかなーと思ってたら、FFS では 4.3BSD か 4.4BSD 時代からすでにそうなってんのね。 当り前すぎて話題にもならないだけだったのか…。 orz
[MI/commit] 自分で作ったおかしなイメージを相手に installboot(8) して遊んでたら "Undefined error: 0" とか表示されたのでソース見てみたらシステムコールじゃない エラーに err(3) を使ってたので errx(3) に変更して commit しておく。
[i386/etc] 夏某も入ったし、人に貸してた大金も返ってきたし、 今のメインマシン (P3/1GHz) はちょっともう遅いので、 ぼちぼち速いマシンでも買おうかな。 速いつっても P4/3GHz とかなんかな。AMD64 で遊ぶ気にはあまりなれず。 って今のマシンは4年前のものなのか…。あー、会社入ってすぐ買ったからな。 大学のリプレース間隔並みだな、こりゃ。
[etc/SoC] [元ネタ (7/10)] ちなみにオフィシャルページ(?)。
NetBSD-SoC: Efficient memory file-system
userfs のページはまだなさげ。[etc/SoC] 続いて SoC の CVS Web。 http://cvs.sourceforge.net/viewcvs.py/netbsd-soc/
[MI/commit] ちょっと前になんとなくオープンされてるファイル数 だったか何かを調べてみようと思って sysctl(3) を読んでた時に 誤植を見付けてたのを commit しておく。
[x68k/emulator] 一年以上経ってるけど、鎌田さんの X68000 Emulator in Java。
[MI/msgget(2)] SystemV のメッセージキューが使えそうな場面が あったのでちょっと調べてみた。 欠点の一つとして、 ディスクリプタじゃないのでキューに書き込まれたとかのイベントは ポーリングしてないと分からないってのがあるそうな。 今回はイベント通知される必要がない場面なのでそれは構わない。 もう一つ別の場面でも同じようにメッセージキューが使えないかなと思ったら そっちは書き込みイベントが検出できないといけないので使えなかった。 まあその場面はもともと SystemV メッセージキューの代わりに 普通にディスクリプタ開いて select(2) でも poll(2) でもすればいいから別に構わないんだけど。
[MI/kqueue(2)] select(2) でも poll(2) でもと言えば、 今まで kqueue(2) はなんとなく知ってたけどマニュアル読んでも 意味が分からなかったので放置してたけど、なんとなく調べてみた。 ほー、汎用的なイベント通知方法だとは聞いてたけど、 VNODE の変化やプロセスの終了やらも分かって、カーネルに手を 入れたらあれやこれやでイベント上げれるようになるのか。 あれ、じゃあ SystemV メッセージキューにも kfilter_register(9) とか 追加してイベントが通知されるようにしたらええんかしら? (やらんけど) [続き (7/28)]
[MI/kqueue(2)] [元ネタ (7/25)] 気になって遊んでみてたら出来た。 msgsnd(2) で誰かがメッセージを送って読み込み可能になったら kevent(2) で通知される。意外と簡単げ。