オランダのアムステルダム自由大学のアンドリュー・S・タネンバウム教授は、コンピュータ・サイエンスの分野で高く評価されており、コンピュータに関する最も教養豊かな人物の一人と評価されている。数々の定番教科書の執筆やLinux開発のきっかけとなったMINIXの開発でも広く知られている。タネンバウム教授の代表的著作である『モダンオペレーティングシステム』の第5版は2025年11月、日本語版が21年ぶりに刊行された。この本の魅力や歴史、最新の第5版でどこが変わったかなどについて、訳者の一人である吉澤康文氏に解説してもらった。

 『モダンオペレーティングシステム 第5版上・下』は、アンドリュー・S・タネンバウム(Dr. Andrew Stuart Tanenbaum)らによる書籍『Modern Operating System』の第5版の翻訳書である。オペレーティングシステム(以降OSと略す)はハードウェアの能力を最大限に引き出す使命がある。技術が日々進化するため、対応するOSは「モダン」でなければならない。原著者らは長年の研究・開発から得られた体験と知識を通し、OSが「モダンハードウェア」のパフォーマンスをどのように効果的に提供できるのか、多角的な視点からその方式を解説している。また、本書では急速に進化するハードウェアにOSが適切に対応できているかという点についても随所で問いかけている。つまり、OSに関する他の書籍とは異なり、現代のコンピュータ環境におけるOSの役割について深く掘り下げているのが特徴であり、他のOSの解説書とは一線を画している。

 本書はハードウェアとOSの密接な関係を単に説明する技術者向けの教科書の範囲を超え、コンピュータシステムを情報中枢とする企業、社会システム、そしてPCやスマートフォンなどの利用者にOSが果たす役割を丁寧に説明している。最新のハードウェアならびに情報システムなどが理解しやすく詳しく説明されており、コンピュータやOSの初心者から現在の情報システムを専門に取り扱うエンジニアに至るまで、幅広い読者に貴重な書籍である。

実際のOS開発者としての知見がにじみ出る

 原著者の中心人物であるタネンバウム教授は多くの著書を執筆しているが、「モダンオペレーティングシステム」は世界中で広く読まれている代表的なOSの著書である。教授は単なる理論家ではなく、実用的なOSであるMINIXの設計と開発に携わる研究・開発者である。1987年に発表されたMINIXの解説書『Operating Systems: Design and Implementation』の第1版はMINIX 1.0のソースコードが付属した初めてのUNIX系教科書であり、その革新性によって大きな注目を集めた。 MINIXは最初からUNIXのようなモノリシック(monolithic:一枚岩的な)なOS構造ではなく、当時先進的であったマイクロカーネルの設計思想に基づき、信頼性と拡張性を重視して開発された。このMINIXは、Linuxの開発者として知られるフィンランドのリーナス・トーバルズ氏が参考にしたOSとしても広く知られている。

 その後、MINIXは拡張性と可用性の向上を目指し、2005年には英国ブライトンで開催された「ACM Symposium on Operating System Principles」の基調講演にてMINIX3が発表された。偶然、私はその場に同席したご縁でご挨拶し、MINIX3の解説書の邦訳を引き受けた。その後、2007年3月にリスボンの学会で再会したのは翻訳が完了し出版社に脱稿した直後であった。そのときに一緒に撮った写真を掲載する。MINIX3の翻訳書『オペレーティングシステム 設計と実装 第3版』は2007年12月に出版された。

2007年3月にポルトガル・リスボンの学会(Euro.Sys.Conference)にて撮影。左がProf. Dr. A.S.Tanenbaum、右が筆者(吉澤康文)
2007年3月にポルトガル・リスボンの学会(Euro.Sys.Conference)にて撮影。左がProf. Dr. A.S.Tanenbaum、右が筆者(吉澤康文)

 このように、タネンバウム教授は現実の設計・開発経験を持つ方であり、その実務に基づく知識が著書に反映されている。企業で重要なOSの研究と開発を担当していた私にとって、大学に勤務されていながら、これほどまでに現実のコンピュータを理解していることに驚きを覚え、心から尊敬できる人物だと感じている。教授は世界トップクラスのコンピュータに関する教養人の一人である。本書も含め、教授の著書は単なるOSの知識を解説するものではない。この本を読めば、文章の要所要所や行間から教授のコンピュータに対する哲学ならびにOSの設計思想などを読み取ることができるであろう。表面的な説明だけでなく、その背後にある考えにも目を向けながら、ぜひこの本をじっくりと味わって読み進めていただきたい。

