VOL83 バーチャルな世界でハマリ道 発行2001/2/20

今年になってから加わった新人君は、いまバーチャルな世界にはまっている。QUAD社でもなかなかリアルワールドから離れられない中で仕事も環境も仮想空間にはまり始めている。彼の略歴から考えると彼が求めていること自体がそうした方向なのかも知れない。

組み込み世界で仮想記憶を求める声は、ソフトの暴走を止める意味で求められていた。しかし、高速動作を考えていく上では過去はあえて仮想記憶を使わずにリアルな世界で使っているという選択肢を選んでいた時期もあった。時代は、携帯端末にも高速なリソースを求めてそうした中でソフトウェアの保護も含めて機能が求められるようになってきた。

もとより、仮想的な世界の所産であるJavaなどを組み込むことの経験もあり仮想空間をサポートする新機種や仮想マシンの組み込みなどを中心に大きくカスタマーを指導していくことが求められているのだ。UNIX使いである彼はtcshベースでMuleと呼ばれるEmacsベースの環境が今まで開発環境であり、Quad社に移ってきても同様の姿を目指してきた。

しかし、現実のお客様はカスタマーから離れて環境管理が容易なWINDOWS環境に移行してきておりQuad社が薦める開発環境もそれに合わさざるを得ないのが実情でもある。Unixベースでの開発に慣れ親しんだ正統派(?)のソフト技術者としてはWindowsベースでの環境の不安定さや機能不足などにカスタマイズが出来ない点などもあわせて一ヶ月の研修期間も終えて自分のスタイル追求を出し始めている。

当初彼が、目指したのはCygwinによる擬似UNIX環境でのコマンド環境とMeadowと呼ばれるWindowsベースで動作するEmacs環境である。幾人かの熱狂的な信者により支えられているこうしたツールではあるがWindowsベースの環境でもあり不安定さや改善途上のツールであることも手伝いUnixベースで使ってきたMuleと呼ばれるUnix版のEmacsと比較すると眉唾な点も目立ってきていた。

サンディエゴのメンバーが標準で提供している高機能エディタベースでのコンパイラー利用はある意味でEmacsベースでやってきた彼のスタイルに近いものを提供はしているのだが、長年慣れ親しんできた「小指が痛い」といったところであろうか(Emacsでは小指を酷使するのである)。カーソルをマウスで動作させるといった作業が嫌いなのであろう。コンパイル環境としての性能を計ってみたところ1GHzマシン環境で4分ほどで600本以上のファイルの全コンパイルが完了していた。

彼は、Windowsのファイル環境でそのまま動作するLinuxMLDというベース環境を持ち出して準備をはじめていた。彼の狙いとする点は明らかで、Unix(Linux)とWindowsを同じファイルシステムで動作させてWindowsベースでのコンパイラ利用とそこで利用するファイルを共用していくということである。こういった「お題」を自分に課して仕事を進めていけるのはある意味でQuad社の自由な雰囲気からであろうか。

きびきびと動くEmacs環境は彼の苦労の末に達成した。懸案のツール環境を確保するために持ち出したのは仮想ソフトのVMwareである。彼のはLinuxで動作するものでありLinuxの上でWindowsマシンが登場するのである。彼は、もともとのマシン用に付属してきたリカバリーディスクを用いて仮想空間に展開しようとしたが仮想マシンのBIOSにはメーカーIDが書き込まれていないらしく検証段階で蹴られてしまった。結局、地道にWindows2000をここにインストールすることになった。

Windows2000のインストールが終わりコンパイル環境も確認できた。VMwareの上での速度は少し遅くなった。4分が6分ほどになった。以前のラップトップで行っていたときの30分に比べれば格段に速いのは変わらない。安定な環境できびきびと編集作業が出来て以前と同様な環境が出来たのだが・・・コンパイル結果のエラー情報を利用したりすることがEmacsでは必要なのだが、これを実現するにはWindows2000をrshで実行させたりすることが必要になるのだった。

変な話だが、また彼は仮想的にUnixの振りをするCygwinというソフトをLinuxの上で動作させている仮想環境VMwareの上で動作しているWindows2000の上に展開して稼動させて、これをメイン環境であるLinuxのEmacsからリモートで動作させることでWindowsの上で動作させているクロスコンパイラーを稼動させようとしている。仕事の流れでは振り出しに戻った印象もあるが、確実に環境は深化している。進化ではないかも知れないが・・・。

構築できた環境で彼は、きびきびと彼の感性のままに開発が出来るようになり出来るだけ能率よく仕事を進められるはずだ。こうしたことにケアをしないのでは結局効率が上がらないのだと思う。技術開発ベンチャーにジョイントした彼の姿はよくマッチしていると感じている。そんな瑣末なことをと思われるかも知れないが、何度も繰り返される会議やデバッグ打ち合わせで出てくる内容のベースにあるバグやミスは環境で回避できるものがかなりあると信じているし感じてもいる。バベルの塔建設にもにたWindowsとコミュニティによるLinuxの構築にも通じているかもしれない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です