[益田研助手さんインタビュー]

お話: 千葉 滋助手
(1996年に収録)

Q 研究室全体としての目標は何ですか?

益田先生にいわせれば、「一人でもドクターにいく人を増やして、ドクターを とらせる」なんじゃないでしょうか(笑)。

産業界で新しいOSを設計したりシステムソフトを作ったりする時に de facto standard (デファクトスタンダード) というか、こういう風にやるのが当然だ よな、とみんなが思うやり方を生み出すのが目標だと思います。具体的には、 新しいソフトウェア・アーキテクチャや、何かのプロトコルなどです。

例えば、今だとマルチプロセッサマシン用に、OS が thread を提供するのは あたり前で、商用 OS なんかもみんなそうしています。でも数年前までは、そ の細い実装方式なんかを世界中が研究してました。益田研でも Xero っていう OS を実際に作っていて、あちこちで論文発表しました。そういう活動って、 最終的には Sun なり Microsoft の OS に自分らのアイデアを取り入れてもら うのが目標なんです。

要するに、もっとふざけた言い方をすると、我々の目標は、ずばり、「世界征 服」です。我々のアイデアとか開発したソフトとか、世界をせっけんする、と いう意味なんですけど。

Q その目標を実現するために研究室でやっているプロジェクトを教えて下さい。

え、別にまだどのプロジェクトも世界征服のめどはたってません。(笑)

とりあえず今やっていることを説明すると、益田研は基本的に、OS kernel と その上にのっているシステムソフトウェアの研究をやってます。ソフトウェア は一般に3つのエリアに分かれていて、OS、ミドルウェア(ファームウェア)、 そしてアプリケーション。益田研は最後のアプリケーションを除いた残り2つ をやってます。

ミドルウェアというのは、いわゆる X-Windows とかユーザインターフェース だとか、あと Web なんかもそうです。そういうのって、OS の一部みたいに思 う人もいるだろうし、事実、昔は OS kernel の一部だったりしたのですが、 最近は、OS kernel 本体は小さく作って、ごくごく基本的な仕事だけさせて、 残りの派手な(笑)機能は、kernel 外でミドルウェアとして実装する、という のが流行です。WindowsNT なんかはそういう風になってます。こういう潮流は 80年代の OS 研究から生まれました。残念ながら益田研はこの話題にはかんで ませんでした。でも、僕自身は興味があって、やりたいと思ってます。最近、 やっぱりそうやって実装すると遅くてだめだから、なんとかしよう、という風 潮になってきてますし。益田研でもそれっぽいことを始めていて、kernel の 中にユーザコードを送りこんで、高速実行するなんてことをやっている人がい ます。

僕自身はずっと OpenC++ という自己反映言語を開発してきました。自己反映 というのは、プログラム中で自己言及できるからです。いったい何を自己言及 するかというと、そのプログラム(自分)のコンパイルの仕方とかそういうこと です。そういうことを目的に応じて変えることができます。例えば、プログラ ムのこの部分は、実はこういう意味なので、こういう風にコンパイルすると速 くなるよ、ってコンパイラに助言できたら、うれしいでしょ。あと、このプロ グラムは分散処理したいから、オブジェクトが分散オブジェクトになるように コンパイルして、とか。

なんでそれが OS の研究かって? いやー、益田研には由緒正しい「OS グルー プ」と、あぶれものの「その他大勢グループ」っていうのがあって、その他大 勢グループでは何やってもいいことになってるんです。僕の他には、オブジェ クト指向データベースやってた人とか、関数型言語のコンパイラやっている人 とかいます。でもその他大勢グループって、あぶれものだから、みんな益田研 にいないで、外の大学とかで研究している人が多いんだよね。京大とか、Sony とか。僕自身は、ずっとアメリカにある Xerox PARC にいた(る)し。自分がやっ ている分野で最先端のグループに、強制的?に里子に出されちゃうんです、益 田研では。(笑)

Q 対外的な研究成果というのはありますか?

OpenC++ は世界の研究者に結構使われている。結構というのは、several (4 とか 5) という意味ですが(笑)。まあ 10 くらい、dozen です。あ、でも世界 中の学生にだったら、もっと使われているかもしれない。卒論とかのために。 だって、これこれの OpenC++ のプログラムを動かすと、core dump するんです けど、どうしたらいいでしょう、っていうメールがいっぱい来るから。

Q 研究室のプロジェクトの歴史を簡単に教えて下さい。

益田研プロジェクトだったら、最初が Xero で、次が Lucas。 歴代の助手ごとに違う OS 作ってました。もっとも両方ともメインでコードを 書いていた人は同じといううわさがある。おっと、大事なのを忘れていた。う ん十年前の日立の汎用機の OS は益田先生が作ってたそうです。先生は益田研 で唯一商用 OS を開発したことがある人です。日本のメーカが IBM 互換路線 をとる前の話です。先生は、会社から IBM の互換機を作れ、と言われたのに 腹をたてて日立辞めて大学に移ったそうです。どういう人かわかりますね。

Q この研究室に来ると他の研究室と比べてこんなことができるということはありますか?

NetBSD 改造して遊んでいても(あまり)おこられない(笑)。 私は卒論のとき、実は idraw の日本語化を裏でやってました。世間で使われ ている idraw は私が日本語化したものです。最近は違う人が日本語化した やつも出まわってるけど。

Q 研究室として、来て欲しい人/来て欲しくない人など、ありましたら。

うーん。物知りであることが偉いと思っている人は来ない方がいいなあ。よく いるでしょ、Unix のメンテとかに詳しくて得意がっている人。そういう人は 技術者としては偉いんだけど、研究者にはだめなんだよね。だって、研究って、 誰かが作ったもの (Unix とか) を勉強することじゃないから。誰も作ったこ とのないものを、作るのが研究だから。

Q この研究室に来るならこういうのを勉強しておいた方がいい、というものは ありますか?

コンピュータがどうやって動いているのか、ハードウェアからコンパイラまで 一応わかっていてもらわないと困るけど、でも、そういうのって、学部の授業で ちゃんと教えますよね。

Q 最後に、今の若者に一言、お願いします。

僕もまだ若者なんですけど。なんか言わなきゃだめ?じゃあ、僕の .plan (編注:自分の計画を書いておくファイル) とか どうでしょう。

Eat When Hungry,
Drink When Thirsty,
Hack Whenever.


戻る