OS設計の各手法の利点・欠点を定性・定量の両面から明らかに

 OSの設計では数多くの問題解決の場面に直面する。本書ではそれらの問題の解決方式を複数提示し、各方式を説明した後に特徴と利点ならびに欠点を定性的に丁寧に評価している。その評価の場面では、場合によっては定量的な評価を行い、その優劣を明確化することもある。定量的に評価する場面では理論やモデルを多彩に使用していることから、著者の理論的教養の深さを垣間見ることができるのも魅力の一つである。読者はOSの設計における科学的ならび工学的なアプローチを自然と学び取ることができ、上位技術者としての思考回路が醸成され、自然と技術的な質が向上するはずだ。

第5版では現代的なハードに対応、VMwareとWindows 11は開発者が解説

 第2版の時代から20年以上の年月が経過し、以降は邦訳されていなかったが、コンピュータ分野の様子はだいぶ変化した。ハードウェアは日々進化し、記憶容量の増加やハードディスクから主力となったSSDストレージへの移行などがなされた。第5版では、それら最新の機器が導入されたことを前提に、仮想記憶の仕組みについてもより詳しく説明されている。CPUのアドレッシングにおいても64ビットアーキテクチャへの拡張について丁寧に解説している。

 第6章では、「デッドロック」(複数の処理が互いの終了を待ち続け、どの処理も進まなくなること)の諸問題について説明しているが、ダイクストラが提唱した「食事する哲学者問題」を新たにわかりやすく取り上げている。第2版にあったマルチメディアOSの章は削除され、代わりに第7章では仮想化とクラウドという新しい課題を取り上げている。ここでは仮想化の一般論、マイクロカーネル、そしてクラウドと関係の深い仮想計算機を題材にしている。特筆すべきは,仮想計算機の代表的製品であるVMwareについて、その仕組みを解説しているところであろう。VMwareの創設者の一人が執筆している。

 第8章のマルチプロセッサでは、超並列コンピュータの進歩に合わせて内容を充実させ、マルチコアが一般的になった現状と、そこで生じるさまざまな諸問題やその将来について親切に説明を加えている。第10章では、UNIXとその発展型のLinuxの解説に加え、新たにスマホという身近なコンピュータ向けのOSとしてAndroidを詳しく紹介している。これらは、それぞれの開発に関わった方々が執筆に協力している。また、第11章では第2版で解説したWindows 2000から大きな進歩を遂げたWindows 11について、マイクロソフトの方が執筆している。

OS設計の要である「仮想化」「多重化」を重点的に解説

 原書は1200ページを超える一冊の本であり、今回の日本語版のように上・下巻ではない。偶然かもしれないが、上巻と下巻はその内容がまったく異なっている。上巻はモダンオペレーティングシステムの技術的エッセンスの説明である。そして下巻はそれらを凝縮した製品版OSの解説ならびにタネンバウム教授の設計哲学が語られている。

 まず上巻の構成を見てみよう。序論ではオペレーティングシステム発展の歴史を概観している。OSの概念を打ち出した1960年代中頃に開発されたIBM社のOS/360から始まり、サーバー、パソコン、スマホ、IoTとしての組み込みOS、リアルタイム、スマートカード用OSまでを概観している。これらはモダンオペレーティングシステムを理解するうえで極めて重要である。これらの各種OSの基礎的な各種の概念を具体的に紹介し、本書全体を読み進める導入としている。その後、OSのさまざまな概念や具体的なシステムコール、OSの構造などについて簡潔に説明している。

 OSの発展は、仮想化と多重化という2つの技術を中心に進んできた。仮想化は、実際のハードウェアをあたかも複数あるように見せることで、プログラムがハードウェアの制限を受けずに動作できるようにし、かつハード資源を効率よく活用するOSの技術である。一方、多重化は増大する処理を同時に並行して矛盾なく進めるために、ハードウェアのパワーをフルに活用するOSの技術である。コンピュータの主な資源はメモリ、入出力装置、CPUであるが、メモリの仮想化については第3章、入出力装置の仮想化については第4章と第5章、そしてCPUの仮想化については第7章で説明されている。また、多重化については第2章「プロセスとスレッド」、第6章「デッドロック」、第8章「マルチプロセッサ」で説明されている。このように、上巻ではOSの2つの主課題となる仮想化と多重化について分かりやすく解説されていることを意識して読むとよいだろう。

