トップQs
タイムライン
チャット
視点

Darwin (オペレーティングシステム)

アップルが開発するUnix系のPOSIX準拠オペレーティングシステム (OS) ウィキペディアから

Remove ads

Darwin(ダーウィン)は、Appleが開発するオペレーティングシステム (OS) で、macOSiOSiPadOS、さらにはwatchOStvOSaudioOSbridgeOSvisionOS基礎となる部分でもある。

概要 開発者, プログラミング言語 ...
Remove ads

概要

Darwinはオープンソース及び自由ソフトウェアとして公開されており、他のフリーなUnix系同様に特定のライセンス、Apple Public Source License (APSL) 下で入手、インストール、運用が可能であり、PowerPCベースのMacだけでなく、サポートされているハードウェアドライバの問題からハードウェア構成は限定されるが、Intel Macではないインテル機でも動作する。

しかし、この公開されていたソースコードでは当初Intel Macには対応していなかったためインテル製CPUに移行後はクローズドソースになるのではないかという臆測も流れたが、Intel Mac発売から半年後に対応のソースコードが公開された。

なお、2005年4月にリリースされた Darwin 8.0以降、インストール用CDイメージは公開されていないが、後継プロジェクトPureDarwinのサイトからダウンロードできる。

Remove ads

テクノロジー

Darwinは技術的にはNEXTSTEPからOPENSTEPに続く流れを汲み、Mach 3.0+BSDをベースとするUnix系のオペレーティングシステム(OS)の中核部で、一部の機能は他のBSD系OSからも取り入れている。ほぼPOSIX互換だが、Darwin自体はPOSIXのどのバージョンにも準拠認定されたことはない。Leopard以降、macOSはSingle UNIX Specification version 3 (SUSv3)準拠の認定を受けている[5][6][7]

カーネルXNU[8]と呼ばれ、Machを採用してはいるものの、macOSを動作させる場合には複数のサーバを組み込む必要はない。またパフォーマンス上の問題が懸念されたため、Darwinカーネル自体にマイクロカーネル構造は採用されていない。

ドライバモデルには、I/OKitと呼ばれるオブジェクト指向フレームワークを採用している。NEXTSTEPで採用されたDriverKitの後継のライブラリで、DriverKitのObjective-Cでの実装を機能限定版のC++での実装に置き換えたもの。開発ツールXcodeに含まれる。

Darwin (macOS) を立ち上げると最初に起動し端末の初期化を行うプロセスlaunchdというデーモンであり、他のUnix系システムのinitに相当する機能を担う。またinetd / xinetdと同じようにネットワークのポートを監視したり、cronのように指定時刻ごとにプロセスを立ち上げる機能も担当する(採用はDarwin 8.0から)。

DarwinにはCore FoundationなどCore Serviceの一部も含まれる[9]。ただし、CocoaCore ImageOpenGLGLSL)やCore Audio (OpenAL) やOpenCLといったAPIのほか、HTMLレンダリングエンジン群のWebKitXQuartzなどのGUI関連も含まず、Darwin単体の操作画面CUIとなっている。

Remove ads

歴史

Thumb
Unix系 OSの系統樹

Darwinは1989年に最初にリリースされた、NeXTNeXTSTEP OS(バージョン4.0からはOPENSTEPとして知られる)に起源を持つ。1997年AppleによるNeXTの買収後、次期のOSはOPENSTEPをベースに開発されることがアナウンスされた。これは同年にRhapsodyとなり、1999年には、Mac OS X Server 1.02000年には、Mac OS X Public Beta、そして2001年にはMac OS X 10.0に開発された。Mac OS Xのコアコンポーネントは、Apple Public Source Licenseの下、Darwinとしてオープンソースでリリースされているが、CocoaCarbonのようなより高次のコンポーネントはクローズドソースのままとなっている。

Darwin 8.0.1までのバージョンでは、Appleは、ISOイメージの形でバイナリインストーラーを提供していた[10]。これはMac OS Xのメジャーリリース後に、PowerPCIntel x86システムでDarwinをスタンドアロンのOSとしてインストールできるものであった。Darwinは現在、ソースコードとしてのみ利用できる[11]。ただしこれは、ARMアーキテクチャによるものを除いてであり、ARM向けDarwinはiOSwatchOStvOSから分離されてはリリースされていない。ただし、趣味的な開発者が公式のDarwinのソースコードをARMにポートしたwinocmがある[12]

リリース履歴

要約
視点

以下は主なDarwinのリリースと、それに対応するmacOS (Mac OS X / OS X) の表である。[13] 対応するmacOSは異なる日にリリースされたかもしれないことに留意し、それらのリリース日についてはmacOSの個別ページを参照。

さらに見る バージョン, リリース日 ...

Mac OS X v10.1.1のリリースで、バージョン番号がDarwin 1.4.1から5.1へ飛んでいるのは、DarwinをmacOSのバージョンとビルド番号の体系に結びつけたためである。macOSのビルド番号の体系では、すべてのバージョンが固有のビルド番号ではじまり、macOSのバージョンの全体の中のどの部分であるかわかるようになっている。Mac OS X v10.0は4ではじまるビルド番号があり、10.1には5ではじまるビルド番号があった(初期のビルド番号は開発者リリースを表していた)。Darwinのバージョンにあるピリオド以下の番号は、Mac OS Xのバージョンにある二つめのピリオド以下の番号とおなじである。Mac OS X v10.1.1(バージョン番号が飛んだときのバージョン)の場合は、ビルド5M28および10.1.1リリースであり、バージョン番号の5.1はこれに由来する。[20]

ターミナルuname -rのコマンドを実行するとDarwinのバージョン番号が表示され、uname -vとするとDarwinのバージョン番号をふくんだXNUのビルドバージョンが表示される。

Remove ads

派生プロジェクト

要約
視点

Darwinは自由ソフトウェアであるため、修正や強化を目的とする多くのプロジェクトがある。

OpenDarwin

Thumb
OpenDarwin上で実行されたGNOME

OpenDarwinはDarwinシステムをもとにしたコミュニティ主導のOSである。Appleの開発者と自由ソフトウェアコミュニティとの協調を高めることを目指して、2002年4月にAppleとInternet Systems Consortiumによって設立された。このプロジェクトはAppleによるDarwinのリリースに恩恵を与えたが、しかし独立したDarwin OSを作成する試みは達成できず、プロジェクトは停止した[21]

PureDarwin

2007年、PureDarwinプロジェクトがOpenDarwinの後継としてはじまり、現在[いつ?]Darwin 9にもとづいたリリースの制作が進められている。「PureDarwin XMas」と呼ばれる、Darwin 9にもとづいたデベロッパープレビューが入手できる。このリリースはX11DTraceZFSをもつ[22]。「PureDarwin nano」は最小限のコンポーネントだけをもつ、別のリリースである。

その他

Thumb
XDarwinで動作するWindow Maker
Remove ads

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads