Darwin(ダーウィン)とは
Darwinは、
Appleが開発したオープンソースの
オペレーティングシステム(OS)です。macOS、iOS、iPadOS、watchOS、tvOSなど、
Appleの主要なOSの基盤として機能しています。
Unix系のOSとして、その核となる部分にはBSD系の機能も取り入れられています。Darwinは、オープンソースおよび自由
ソフトウェアとして公開されており、
Apple Public Source License(APSL)の下で、誰でも入手、インストール、運用が可能です。
概要
当初、Darwinは
PowerPCベースのMacで動作していましたが、後にIntel Macにも対応しました。Intel
CPUへの移行後も、対応する
ソースコードが公開され、オープンソースとしての立場が維持されています。インストール用のCDイメージは提供されていませんが、後継プロジェクトであるPureDarwinのサイトからダウンロードできます。
テクノロジー
Darwinは、NEXTSTEPからOPENSTEPへと続く流れを汲み、Mach 3.0+BSDをベースとしています。POSIX互換を目指していますが、POSIXのどのバージョンにも準拠認定はされていません。macOSはLeopard以降、Single
UNIX Specification version 3 (SUSv3)準拠の認定を受けています。
Darwinの
カーネルはXNUと呼ばれており、Machを採用していますが、マイクロ
カーネル構造は採用されていません。これは、パフォーマンス上の懸念を考慮した結果です。I/OKitという
オブジェクト指向のフレームワークがドライバモデルとして使用されています。これはNEXTSTEPのDriverKitの後継であり、
C++で実装されています。
Darwinの起動
プロセスはlaunchdというデーモンによって行われます。これは、他の
Unix系システムのinitに相当する役割を果たし、ネットワークポートの監視やcronのようなスケジュール実行機能も担当します。Core FoundationなどのCore Serviceの一部も含まれます。
Darwinのインターフェース
DarwinにはCocoa、Core Image、Core Audio、
WebKitといったAPIやGUI関連の要素は含まれておらず、操作画面はCUI(Character User Interface)となっています。
歴史
Darwinの起源は、
1989年にリリースされたNeXTのNeXTSTEP OSに遡ります。1997年に
AppleがNeXTを買収した後、OPENSTEPをベースに開発が進められました。これがRhapsody、Mac OS X Server 1.0、Mac OS X Public Betaを経て、
2001年にMac OS X 10.0としてリリースされました。Mac OS XのコアコンポーネントはDarwinとしてオープンソースで公開されています。
当初、
AppleはISOイメージの形で
バイナリインストーラーを提供していましたが、現在は
ソースコードのみが利用可能です。ただし、
ARMアーキテクチャ向けのDarwinはiOSなどから分離されてリリースされていません。しかし、趣味の開発者が公式のDarwin
ソースコードをARMに移植した例もあります。
リリース履歴
Darwinのリリースと対応するmacOSのバージョンは以下の通りです。
Darwin | macOS (Mac OS X / OS X) |
---|
:--- | :------ |
1.0 | Mac OS X Public Beta |
---|
1.3 | Mac OS X 10.0 |
1.4.1 | Mac OS X 10.1 |
5.1 | Mac OS X 10.1.1 |
6.0 | Mac OS X 10.2 |
7.0 | Mac OS X 10.3 |
8.0 | Mac OS X 10.4 |
9.0 | Mac OS X 10.5 |
10.0 | Mac OS X 10.6 |
11.0 | Mac OS X 10.7 |
12.0 | OS X 10.8 |
13.0 | OS X 10.9 |
14.0 | OS X 10.10 |
15.0 | OS X 10.11 |
16.0 | macOS 10.12 |
17.0 | macOS 10.13 |
18.0 | macOS 10.14 |
19.0 | macOS 10.15 |
20.0 | macOS 11.0 |
21.0 | macOS 12.0 |
22.0 | macOS 13.0 |
23.0 | macOS 14.0 |
macOSのバージョン番号は、Darwinのビルド番号体系と連動しており、unameコマンドで確認できます。
派生プロジェクト
Darwinは自由
ソフトウェアであるため、多くの派生プロジェクトが存在します。
OpenDarwin
OpenDarwinは、
Appleと自由
ソフトウェアコミュニティが協力して開発したOSですが、独立したOSを構築できずにプロジェクトは停止しました。
PureDarwin
PureDarwinは、OpenDarwinの後継として、Darwin 9をベースにしたリリースを作成しています。X11、DTrace、
ZFSなどが含まれる「PureDarwin XMas」や、最小限のコンポーネントを持つ「PureDarwin nano」があります。
その他の派生プロジェクト
- - XQuartz: macOS向けのX Window System実装。
- - GNUstep: OPENSTEPから派生した開発環境で、ウィジェットツールキットも含む。
- - Étoilé: GNUstepをベースにしたデスクトップ環境。
- - WebKit: macOSのSafariで利用されるレンダリングエンジン。
- - MacPorts, Fink, Homebrew: Darwin OSにUNIXプログラムを移植するプロジェクト。
- - GNU-Darwin: Darwinに自由ソフトウェアのパッケージを移植するプロジェクト。
- - Darwine: WindowsソフトウェアをDarwin上で実行できるようにするプロジェクト。
- - SEDarwin: TrustedBSDとSELinuxのフレームワークの一部をDarwinに移植するプロジェクト。
- - Darbat: L4マイクロカーネルへのDarwinの実験的な移植。
その他、ワイヤレスドライバ、NICドライバ、
ファイルシステムドライバなど、ハードウェアサポートを目的とした様々なプロジェクトが存在します。
まとめ
Darwinは、
Appleの多くのOSの基盤であり、オープンソースとして広く利用されています。その技術的な特徴や歴史、派生プロジェクトを理解することは、
Apple製品の裏側を知る上で非常に重要です。