優雅な生活の設計と実装

The Design and Implementation of the Gracious Days


LAST MODIFIED: 2002/02/03 07:36:04 UTC

新しい秩序の確立は、他の何にも増して難しく、
成功する可能性が低く、危険な事業である。
改革者は旧秩序から利益を得ている
全ての者を敵にまわし、
新秩序から利益を受けるはずの者からは
及び腰の支持しか集められない。
--- Niccolo Machiavelli, The Prince

この種の「保護」は初心者を保護するかも知れないが、
熟練ユーザを窮地に追い込むことになる。
というのは、何が親切であり、何が適切でないかかという
オペレーティングシステムの考え方の裏をかくことばかりに
かなりの労力を費やさなければならないからである。
--- A.S.Tannenbaum, Modern Operating Systems


不定期更新の日記です。ディスクスペースの関係上、 あまりに古くなったものは順次消していきます。 この日記の更新は、今野さんの *BSD Diary Links から取得することが可能です。

January 2000

Friday, January 28

あと 4 つ

試験もそろそろ山場。頭の中は完全に昼夜交替状態。 記述式の連続で指が痛い…。

Thursday, January 27

睡眠不足の日々

「IP について知るところを述べよ@集積回路工学の試験」。 Internet Protocol について書いた人が一人くらいはいるとみた。:-)

PDF の資料を読もうかと、Adobe Acrobat Reader をインストールしたら segmentation fault の嵐。 いろいろ調べてみると、kinput2 が悪さをしているらしいので対策をとる。 これは FAQ なのかなぁ。

情報処理試験の申し込みが 02/04 までなのでそろそろ準備を始める。 マイコン応用〜に興味があったので参考書を探しに行くと、 見事にゼロ。一種共通カリキュラムしかないぞ。やっぱりマイナー過ぎるのかも。 当初考えていたネットワークスペシャリストは春がないので、 一種を受けることに決定。勉強せねば。

Tuesday, January 25

現実逃避

話題になっている Transmeta のクルーソーチップを (レビュー記事だけ)概観。まだ詳しい資料を読んでいないので、想像で書いてます。

ソフトウェアエミュレーションレイヤでコアを隠すっていうのは 別に目新しいものではないと思います。命令セットをメモリから読み出すっていうの は新しいかも知れませんが、今までの CPU はその必要性がなかったというだけ の話で。今の Pentium なんかはコアが uOP(RISC) で x86 はデコーダがエミュ レーションしてますから、ここだけ見れば状況は同じです。

現在の x86 のソフトウェア資産を考えると、 IA64 へのシフトやら何やらで混沌とした状況になると思いますが、 x86 市場はあと 10 年くらいは持つでしょう。 このチップを使う上で、エミュレーションレイヤの導入で パフォーマンスはどうか、という問題があります。 私見ですが、性能的に Intel のチップを凌駕するのは無理です。 現時点で Intel が iAPX86 に施している延命作業は、 CPU に対する細かな指示(キャッシュエントリの操作など)を 命令セットから行なえるようにするというもので、 uOP + 並列パイプラインという P6 アーキテクチャの 原理的な変更はありません。経営戦略としてこれ以上 あまり手を加える気がなく、 後はキャッシュとクロックだけで稼ぎますという姿勢なのかも知れませんが、 速度的な観点から評価する限り、劇的にこれを超えることは困難です。 採算を度外視したり、互換性を考慮しなければ どうにかなる部分もあるでしょうが、 仮にも互換ベンダがそんな戦略をとれるはずがありません。

とすると戦略は、アーキテクチャのフレキシビリティを最大限に利用した、 ローエンドユーザ向け市場への参入が考えられます。 これにはエミュレーション能力がどこまであるかにも依りますが、 十分な経済的な利点がまず第一になければなりません。

また、コアと命令セットの分離、という観点から考えれば、 「アップグレード構想の単純化」という戦略も考えられると思います。 つまり、コアチップは相互に互換性があり、命令セットを読み込めば 速度(動作クロック)、消費電力という二つのパラメータだけで 製品を差別化できるというようにするわけです。 そうすれば、外部アーキテクチャとは独立して CPU だけ 自由に取り替えることができます。これは 現在の Intel がやっていることをさらに抽象化したモデルですが、 ネイティブ言語のシステムデザインが優れていないとうまく行きません。 それがインターフェイスも取り込んでしまうようなものであれば、 物理層さえ合わせてやれば、本当にエミュレーションレイヤだけで CPU を乗っ取ることができることになります。

既存の CPU を乗っ取ることができ、 さらに安いとなれば市場参入の未来は明るいでしょう。 近年の互換 CPU が単一アーキテクチャを対象にしていたものだったのに対し、 より大きなユーザベースを獲得することができるからです。 後は、速度的なパフォーマンスがどこまで出せるかという問題になります。 先に書いた通り、速度的には有利になるとは思えませんが、 architecture independent なコアチップという位置付けならば 試みとして大変面白いので技術的に興味が湧きますね。 単に命令セットエミュレーションのレベルなら トラ技 SP No.48 のレベル :-) でしょ。

Sunday, January 23

理想と現実

そろそろ研究室を考えなければならないけど、 好きなことを仕事(task)にしたくないっていう考えが、 最近強くなってきた気がする。もともと、電気工学科を選んだのは 「電子回路は独学じゃ無理だ」と悟ったからだけど、三年間学部にいて 定性的な部分(本当に入口だけだけど)には触れることができたと思う。 直流・交流の分離は目から鱗だったなぁ、なんてしみじみ。

でも、定量的にはどうと言われるとダメダメですな。 まあ回路は好きだから眺めてて飽きることはないけど、 目標が発散しているというか、日常的に触れていないので、 どうしても忘れていってしまう。I_s{exp(qV/kT)-1} だって 度忘れしそうだし、最近では積分が怪しい。 数学は毎日やる必要ありだなぁと思いつつ、 高校時代から数学苦手(全教科で最悪なの)で手を付けたくない。

佐藤にとって数学はジャイアンです。 いつもそばにいて苛められるけど、いざと言う時は 頼れる最後の人なんですな。

で、なかなか手を付けない → 理解するのに時間がかかる → 面倒 → 興味が湧かないの悪循環。趣味だからで片付けられるうちは良いのだけど、 これを仕事にする、つまり自分の対外的な評価の対象に置くという勇気はありま せん。ってこんなことだから進歩がないのか。自分でも自覚があるんですが、 ここらへん佐藤の哲学に抵触するので、臆病なんですよ基本的に。

回路工学的にプロパーな話題は続けられる自信がないので、 分散協調とか自己組織化とか、 コンピュータシミュレーションできる数学的な話題かなぁ。 佐藤は分散環境と仮想現実こそが未来の主流技術だと思っているので、 それに近い話題ならば特に何でも構わないのですが。 というわけで研究室は電子回路かソフトウェア系かな。

最近買った本

sendmail の設定をその筋で有名なあやむら氏が書いていたので買い。 うーむ、場当たり的な sendmail の設定をどうにかしたいけど、 From/To の両方を見て書き換えるっていうのはないのかしら。 virtual user table は To に依らずみたいだし。 まあ、From を変えることで切替えるっていうのもありなのかも知れない。

Saturday, January 22

FreeBSD doc-jp の作業をぼちぼちと。一年くらい続けてみて、どっちかと言うと翻訳作業より、 管理の作業の比重の方が高いところに作業の難しさがあるということを改めて実感。

電源ファンがイオン異音を立てていたので、 電源をばらしてサーミスタ付き山洋ファン(4000円弱)に交換。 静かにはなったんですが、ハードディスクのスピンドル回転音の方が うるさいので全体の騒音はまだまだあります。 ケースもろとも変えたいんですが、ケースに○万円出すのはちょっと。 何であんなに高いんでしょうねぇ。

Tuesday, January 4

ネタがないという理由もあるのですが、 いろいろ忙しくて更新をさぼっていました。 今年もよろしくお願いします。

過去試験問題ライブラリ

後期の過去問は忙しくて新規追加する暇がありませんでした。 この電気科過去問ライブラリ、 佐藤が卒業してしまうと当然ですがなくなってしまいます。 もちろん、場所を変えて継続することも可能ですが、 学外にある必然性や、そもそも「どこにあるのか」を知らせる手段も ありませんので、現実的ではないでしょう。

そこで、どなたか引き継いで下さる方募集中です。 条件は、コンピュータに興味があって、向上心あふれるような人 :-)。 *BSD を使っている人ならなお良し。引き継ぐ人が現れれば、 佐藤がきっちりと教えてあげますが、 現れなければ、そのまま自然消滅させるつもりです。

with *BSD

それはさておき。メインマシン(alph)にディスクを増設しました。 Full-SCSI 構成を貫いていたのですが、 あまりの価格差のため、ついに IDE-HDD を導入です。 DCAS-34330UW(5400rpm/4.3G/UltraWideSCSI) が とても良いできだったので、IBM の DPTA-372050(7200rpm/20GB/U-ATA) にしました。 値段も手頃な 20,000 前後で、結構数が出ているようです。 佐藤が入手したのは NEC に OEM として出されているものでした。

以前は 4G(SCSI#0:Win98) + 2G(SCSI#1:Win98) + 1G(SCSI#2:FreeBSD) だったのを、 大幅に切り直して IDE#0:20G[8G(Win98) + 12GB(FreeBSD:/home)] + 4GB(SCSI#1:FreeBSD:/,/var,/usr) + 2GB(SCSI#0:Win98) + 1GB(SCSI#2) にしました。ちなみに、 佐藤の Windows の利用率はすでに 10% 以下です。 以前は外部ネットワークとのやりとりをすべて Windows から行なっていましたが、FreeBSD ベースで行なうようになってから ゲームに使う程度です。さすがに消すところまではいきませんけど…

上の構成では、起動ドライブが 2GB の SCSI HDD になるので、 MBR を書き換えて Win98 と FreeBSD を切替えています。 何度かはまったのは、 「AX6BC には A,SCSI,C の起動シーケンスがない」ことです。 現在、SCSI,A,C にしてありますが、フロッピディスクからの起動ができません。 かと言って、A,C,SCSI にすると IDE のドライブを読みに行ってしまい、 きちんと起動できないのです。 一台目のドライブにアクティブパーティションがなければスキップ、 みたいにしてくれると嬉しいんですが、 どうやっても駄目っぽいので我慢しています。

ちなみに、ラストの 1GB には、OpenBSD/NetBSD を入れようと考えています。 Linux は……どうしましょ。もう一台、ノートパソコンでも準備できれば 入れてみるかも。(とか言って、Plan9 とか入れそう。 どうも Linux は食わず嫌いだなぁ)

えーと、データのお引越しは 1GB の HDD から tar cpvf - | (cd /; tar xpvf -) でサクサクやりました。 make world で約二時間、FreeBSD 3.4-STABLE の出来上がりです。 もともと FreeBSD 3.4RC で動いていたシステムからの移行なので、 アカウント情報や /etc も全部上書で特に問題はありません。 (/etc/fstab も上書きしてしまって、あわてて書き直ししたのは秘密だ :-)

むー、Windows もまっさらから再インストールしたのですが、 改めて面倒臭さを実感させられました。 何が嫌かって、再起動の嵐と合理性のないプロセスですよ。ええ、まったく。 ジオメトリが表示されないで HDD をいじくられるのは気持ち悪いし、 ドライバ一つ入れるたびに再起動するのには閉口します。 必要としている情報が中途半端に隠蔽されていて、 いわゆる「標準的」でない構成に対する操作は、 その背景を把握していないと(そして把握していたとしてもしばしば)不可能です。 まあ、悪名高い OS なので、いまさら愚痴を言ってもしかたないのですが、 そんなわけで、望む場所にインストールするのも一苦労。

Filesystem              1K-blocks     Used    Avail Capacity  Mounted on
/dev/da1s1a                 99183    22851    68398    25%    /
/dev/wd0s2e              10653910   522875  9278723     5%    /home
/dev/da1s1f               3904294   962631  2629320    27%    /usr
/dev/da1s1e                 99183     7883    83366     9%    /var
procfs                          4        4        0   100%    /proc
/dev/da0s1                1956056  1090496   865560    56%    /dos/c
/dev/wd0s5                8000744  2443232  5557512    31%    /dos/d
/dev/da2s1a                 39647    24330    12146    67%    /tmp_mnt
/dev/da2s1e                 19815     6399    11831    35%    /tmp_mnt/var
/dev/da2s1f                835833   676833    92134    88%    /tmp_mnt/usr
delta:/usr                 853722   296757   488668    38%    /tmp_mnt/dusr
delta:/home/www            496111   432969    23454    95%    /home/www
delta:/home/hrs/www        496111   432969    23454    95%    /home/hrs/www
delta:/home/hrs/root       496111   432969    23454    95%    /home/hrs/root
delta:/home/hrs/private    496111   432969    23454    95%    /home/hrs/private
delta:/home/hrs            496111   432969    23454    95%    /home/hrs/delta
/dev/cd0c                  668158   668158        0   100%    /cdrom

作業がひと段落した時の df 結果です。/tmp_mnt 以下は 以前 FreeBSD 用として使っていた da2(1GB HDD) のデータ、 wd0 が増設した 20GB HDD になります。 delta:/usr, delta:/home は、LAN サーバ(主に PPP ダイアルアップルータとして)のディレクトリで、 NFS マウントしています。