見出し画像

「BSDカーネルの設計と実装―FreeBSD詳解」訳者まえがき

過去に書いた記事を再掲しています。編集前のものなので、出版されたものとは異なるし、掲載にあたり若干修正している場合もあります。これは2005年にアスキーから出版された「BSDカーネルの設計と実装―FreeBSD詳解」のまえがきとして書いたもの。

この本は、これからオペレーティングシステムを勉強する若い人達はもちろんのことだが、個人的には「俺は UNIX にはちょっとうるさいぞ」という少し現役を離れた30台後半以降の世代にも読んでもらいたいと思う。この十何年かの間に BSD の世界に起こった変化を知れば少なからず驚くはずだ。たとえば、実行の単位はプロセスではなく完全にスレッドになっていて、スワップ領域がなくてもプロセスは fork できてしまう。ディスクのセクタやシリンダの意味は全然違うものとなり、ブロックデバイスはなくなってしまった。マルチユーザのままでもディスクのダンプが取れるし、システムがクラッシュしても fsck しなくてもいいのだ。そして、これが肝心なのだが、なぜしなくてもいいのかがちゃんと解説されている。

大学を出て入社した SRA は (たまたまなのだが) 日本ではじめて本格的なソフトウェア開発に UNIX を導入した会社である。VAX 750 上の 4.1BSD UNIX での新入社員研修を終えると、慶応大学と共同でオペレーティングシステムを開発するプロジェクトに配属された。ミーティングには寿司の出前を頼むのが通例で、新米の僕は寿司の注文と議事録の係だった。大学院生だった砂原さんとはじめて会ったのはこの頃である。村井純先生もまだ博士課程の学生だったが、翌年東工大に移って、そこから JUNET を経て WIDE プロジェクトへと、今でもお付き合いが続いている。

1986年の冬、当時 SRA の専務だった岸田さんが Unix Review 誌のインタビューを受けるということでそれに同席した後、サンフランシスコの Piano Zinc というレストランに連れていかれた。そこにやってきたのが、Kirk McKusick と Eric Allman の両氏で、彼らと話をしたのはこれが最初だったと思う。この時、僕は Sun Microsystems に丁稚に出されていて、4.3BSD 上の NFS の実装作業をしていた。その後、ソニー NEWS ワークステーション上での 4.4BSD 開発のために、 1991 年から1年程カリフォルニアに滞在することになった。打ち合せの後は、CSRG の面々と大学の近くの店でテーブルのようなピザを食べた。滞在中に受けた BSD のカーネルクラスは、Kirk はもちろん Mike Karels や Van Jacobson、Chris Torek など豪華キャスト総出演の講義だった。 USENIX の BoF では、Bill Jolitz がものすごい剣幕で退席する現場も目にした。

IIJ に移って最初に作ったファイアウォールサービスは BSDI の BSD/OS を使ったもので、開発環境もサーバ群も BSD 系のオペレーティングシステムが多い。考えてみると、社会人経験の大半は BSD UNIX と関わりのあるものだったし、公私を通じて付き合いの多くがそうである気がする。本書の内容は、それぞれのトピックが自分の経験のどこかにマップされ、技術的内容以上に感慨深いものとなっている。だから、本書を翻訳する機会をいただいたのは望外の喜びであり、また翻訳作業を通じてまた新しい付き合いを広げることができた。

同じような人のつながりが他の人達にもそれぞれあって、それらは全体としてネットワークを形成する。本書の冒頭で著者が書いている BSD コミュニティというのは、そういうものを指すのだろうし、同じことを自分からも伝えたいと思う。多くのコミュニティメンバーの想いが、今このような形として結実したのであり、著者ましてや訳者はその代弁者にすぎない。

今回、直接的にお世話になった方々もたくさんいる。まず、すべての翻訳作業を一人で行う時間を確保することができたのは、株式会社インターネットイニシアティブに負うところが大きい。鈴木幸一社長をはじめ社員の方々のおかげである。著者の二人には、最後にまとめて質問を投げたのにもかかわらず、迅速かつ丁寧に対応していただいた。不得意分野であるデバイスの部分については、細川達己さんと梅本肇さんの助けがなければ、とても今の形にはならなかっただろう。曽田哲之さんと今津英世さんからは、技術的な内容以外にも多くの有益な意見をいただいた。ネットワーク、特に IPv6 部分は、山本和彦さんからの多くの貴重な指摘を反映している。翻訳に煮詰まると、よく研究所の和田英一所長に相談にのってもらった。この他、IIJ と WIDE プロジェクトのメンバーからは、多くの貴重なアドバイスをいただいた。感謝いたします。

原著は著者のまえがきにもあるように troff で書かれているが、本書の組版にはアスキー独自の EWB システムを使用している。原書の情報をなるべく保存し、編集上のミスを防ぐために、 troff から EWB への変換プログラムを Perl で作成した。この作業については、アスキーの富樫秀昭さんに助けていただいた。

最後に、今回の機会を作っていただいた砂原先生と、編集担当の濱中悟さんには、最初から最後まで大変お世話になりました。お疲れ様でした。これほど多くの支援を得ながらも、まだ不備な点が残っているとすれば、それはすべて訳者がいたらぬせいである。

冒頭で BSD も大きく変化しているのだと書いたが、基本的な姿勢は少しも変わっていない。技術的内容はもちろんだが、本書全体を通じて感じとれる BSD 流の文化と精神がなるべく多くの方に伝われば、訳者としてこれ以上の喜びはない。

歌代 和正


この記事が気に入ったらサポートをしてみませんか?