ロースペックマシンをあれこれとチューニングして それなりに動作するように手を加えることを自分の中では盆栽と 呼んでいるのだが、 何台かあるマシンのうち 典型的な盆栽について紹介したいと思う*1。
このマシンは、勤務先の人から個人的に譲り受けたPC本体に、 手持ちの周辺機器の実装、取付治具などの自作を行い作成した。 スペックは以下の通り;
ベースシステム | IBM Aptiva 330 |
CPU | Intel 486DX4 / 100MHz |
メモリ | 24MB |
ハードディスク | IDE×4式: 425MB, 700MB, 800MB, 3GB |
I/Oバス | ISAバス: スロット×4 |
ネットワーク | NE2000互換×2式: 10BASE-5, 10BASE-5, 10BASE-T |
シリアルポート | RS-232C×4チャンネル |
パラレルポート | 1チャンネル |
フロッピーディスク | 3.5インチ×1 |
本体はIBMのAptiva 330がベース。
ディスプレイは、モノクロ9インチCRTを接続。
OSには、Unix系のOpenBSDをインストールしている。
このマシンは実装メモリが24MBと少ないため、X Windowはインストールしておらず、
本機単体でのグラフィックや日本語の表示はできない。ASCIIのみ表示可。
I/OバスはISAのみ*2。
よってIRQの割当は全て手動設定である。
I/Oスロットは全部で4つある。
4スロットのうち、2スロットにEthernetカードを実装。
どちらもNE2000互換カードで10BASE-2, 10BASE-Tに
対応*3。
残り2スロットには、マルチI/Oカードを実装。
このカード中、シリアルポート2チャンネルを
使用(パラレルおよびゲームポートは、割り当てるIRQがないため、未使用)。
本体の2チャンネルと併せ、計4回線を接続可。
ハードディスクは4式を実装。
本来、実装できる台数は2式(wd0, wd1)までだが、CD-ROMを取り外し、
空スペースにwd2を増設(前面にはブランクパネルを取付)。
さらに3.5インチフロッピーディスクドライブ下に吊り下げる形で
自作HDDベイを設置し、wd3を増設。
これにより、IDEインターフェースのチャンネルは全て埋まっているため、 現時点で最大限の実装状態となっている。
使用OS: OpenBSD 3.0 (2001年) ~ OpenBSD 4.3 (2008年現在)
実装メモリ量が小さいため、OSカーネルは不必要な機能を削った
カスタムカーネルを作成し使用している。
このカーネル起動時のdmesgはこちら→ dmesg.boot.txt 。
ログインしてオペレーションを行った例はこちら→ typescript-hsv.txt 。
このマシンにはOpenBSD本体以外に、以下のようなソフトウェアが追加導入されている;
bzip2 (ファイル圧縮),
DeleGate (プロキシサーバ),
dmassage (カーネル作成支援ツール),
GNUPLOT (グラフ描画ソフト),
ircd (IRCデーモン),
Kermit (シリアル通信/ファイル転送),
NetPBM (画像ファイル加工・変換ユティリティ),
ng (日本語Micro GNU Emacsテキストエディタ),
PHP-4 (スクリプト言語),
APC (PHPアクセラレータ),
screen (スクリーンマネージャ),
Ruby (オブジェクト指向スクリプト言語),
QuickML (メーリングリストドライバ),
smtpfeed (高速メール配送エージェント)
このマシンは当初、外向けゲートウェイの予備機として運用されていたため、 追加インストールされたソフトウェアには、ネットワーク関連のものが多い。
#img(): File not found:このマシンの動作速度の実測を行った結果を以下に示す。
測定対象として、セキュリティスキャナであるchkrootkit-0.48を
用い、そのコンパイル、及びchkrootkit自身の実行時間を測定した。
CPU | メモリ | コンパイル所要時間 (秒) | 実行時間 (秒) | ||||
実時間 | ユーザ | システム | 実時間 | ユーザ | システム | ||
486DX4 100MHz (盆栽) | 24MB | 70.88 | 32.87 | 19.85 | 219.93 | 57.74 | 130.87 |
Pentium/MMX 200MHz | 64MB | 13.02 | 4.56 | 2.53 | 45.58 | 11.75 | 18.94 |
Pentium-III 540MHz | 192MB | 2.25 | 1.14 | 0.67 | 8.88 | 2.71 | 5.49 |
Core2 4300 1800MHz | 1024MB | 0.41 | 0.21 | 0.18 | 2.00 | 0.85 | 1.78 |
以上の結果から、この「盆栽マシン」は、概ね 2007~2008年頃の標準的な性能を持つマシンの1/50~1/200程度の処理能力であることがわかる。
今まで見てきたように、このマシンは「今時の」マシンとは 比べものにならない程非力な処理能力しか持たない。
特に、メモリが非常に少ないため、現在デスクトップ環境で使われているような 高機能なアプリケーションを使うことはほとんど不可能と思われる。 また、サーバとしての用途を考えても、高速なネットワーク通信や 大容量のデータ処理なども困難と思われ、ごく軽いサービスを提供することが 運用可能な範囲だろう。
それでも、このような「盆栽マシン」には幾つかの存在意義があると考えている。
まず考えられるのが、スケラビリティに関連する技術の修得である。
次に挙げられるが、テスト・リサーチ環境としての有用性である。
最後に、ハードウェアとソフトウェアのそれぞれの技術を連携させて 修得できることも利点として挙げたい。