Skip to content

Unix 以外のオペレーティングシステム

Published: at 06:14

Unix 以外の簡単な歴史と特徴をまとめる。

MacOS

Macintosh OS は、先駆的な GUI 研究に刺激されてた 1980年代初期の Apple 社で開発された。世に出たのは 1984年の Macintosh 発売と同時である。

MacOS は、Mac インターフェースガイドラインという Unix とは大きく異なった思想を持つ。ガイドラインはアプリケーション GUI の表示と動作を詳細に規定している。特に重要なのは、「何かを置いたらそのまま残る」ところである。デスクトップ上のオブジェクトの位置は再起動後も維持される。すべてのプログラムは GUI を持つ。

設計者の意図した Macintosh の役割は、技術者ではないエンドユーザーを対象とするクライアントオペレーティングシステムである。

近年、古典的な MacOS はその生涯を終えた。MacOS X は、古い OS のほとんどの機能を取り込んだ上で、バークレーの伝統から派生した Unix OS に融合した。実際には、Darwin というオープンソース Unix カーネルの上に2つのプロプライエタリレイヤ (OpenStep と Mac GUI) を乗せた形になっている。MacOS は UNIX として認証されたオペレーティングシステムである。

Windows NT

Windows NT (New Technology) は、Microsoft の個人用ハイエンド OS またはサーバ用 OS である。NT は付け足しの連続で成長しているため、Unix の「すべてはファイルだ」やMacOS のデスクトップにあたる基本思想を持っていない。強いて言えば「ユーザは閉じ込めておかなければならない」である。NT オペレーティングシステムのターゲットユーザは主として技術者ではないエンドユーザである。

DOS (1981), Windows 3.1 (1992), Windows 95, Windows NT 4 (1996), Windows 2000, Windows XP (2002), Windows Server 2003 という各世代を経るたびに、基本的な部分が変化してきた。古い方法は時代遅れとみなされ、サポートも打ち切られる。

システムとユーザ設定データは、Unix のように無数のドットファイルやシステムデータに分散されておらず、中央のプロパティレジストリで一元管理されている。この方法はシステムの直交性を失い、ある1つのエラーでレジストリが破壊される。レジストリが破壊されるとオペレーティングシステム全体が使い物にならなくなる。また、レジストリの巨大化によってプログラム全体が遅くなってしまう。

Windows はライブラリのバージョンの処理が適切でないため、「DLL地獄」と呼ばれる設定上の問題を引き起こす。新しいプログラムをインストールすると、そのプログラムが依存していたライブラリを勝手にアップグレードすることがある。この問題は、 .NET 開発フレームワークによりある程度緩和されている。

Linux

Linux Torvalds によって 1991年に作られた Linux は、オープンソース Unix 系の中でも主導的な立場を占めている。しかし Linux には、オリジナル Unix の発展系統に属するコードが一切含まれていない。Linux は Unix 標準を元にして Unix と同じように動作することを目標として設計されている。

Linux コミュニティは、今までのどの Unix よりも他の環境との接続性を重視している。他の OS のファイルフォーマットやネットワークフォーマットをサポートし、Linux 内部でのソフトウェアによるエミュレートもサポートしている。このエミュレートによる吸収という戦略は、一部のライバルを包含して拡張する戦略とははっきり異なる。Linux は、互換性によってユーザが閉じ込められるということをしない。

Solaris

Solaris は Sun Microsystems によって開発され、UNIX として認証されたプロプライエタリ OS である。Unix戦争後、Sun は BSD ベースだった SunOS を、UNIX System V Release 4 ベースに置き換えた。これに Solaris という市場用の製品名がついた。2009 年に、Oracle が Sun を買収したことにより、現代では Oracle Solaris という名前になっている。

Solaris のオープンソースプロジェクトによって、OpenSolaris という OS も生まれた。しかし買収後は Oracle によってプロジェクト自体が停止した。

参考文献