オルタナティブ・ブログ > Software Development >

ソフトウェア製品開発現場の視点

Windows NT の祖先は DEC の VMS。では、Mac OS の祖先は?

»

前回のブログで紹介した書籍「闘うプログラマー」に書かれているように、Microsoft は、最新の OS を開発するために、元 DEC のデーブカトラーという頭脳を使いました。OS の解説の本を見ると、Windows NT のアーキテクチャーに DEC の VMS オペレーティングシステムの影響が強く現れていることが良くわかります。

一方、Apple は NeXT コンピュータ社が開発した、Unix をベースにした OS である NeXTSTEP を使って Mac OS X を作りました。長期にわたってビジネス的な成功を得られなかった Macintosh が Mac OS X のタイミングで復活してきたのは、新しい OS の影響が多大にあります。Mac OS X の登場は、技術的には Windows NT の登場と同じ効果がありました。どちらも、本来の意味でのマルチタスク(同時に複数の処理ができる)を実現した最初の OS だということです。旧来の Macintosh は、マルチタスクでないことによるいろいろな問題がありました(例えば1つのアプリケーションに問題があるだけでシステム全体が停止するなど)がありましたが、Mac OS X でようやくそれが解消されました。

「真のマルチタスク」なら、たとえば、あるアプリケーションで印刷をしている間に問題なく他の作業を継続できますが、「真のマルチタスク」でない場合は、印刷しながらの別の作業をさせたいときには、特別にその機能を作り込む必要があります。「真のマルチタスク」ならば、アプリケーション開発者は、他のアプリケーションを意識する必要がないため、プログラムがシンプルになり、プログラムの開発コスト、テストコストを削減できるのです。そしてそれによって、対応アプリケーションの数が増加し質が向上することにつながりました。

やり方は違いましたが、双方に共通しているのは、オペレーティングシステムのようなソフトウェアは、簡単に作れる訳ではないので、外から持ってきたものをコアにして最新の技術を入れたということです。Microsoft は Windows NT の開発にデーブカトラーの頭脳を持ってきました。Apple は、買収した NeXT 社が持っていた Unix ベースの OS を持ってきました。どちらも、過去の蓄積を最大限に利用しなければ、成功はなかったと思います。

余談ですが、Macintosh や iPhone のアプリケーションを開発するときに使う API (クラス) の名前に、"NS" で始まるものがあります。最初は、特に気にしていませんでしたが、後から NeXT の OS である NeXTSTEP からもってきたものであることを知りました。API の名前にも歴史が刻まれているのですね。

Comment(4)