セキュリティ対策の実装法からUNIX系、Windows 11の事例研究まで

 次に下巻の構成を見ていく。コンピュータネットワークは世界中で広く使われるようになっているが、その一方で深刻な社会問題も発生しており、セキュリティの重要性が高まっている。タネンバウム教授はこの点をOSの課題と捉え、第9章で詳しく解説している。その中でOSとしての基本的な考え方やアクセス制御、セキュアシステムの形式的なモデル、認証や脆弱性などについて、分かりやすく説明している。このような内容はOSの本としては珍しい。

 下巻の中心となるのは、その後に続く2つの事例研究である。上巻で説明してきた全機能を包含する製品としてのOSを具体的に解説している。まず第10章では、UNIX、Linux、Androidという兄弟OSの事例をわかりやすく説明している。ターゲットとなる情報システムの違いなどを含め、その違いを理解できるであろう。第11章では、パソコンやサーバーでよく使われているWindows 11を詳細に紹介している。類似の機能もOSにより設計や用語が異なる点など、興味をひかれるはずだ。どのOSも大規模で複雑になっているが、それぞれの専門家がわかりやすく解説している。

OS設計者としての自らの哲学が語られる

 本書の締めくくりは第12章「オペレーティングシステムの設計」である。はじめにタネンバウム教授は「OSを設計する最善の方法について、設計者たちの間でまだ意見が一致していない。そのため、この章は個人的な意見や推測が多く、きっと議論になるであろう」と断ったうえで、教授のOS設計哲学が述べられており、とても興味深い章である。

 教授は冒頭、なぜOSの設計が難しいのかについて、8つの課題を挙げている。大規模化、並行性、悪意ユーザーへの対応、情報やリソースの共有要求、長期使用への対応、システム利用の考察力、移植性、過去のシステムとの互換性である。その後、設計の参考になる提言を行う。これらの考えは上位IT技術者を目指す読者にとって多くのヒントとなるはずだ。

 私は第2版でもこの章を翻訳した。私事になるが、OSの設計や実装を行う中で「そもそもOSの設計者には何が求められるのだろうか?」と自問することがあった。そこで私が行き着いた一つの答えは「OS設計者に問われるのはコンピュータのハード、ソフト、応用のすべてに対する教養の深さ」ではないかということである。

 この本には、計算機科学の知識とコンピュータに対する教養の深さだけでなく、社会科学にも詳しいタネンバウム教授の考えが詰まっている。行間から滲み出る教授のOSに対する設計哲学を奥深く味わえる内容となっている。

Prof. Dr. A.S.Tanenbaum(本記事のためにタネンバウム教授から届いた写真)
Prof. Dr. A.S.Tanenbaum(本記事のためにタネンバウム教授から届いた写真)

本書のプラスα:曖昧な点や誤解を生みそうな点は著者に確認して訳注を入れた

 最後に、タネンバウム教授は長年にわたりコンピュータやOS、分散システム、ネットワークの研究と開発に取り組み、卓越した専門知識を有している。私たち翻訳者は、原著の内容を正確かつ丁寧に伝えるため、各自が担当外の章も相互に読み合わせを行い、内容を細かく確認してきた。また、日経BPの担当者も原著と訳文を比較し、慎重にチェックを重ねた。その過程で、原書において表現が曖昧であり技術的に明確でなく誤解を生むような箇所がいくつか見受けられた。そこで私たちは著者へ問い合わせ、校正段階で回答をいただいた。その結果を翻訳書に反映している。

 翻訳書には訳注として補足情報が多く含まれており、原文の訂正もその中に含まれている。したがって、これらの箇所は原書と異なる場合があることを理解していただきたい。これらの訳注は読者の理解を助けるためのものであり、注意深く読んでいただければ幸いである。私たち翻訳者は専門的な知識を活かし、原著が本来伝えたい内容を的確に汲み取り、できる限り正確に伝えることを目指してきた。以上により、この翻訳書には原書に+αの価値が加わっていると自負している。

MINIXの開発者であり、コンピュータ・サイエンスの分野で世界的な定番となっている数々の教科書の著者であるアンドリュー・S・タネンバウム教授による、オペレーティングシステム技術の解説書『モダンオペレーティングシステム』。時代を超えて名著として親しまれている同書の21年ぶり待望の日本語版が登場。最新の第5版では、Windows 11やAndroidなど、最新のトピックまで詳しく解説。セキュリティの章は大部分を書き直し、その他の章も最新技術に対応して追加や変更を行っています。

アンドリュー・S・タネンバウム、ハーバート・ボス(著)、水野忠則、相田仁、最所圭三、佐藤文明、寺西裕一、菱田隆彰、福田晃、峰野博史、吉澤康文(訳)/日経BP/上巻6930円、下巻6380円(いずれも税込み)