OSとアーキテクチャ

コンピュータアーキテクチャのエッセンス (IT Architects Archiveシリーズ)

コンピュータアーキテクチャのエッセンス (IT Architects Archiveシリーズ)

  • 作者: ダグラス・E・カマー,Douglas E. Comer,鈴木貢,中條拓伯,仲谷栄伸,並木美太郎
  • 出版社/メーカー: 翔泳社
  • 発売日: 2007/06/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 2人 クリック: 107回
  • この商品を含むブログ (21件) を見る

「コンピュータアーキテクチャのエッセンス」という本を読んだ。いろいろ不満もあったが、予想以上に面白かった。著者のカマー教授はXinuと呼ばれる*1、教育用のUNIXモドキOSなどの研究で知られる。余談だけど、私が最初にTCP/IPの実装を勉強したのも、カマー教授の教科書だった。

さて最近、とある大学の先生と「OSをスクラッチから書くというのは研究テーマになりにくい」「今、スクラッチから書くなら、VMMあたりが落としどころか」などという話をしていた。コンピュータサイエンスは、(本当にサイエンスなのかという話は置いたとして)サイエンスの中では比較的歴史が浅い分野ではあるけど、年々研究分野が細分化しているし*2、システムソフトウェアも例外ではない。

例えば、本来、OSとアーキテクチャは、密接に関係するものなのに、世の中の流れを見ていると、どこかバラバラに進化しているように感じることもある。プロセッサ、メモリ、入出力の高速化、高性能化と比べると、OSの歩みは相対的に遅いのではないか? ハードウェアよりもソフトウェアの方が自由度が高そうに見えるけど、実際、一度動き始めるとソフトウェアは硬直化し、変わりたがらないのではないか(特に商用OSでは互換性が「抵抗勢力」となる)、とも思えてくる。

また、別の人曰く、「我々の頃(TK-80とかの頃)は、クロックレベルで計算機のすべてを把握できた。でも、今は無理。OSもからんでくるし、わけわからん。」「今の若い人はその点、不幸だね。」私はギリギリOSがないパソコンを知っている世代であるけど、こういうご時世だからこそ、ソフトウェア屋(プログラマ)の視点からみたアーキテクチャの教科書があればいいのにと強く思っていた。

アーキテクチャの教科書と言えばヘネパタ(パタヘネ)本が有名だけど、アーキテクチャの研究者には必須だけど、素人が手出しすると火傷する。タネンバウム教授のStructured Computer Organization (SCO)はお薦めだけど、これも重い。そこで最近翻訳された「コンピュータアーキテクチャのエッセンス」。SCOに書かれているようなディテールはばっさり切り捨てられているけど、プロセッサ、メモリ、入力の三大要素が、プログラマの視点から串刺しされて、組織化されているところがすばらしい。内容的に新しく知ったというものはないけど、こういう視点があったかと思いながら読んだ。ちなみに、私は興味の向くまま、章を逆順に読んでみた。

(続きはあとで書く)

*1:たしかXinu Is Not UNIXの略。

*2:「科学」という言葉は明治時代に西周が考えた造語である。「科」という言葉の語源は枝分かれしている様を示すらしい。ちょうど系統図や樹形図を想像してもらいたい。そういう意味ではコンピュータサイエンスも立派な「科学」になったのか。