Last-modified: Wed, 24 Nov 1999 23:49:58 JST
[static,style:furuta,jconv:jcode,cache:on]
powered by tds-Tomsoft Diary System 1.01-beta0
知人の編集さんが亡くなったという報せが届きました。 数回、記事の打合せとかでお会いした程度ではありますが、ショックです。 氏がフリーソフトウェアコミュニティにはたした役割を考えると、 残念でなりません。 故人のご冥福をお祈り申し上げます。
入院前であまし時間ないから、買っておいてねと幸さんにお願いしておいたの。 「予約してきたよー」よ、予約っすか。 「でね、予約番号1番だって。 ノートに新しいページ作られて、名前を最初に書かれて、すっごい恥かしかった」 ....
ちなみに、同時に予約した DQ7 は168番だったそうな。
これに(本当のところはよくわからないが)匿名さんが反応したのは良いが、 Reply-To: を消さずに出して、 こうなったのかしらん?
まったく、馬鹿を構うときにはまわりに被害が及ばないように注意して 欲しいもんです。
ちなみに、悪名高きイオンド大学については、 takawata さんとこからどうぞ。 およ、 催眠術講習会も実は同系だったのか。
知佳ぼー、かわいいですよね。\
とある抜けられないミーティングで本社に行ったら、 警備の警察官がうようよしていた。 (どーも、即位10周年とからしい)
ミーティングは後半どっと疲れた。\
土曜日は混んでますが、仕方ないですね... 口腔内の型を取られる。 口の奥のあたりを刺激されると、core dump しそうになって、けほけほです。 一回目で型がミスったようで、リトライしました。ふにゅ。
本当は有休取って別の日にしてオープンソースまつりに 行きたかったのですが、 弱ってるようなので、無理はしませんでした。 かなり盛況だったようで、残念。
FreeBSD or Windows95 な端末マシン(K6 233MHz) が故障したのを機会に こいつをサーバマシンにして、 今のサーバ(K6 166MHz)を端末マシンにするという、 玉突きリプレースを敢行しました。
いろいろ騒いでいた ABIT の BP-6 (Celeron 300A × 2)ですが、 SMP では非常に不安定だったのが UP で使用すればきわめて安定動作することが わかっていたので、 最悪でも UP 動作させれば良いだろうと。
... ところがですね、このリプレースをしてサーバにしてしまったら、 何と SMP 動作が見事に安定してしまいました。 まったく、今までの苦労は何だったんだ、というくらい。 リプレース前と違うところは、
くらい。
「SMP 動作で不安定」というのは、seti@home を動作させていた時だけ、 というのが既にわかっているので、後者二つは実に怪しい。 seti@home は計算途中で status をファイルに書きこみにいくのですが、それは home 上にある訳でして。 取りあえず、犯人のしっぽは捕めたかも。 いずれにしろ、ハードウェアや熱まわりはシロであることが確定しました。\
ppp が動作していないようなので、原因究明。 最初は 3.2 -> 3.3 での変更によるものかと思ったけど、 どうも ISA バス上の内蔵 modem の動作が変。 tip で継いで、"AT^M" で "OK" が出てこなくなってます。 もう一度 "^M" で "OK" が出る。 というか、エコーのタイミングも一段遅れている。 あ、これは割り込みを拾えていない感じ。 dmesg を見ると probe で
sio2: configured irq 5 not in bitmap of probed irqs 0
だって。割り込みが届いていないようなので、BIOS の設定を見直して、 IRQ 5 を Legacy-ISA に変更したら無事動作してくれました。
こねこの肉球があまりにかわいかったので、敗北しました。
サーバの方が落ち着いてくれたので、端末マシンの設定など。 FreeBSD 側の設定は、特に何も問題なし。
Windows が徹底的に機嫌を損ねてくれて、大ハマリ。 ブート中に 「VCOMM 初期化中に一般保護例外が発生しました。再起動してください」 とか、言われるようになっちゃったんですけど、何が関係してるんだろう。 時々起動に成功するときもあるようだけど、 どういう条件で成功するのか、謎だ。
言いふるされてはいるけれど、 Windows って元気に動いてくれているうちはいいけど、 動かなくなると本当に... 嫌いだぁ。
昨日ぐらいから VMwareがどうやって仮想マシンを実装しているかの謎に遭遇している。
実モードの仮想化は VM86 モードを使えば簡単、とは言わないけど、 既にいろいろ実現されているからさほど困難はないでしょう。 問題はプロテクトモードなんであって、 リング0のコードも仮想マシンモニタの管理下で仮想化してやらないといけない。
で、仮想化するためにはリング0以外(普通はリング3でしょう)で動かして、 GDT や IDT をいじったり、I/O 命令したり、セレクタをロードしたりを 全部トラップして、適当に仮想化してやらないといけない。 ページングはもっと厄介そうだけど、 仮想マシンのために物理記憶が確保できれば、 仮想マシン中のページテーブルをモニタが翻訳して、 実際のページテーブルを構成してやれば不可能ではないでしょう。
で、 FreeMWareの mailinglist archive とか、 (http://www.x86.org/)とか、 (http://developer.intel.com/)とかをいろいろ調べてみる。
わかったこと: 386SL 以降は VME とか VIF とか VIP とかが実装されていて、 VM86 モードで割り込みフラグの仮想化ができるけど、 プロテクテッドモードでも同様な割り込みフラグの仮想化を行う PVI という のがある。( PVI 解説) しかし、セレクタを「読む」コード(例えば、"push cs" とか)は 仮想化されていない、生のセレクタが読めてしまう。 自分はリング0のつもりだったのに 実はリング3だって、バレちゃうことではないかと。 これでは「仮想マシン」にはならない。
FreeMWare の ML archive では、 「pre-scanning」を行って、 こういう危険なコードを実行前に検出してしまう方法と、 SMM を使う方法が検討されているようだけども、 後者は説明がみつからないので、よくわからない。 とりあえず、 自分の考えていた問題について FreeMWare の連中も 悩んでいたことが明かになって、ちょっと安心。
幸さんから、「 これは事実と違う、予約してって私から頼まれたから予約した」 とゆークレームがつきました。うーむ、全然覚えてない。(^^; そっか、どうもすいませんでした。(_o_)
3rd 瞳 End. \
シングルユーザーモードで readonly な root を mount -u したいけど /dev にデバイスがない というのは割と よくある状況だと思います。(というか、私も数回ハマった記憶がある)
スマートというか、fixit を使わない方法としては、 例えばこんな方法はいかがでしょうか?
# mount_mfs swap /tmp # cd /tmp # cp /dev/MAKEDEV . # sh MAKEDEV wd0s4a # mount -u /tmp/wd0s4a
以降、/dev で MAKEDEV して reboot してやれば良いでしょう。
別に mfs でなくても、書きこみができる ufs があれば良いのですが、 普通にインストールされた FreeBSD ならば、 この方法なら多分ほとんどの環境で OK だと思います。
手元に NetBSD の CVS リポジトリを持つために、 rsync をしかけて寝た。
はややー、あましお役に立てませんでしたようで。 (/usr と / を同じパーティションにつっこんだ構成のマシンで試したから、 気がつきませんでした) うーむ、シングルユーザーだと MAKEDEV はダメなのか。助からん。 chown ぐらい /sbin に入れといてくれりゃいいのに。
とは言っても、chown や chgrp は単にオーナーとグループを適当に設定 してるだけで、/tmp/wd0s4a のオーナーとグループは root.wheel でいいのだから、chown や chgrp は無くてもどうにでもなります。 chown と chgrp をでっちあげませう。
# PATH=/tmp:$PATH # ln -s /bin/echo chown # ln -s /bin/echo chgrp # sh MAKEDEV wd0s4a
たぶん、これで上手くいく。 (というか、"chown: not found" で MAKEDEV が異常終了した時点で、 欲しい /tmp/wd0s4a は既にできていると思います) \
あう、 驚かれちゃいましたか。もちろん、私が mknod(8) を知らないハズがありませんし、 自分が同じ状況であれば、 たぶんそういう推測をします。 この程度であれば、 面倒がらずに正攻法でいくことも多いですけどね。
mknod(8) についても、もともと言及してたんだけど、 推敲して消しました。\
どうも、下手な考えだったようで、こんなこと全然気に病む必要はなかったようで、 安心しました。
あと、蛇足ですが、echo でなくても 0 バイトの実行ファイルを作る という手もありますね。
# cd /tmp # >chown # chmod +x chown
とか。
これですけど、fullzoom でなくても resize でも同じ現象が発生しますね。 それから、必ずしも全てのページでこの現象が発生する訳ではなくて、 特定のページ(例えば、 ぱぱんださんとこ)のみで発生するようですが、何なんでしょうかね?