| 開発者 | アップル社 |
|---|---|
| 書かれた | C、C++、Objective-C、アセンブリ言語 |
| OSファミリー | Unix系、[1] [2] FreeBSD、[3] BSD [4] |
| 作業状態 | 現在 |
| ソースモデル | 現在はオープンソースだが独自のコンポーネントがある[要出典]、以前はオープンソースだった |
| 初回リリース | 2000年11月15日 |
| 最新リリース | 24.0.0 / 2024年9月16日 |
| リポジトリ | github.com/apple-oss-distributions/distribution-macOS |
| プラットフォーム | 現在: x86-64、64ビット ARM、32 ビット ARM (32 ビット ARM サポートはクローズドソース) 履歴: PowerPC ( 32 ビットおよび 64 ビット)、IA-32 |
| カーネルタイプ | ハイブリッド(XNU) |
| 影響を受けた | NeXTSTEP、FreeBSD、BSD |
| デフォルトの ユーザーインターフェース | コマンドラインインターフェース(Unixシェル) |
| ライセンス | 主にApple Public Source License (APSL)、クローズドソースドライバ[5] |
| 公式サイト | 出典: opensource.apple.com |
Darwinは、macOS 、 iOS、watchOS、tvOS、iPadOS、audioOS、visionOS、bridgeOSの中核となるUnix系 オペレーティングシステムです。以前は独立したオープンソースオペレーティングシステムとして存在し、2000年にApple社によって最初にリリースされました。NeXTSTEP、FreeBSD 、 [ 3 ]他のBSDオペレーティングシステム、[6] Mach、その他のフリーソフトウェアプロジェクトのコードから派生したコードと、Appleが開発したコードで構成されています。Darwinの公式マスコットはカモノハシのHexleyです。[7]
Darwin はほぼPOSIX互換ですが、それ自体はどのバージョンの POSIX とも互換性があると認定されたことはありません。Leopard 以降、macOS はSingle UNIX Specifications version 3 (SUSv3)と互換性があると認定されています。[8] [9] [10]
歴史

Darwin の伝統は、 1989 年に最初にリリースされたNeXTのNeXTSTEPオペレーティング システム (バージョン 4.0 以降は OPENSTEP として知られる) の側面を補完した Unix 派生製品から始まりました。Apple は 1996 年に NeXT を買収した後、次期オペレーティング システムを OPENSTEP に基づいて開発すると発表しました。これは1997 年にRhapsody、 1999 年にMac OS X Server 1.0、2000年にMac OS X Public Beta、 2001 年にMac OS X 10.0へと発展しました。
1999年、AppleはMac OS X ServerのMach 2.5マイクロカーネル、BSD Unix 4.4 OS、Apache Webサーバーコンポーネントのソースコードを公開すると発表した。 [11]当時、暫定CEOの スティーブ・ジョブズは英国の 博物学者 チャールズ・ダーウィンに言及し、「これは進化に関するものだから」と発表した。[12] 2000年、Mac OS Xのコアオペレーティングシステムコンポーネントは、Apple Public Source License (APSL)の下でDarwinとしてオープンソースソフトウェアとしてリリースされました。CocoaやCarbonフレームワークなどの高レベルコンポーネントはクローズドソースのままでした。
2005年4月にリリースされたDarwin 8.0.1まで、AppleはMac OS Xの各メジャーリリース後にバイナリインストーラー( ISOイメージとして)をリリースし、 PowerPCおよびIntel x86システムにスタンドアロンオペレーティングシステムとしてDarwinをインストールできるようにしました。[13]マイナーアップデートは個別にインストールされるパッケージとしてリリースされました。Darwinは現在、ソースコードでのみ利用可能です。2023年1月現在、AppleはオープンソースのWebサイトでDarwinの名前を挙げておらず、macOSとiOSに関連するオープンソースプロジェクトの不完全なコレクションのみを公開しています。
デザイン

カーネル
DarwinのカーネルはXNUであり、OSFのOSFMK 7.3 [14] (Open Software Foundation Mach Kernel ) 、 FreeBSDのさまざまな要素(プロセスモデル、ネットワークスタック、仮想ファイルシステムを含む)[15] 、およびI/O Kitと呼ばれるオブジェクト指向のデバイスドライバAPIを使用したハイブリッドカーネルです。[16]ハイブリッドカーネル設計は、マイクロカーネルの柔軟性[17] [検証に失敗–議論を参照]とモノリシックカーネルのパフォーマンスを提供します。[18]
ハードウェアとソフトウェアのサポート
Darwinの最後の起動可能なフルリリースは、32ビットおよび64ビットのApple PowerPCシステムと32ビットのIntel PCをサポートしていました。[19]
Darwin には現在、Intel ベースのMacで使用されているIntel x86プロセッサの64 ビット x86-64バリアントと、iPhone 5S以降、第 6 世代 iPod Touch、第 5 世代 iPad以降、iPad Airファミリー、iPad Mini 2以降、iPad Proファミリー、第 4 世代以降のApple TV、HomePodファミリー、 2020 Apple M1 MacなどのAppleシリコン搭載Mac、および Raspberry Pi 3B で使用されている 64 ビット ARM プロセッサのサポートが含まれています。[20] [21] Appleが公式にサポートしていないIntelおよびAMD x86プラットフォームでDarwinをサポートするXNUカーネルのオープンソースポートが存在するが、2009年以降更新されていないようだ。 [22] ARMプラットフォーム用のXNUカーネルのオープンソースポートも存在するが、2016年以降更新されていない。[23]古いバージョンでは、32ビットPowerPC、64ビットPowerPC、32ビットx86、および32ビットARMの一部またはすべてをサポートしていた。
Darwin はBSD系 (主にFreeBSDユーザーランド)を通じてPOSIX API をサポートしているため、さまざまな他のUNIX 系システム用に書かれた多数のプログラムを、ソース コードを変更することなく Darwin 上でコンパイルできます。
Darwin には、 CarbonやCocoa API、Quartz CompositorやAqua ユーザーインターフェイスなど、macOS を定義する要素の多くが含まれておらず、そのため Mac アプリケーションを実行できません。ただし、マルチキャストDNSレスポンダーでありBonjourネットワーク技術のコア コンポーネントである mDNSResponder や、高度なサービス管理フレームワークであるlaunchdなど、macOS のあまり知られていない機能がいくつかサポートされています。
ライセンス
2003年7月、AppleはDarwinをApple Public Source License(APSL)バージョン2.0でリリースしたが、フリーソフトウェア財団(FSF)はこれをGNU General Public Licenseとは互換性のないフリーソフトウェアライセンスに分類している。[24]以前のバージョンはAPSLライセンスの以前のバージョンでリリースされており、オープンソースの定義の要件は満たしていたものの、FSFのフリーソフトウェアの定義を満たしていなかった。[25]
リリース履歴
以下は、主要な Darwin リリースとそのリリース日、および派生オペレーティングシステムのリリースの表です。[26]対応するリリースは異なる日にリリースされている可能性があることに注意してください。
Darwin 0~8 および対応する Mac OS X リリース
Mac OS X v10.1.1 のリリースで Darwin 1.4.1 から 5.1 にバージョン番号が飛躍したのは、NeXTSTEP から継承された Mac OS X のバージョンとビルド番号システムに Darwin を結び付けるためである。macOS のビルド番号システムでは、すべてのバージョンに固有の開始ビルド番号があり、それがどの macOS のバージョン全体の一部であるかを識別している。Mac OS X v10.0 のビルド番号は 4 から始まり、10.1 のビルド番号は 5 から始まり、以下同様である (それ以前のビルド番号は開発者向けリリースを表していた)。[31]
Darwin 9、iPhone OSの導入
Darwin 10-11; iPhone OS が iOS に名称変更
Darwin 12~15; Mac OS XがOS Xにブランド変更
Darwin 16~19; OS XがmacOSにブランド変更
ダーウィン20以降
注: 上記の表には、対応する OS リリースのリリース日が含まれています。Darwin バージョンのビルド日は公開されていません。以下のコマンドは、XNU カーネルのビルド日のみを示します。
ターミナルでuname -rコマンドを実行すると Darwin のバージョン番号 ("20.3.0") が表示され、uname -vコマンドを実行するとDarwin のバージョン番号を含むXNUビルド バージョン文字列が表示されます。sw_vers コマンドを実行すると、対応する ProductName ("macOS")、ProductVersion 番号 ("11.2.3")、および BuildVersion 文字列 ("20D91") が表示されます。
派生プロジェクト
Darwin はフリー ソフトウェアであるため、オペレーティング システムを変更または強化することを目的としたプロジェクトが存在しています。
オープンダーウィン
.png/500px-GNOME_2_running_on_openDarwin_(2004).png)
OpenDarwinは、Darwinシステムをベースにしたコミュニティ主導のオペレーティングシステムです。2002年4月にApple社とInternet Systems Consortiumによって設立されました。その目的は、Appleの開発者とフリーソフトウェアコミュニティの協力関係を強化することでした。OpenDarwinの改良がDarwinのリリースに取り入れられるため、Appleはこのプロジェクトから恩恵を受けました。また、フリー/オープンソースコミュニティは、独自のオペレーティングシステムを完全に制御できるようになり、GNU-Darwinなどのフリーソフトウェアディストリビューションで使用できるようになりました。[39]
2006年7月25日、OpenDarwinチームは、OpenDarwinが「Mac OS X関連プロジェクトの単なるホスティング施設になってしまった」と感じ、スタンドアロンのDarwinオペレーティングシステムを作成する努力が失敗したため、プロジェクトを終了すると発表しました。[40]また、彼らは「ソースの入手性、Appleの担当者とのやり取り、ソースの構築と追跡の難しさ、コミュニティからの関心の欠如がすべてこれに貢献しています」と述べています。[41]最後の安定したリリースは、2004年7月16日にリリースされたバージョン7.2.1でした。[42]
ピュアダーウィン
PureDarwinは、Appleが公開したDarwinのソースコードから起動可能なオペレーティングシステムイメージを作成するプロジェクトです。[43] OpenDarwinの停止とDarwin 8.x以降の起動可能なイメージのリリース以来、多くのコンポーネントがクローズドソースになったため、完全なオペレーティングシステムを作成することはますます困難になっています。2015年にプロジェクトはX11 GUIを備えたDarwin 9に基づくプレビューリリースを作成し、[44]続いてDarwin 17に基づくコマンドラインのみの17.4ベータ版を作成しました。[45]
その他の派生プロジェクト

- XQuartz は、 macOS (Darwin)上で実行されるX Window Systemのコンポーネントです。XDarwinは、Apple の X11.app が導入される前のものです。
- GNUstepは、 Cocoa (旧OpenStep ) Objective-Cフレームワーク、ウィジェット ツールキット、およびUnix 系オペレーティング システム用のアプリケーション開発ツールのフリー ソフトウェア実装です。
- Window Maker は、より広範な GNUstep プロジェクトの一部としてNeXT GUI をエミュレートするように設計されたウィンドウ マネージャーです。
- WebKit は、主にApple のSafariウェブブラウザ、およびiOSとiPadOS上のすべてのウェブブラウザで使用されるブラウザエンジンです。
- MacPorts (旧称 DarwinPorts)、Fink、Homebrew は、UNIX プログラムを Darwin オペレーティング システムに移植し、パッケージ管理を提供するプロジェクトです。さらに、RPM、pkgsrc、Portageなどのいくつかの標準 UNIX パッケージ マネージャーにも Darwin ポートがあります。これらの一部は、ベース システムに干渉しないように独自の名前空間で動作します。
- GNU-Darwin は、フリー ソフトウェアのパッケージを Darwin に移植するプロジェクトでした。Linuxディストリビューションと同様の方法で OS イメージをパッケージ化します。
- Darwineプロジェクトは、 Darwin 上でMicrosoft Windowsソフトウェアを実行できるようにするWineの移植版でした。
- SEDarwinはTrustedBSDの 強制アクセス制御フレームワークとSELinuxフレームワークの一部をDarwinに移植したものです。 [46] Mac OS X 10.5に組み込まれました。[47]
- Darbatプロジェクトは、 L4マイクロカーネルファミリーへのDarwinの実験的な移植でした。既存のDarwinバイナリとのバイナリ互換性を目指しています。[48]
- Darlingプロジェクトは、Linuxシステム上でmacOSバイナリを実行するための互換性レイヤーです。Darwinのソースコードを使用しています。[49]
- ドライバサポートに重点を置いた様々なプロジェクトがあります。例えば、ワイヤレスドライバ、[50] [51]有線NICドライバ[52] [53] [54]モデムドライバ[55]カードリーダー[56] ext2およびext3ファイルシステムなどです。[57] [58]
- DarwinBSDプロジェクトは、パッケージにpkgsrcを使用するDarwinプロジェクトです。オープンソースプロジェクトです。[59]
参照
参考文献
- ^ 「カーネルアーキテクチャの概要」。カーネルプログラミングガイド。2019年5月9日時点のオリジナルよりアーカイブ。2019年5月27日閲覧。
- ^ “darwin-xnu/README.md at master”. GitHub . 2019年3月31日時点のオリジナルよりアーカイブ。2019年11月21日閲覧。
- ^ ab 「Apple BSD Overview」。Apple。2002年。2018年11月7日時点のオリジナルよりアーカイブ。 2002年1月1日閲覧。
- ^ “Apple - パブリックソース - Darwin FAQ”. 2004年11月19日時点のオリジナルよりアーカイブ。 2021年8月9日閲覧。
- ^ 「PureDarwin に必要なバイナリ ドライバー」。2009 年 11 月 18 日時点のオリジナルよりアーカイブ。2009 年7 月 20 日閲覧。
- ^ “1. システムの概要”. NeXTstep Concepts . NeXT . 2021年11月21日時点のオリジナルよりアーカイブ。2021年3月26日閲覧。
- ^ http://www.hexley.com/
- ^ 「Mac OS X Leopard - テクノロジー - UNIX」。Leopardテクノロジー概要。Apple Inc. 2008 年 12 月 27 日時点のオリジナルからのアーカイブ。Leopard
は現在、C API、シェル ユーティリティ、およびスレッドの SUSv3 および POSIX 1003.1 仕様に準拠した Open Brand UNIX 03 登録製品です。
- ^ The Open Group (2007年5月18日). 「IntelベースのMacintoshコンピューターでのMac OS Xバージョン10.5 Leopardの認定」。2019年10月25日時点のオリジナルよりアーカイブ。 2013年2月11日閲覧。
- ^ 「IntelベースのMacコンピュータ上のmacOSバージョン10.13 High Sierra」。The Open Group。2017年9月28日時点のオリジナルよりアーカイブ。2017年11月19日閲覧。
- ^ Walsh, Jeff (1999年3月22日). 「Apple、主要OSコンポーネントをオープンソース化」. InfoWorld . 第21巻第12号. IDG InfoWorld. p. 40. 2020年2月17日閲覧。
- ^ Kahney, Leander. 「Apple Opens OS Code」. Wired . Condé Nast. 2020年2月17日時点のオリジナルよりアーカイブ。 2020年2月17日閲覧。
- ^ 「Apple ISO ダウンロード ディレクトリ」。2016 年 10 月 7 日時点のオリジナルよりアーカイブ。
- ^ Jim Magee。WWDC 2000 セッション 106 - Mac OS X: カーネル。14分目。2021年12月11日時点のオリジナルよりアーカイブ。
- ^ 「Mac テクノロジー概要: カーネルとデバイス ドライバー レイヤー」。Apple Developer Connection。2014年 3 月 9 日時点のオリジナルよりアーカイブ。2013 年2 月 11 日閲覧。
- ^ Singh, Amit (2004年1月7日). 「XNU: The Kernel」。2020年6月2日時点のオリジナルよりアーカイブ。 2013年2月11日閲覧。
- ^ Roch, Benjamin. 「モノリシックカーネルとマイクロカーネル」CiteSeerX 10.1.1.89.9877。
- ^ 「追加機能」。UNIX /Linux アプリケーションの OS X への移植。Apple Inc. 2017 年 11 月 14 日時点のオリジナルよりアーカイブ。2017 年11 月 13 日閲覧。
- ^ “Darwin 8.0.1 リリースノート”. 2005年4月29日. 2023年10月28日時点のオリジナルよりアーカイブ。 2023年8月16日閲覧。
- ^ “XNU board config for BCM2837”. GitHub . 2021年12月16日. 2021年12月5日時点のオリジナルよりアーカイブ。2021年12月5日閲覧。
- ^ “Raspberry Pi 3 Model B”. 2021年12月5日時点のオリジナルよりアーカイブ。2021年12月5日閲覧。
クアッドコア1.2GHz Broadcom BCM2837
- ^ 「Voodoo XNU カーネル ソース」。2015 年 9 月 30 日時点のオリジナルよりアーカイブ。2014 年4 月 25 日閲覧。Apache SVN クライアントが必要です。
- ^ 「XNU on ARMv7」。GitHub。2022年1月25日。
- ^ 「FSF による Apple パブリック ソース ライセンス (APSL) 2.0 に関する意見」。2020 年 5 月 4 日時点のオリジナルよりアーカイブ。2016 年7 月 22 日閲覧。
- ^ 「Apple Public Source License (APSL) の旧バージョンの問題点」。2020年4月19日時点のオリジナルよりアーカイブ。2016年7月22日閲覧。
- ^ 「オープンソースリリース」。Apple Developer Connection 。 2013年2月11日閲覧。
- ^ 「テクニカルノート TN2029: Mac OS X v10.1」。Apple Developer Connection。2001年11月14日時点のオリジナルよりアーカイブ。
- ^ ジョン・シラクーサ (2002 年 9 月 5 日)。 「Mac OS X 10.2 ジャガー」。アルステクニカ。2008 年5 月 31 日に取得。
- ^ ジョン・シラクーサ (2003 年 11 月 9 日)。 「Mac OS X 10.3 パンサー」。アルステクニカ。2008 年5 月 31 日に取得。
- ^ ジョン・シラクーサ (2005 年 4 月 28 日)。 「Mac OS X 10.4 Tiger」。アルステクニカ。2008 年5 月 30 日に取得。
- ^ Prabhakar, Ernie (2001 年 11 月 9 日). 「Darwin バージョン - ソフトウェア アップデート 1 の新しいスキーム」. darwin-development (メーリング リスト). 2009 年 1 月 14 日時点のオリジナルよりアーカイブ。2008 年6 月 2 日閲覧。
- ^ Siracusa, John (2007 年 10 月 28 日)。「Mac OS X 10.5 Leopard: Ars Technica のレビュー」。Ars Technica。2008年5 月 30 日閲覧。
- ^ Siracusa, John (2009 年 8 月 31 日)。「Mac OS X 10.6 Snow Leopard: Ars Technica のレビュー」。Ars Technica。2009年11 月 29 日閲覧。
- ^ ジェイルブレイクされたiPhone 4Sで発見されたもの
- ^ 「システム拡張機能と DriverKit - WWDC19 - ビデオ」。
- ^ 「SystemExtensions」。Apple開発者向けドキュメント。
- ^ 「DriverKit」。Apple開発者向けドキュメント。
- ^ システム拡張機能と DriverKit。Apple開発者向けドキュメント。
- ^ "OpenDarwin". OpenDarwin プロジェクト。2006 年 1 月 6 日時点のオリジナルよりアーカイブ。
- ^ Schofield, Jack (2006年7月26日). 「OpenDarwin Shutting Down」. The Guardian . 2023年3月18日閲覧。
- ^ OpenDarwin Core チームおよび管理者 (2006 年 7 月 25 日)。「OpenDarwin のシャットダウン」。OpenDarwin プロジェクト。2006 年 8 月 4 日時点のオリジナルよりアーカイブ。
- ^ “OpenDarwin 7.2.1 Released”. 2004年8月5日. 2004年8月5日時点のオリジナルよりアーカイブ。2019年10月7日閲覧。
- ^ “PureDarwin”. 2024年4月1日時点のオリジナルよりアーカイブ。2024年4月1日閲覧。
- ^ PureDarwin Xmas 2019年12月3日アーカイブ、Wayback Machine (2015)
- ^ “PureDarwin 17.4 Beta”. GitHub . PureDarwin. 2019年11月30日. 2019年12月13日時点のオリジナルよりアーカイブ。 2020年1月11日閲覧。
- ^ 「Security Enhanced Darwin」。SEDarwin。2007年1月22日。2011年10月5日時点のオリジナルよりアーカイブ。
- ^ 「Mac OS X の新機能: Mac OS X v10.5」。Mac OS X リファレンス ライブラリ。Apple Inc. 2009 年 11 月 13 日。2009 年 12 月 8 日時点のオリジナルよりアーカイブ。
- ^ 「L4/Darwin (別名 Darbat)」Ertos.nicta.com.au、2007年5月9日。2013年12月19日時点のオリジナルよりアーカイブ。
- ^ “Darling: Linux 用 macOS 翻訳レイヤー”. www.darlinghq.org . 2020年4月21日時点のオリジナルよりアーカイブ。2020年1月11日閲覧。
- ^ yuriwho (2002年5月5日). 「WirelessDriver Home Page」. Wirelessdriver.sourceforge.net. 2020年7月28日時点のオリジナルよりアーカイブ。 2010年7月12日閲覧。
- ^ "iwi2200 Darwin". SourceForge 2009年3月27日。2009年8月18日時点のオリジナルよりアーカイブ。2010年6月13日閲覧。
- ^ 「Port BSD tulip driver(s) to Darwin OS | Port BSD tulip driver(s) to Darwin OS ソフトウェアを無料でダウンロード」。SourceForge.net。2010 年 7 月 16 日時点のオリジナルよりアーカイブ。2010年7 月 12 日閲覧。
- ^ 「RealTek ネットワーク ドライバー for Mac OS X/Darwin」。SourceForge。2006年 3 月 15 日。2010 年 7 月 24 日時点のオリジナルよりアーカイブ。2010年6 月 3 日閲覧。 プロジェクトは 2006 年 3 月 15 日以降非アクティブです。
- ^ fansui; et al. (2007 年 8 月 1 日). 「RTL8150LMEthernet」. SourceForge. 2008 年 9 月 7 日時点のオリジナルよりアーカイブ。2010年6 月 13 日閲覧。
- ^ 「ZyXEL Modem Drivers for OS X/Darwin | ZyXEL Modem Drivers for OS X/Darwin ソフトウェアを無料でダウンロード」。SourceForge.net。2002 年 5 月 14 日。2009 年 1 月 7 日時点のオリジナルよりアーカイブ。2010年7 月 12 日閲覧。
- ^ 「Mac OS X PC カード ATA ドライバー」。Pccardata.sourceforge.net。2001 年 12 月 20 日。2020 年 8 月 5 日時点のオリジナルよりアーカイブ。2010年7 月 12 日閲覧。
- ^ 「Mac OS X Ext2 ファイルシステム | Mac OS X Ext2 ファイルシステム ソフトウェアを無料でダウンロード」。SourceForge.net。2002 年 10 月 14 日。2010 年 7 月 22 日時点のオリジナルよりアーカイブ。2010 年7 月 12 日閲覧。
- ^ 「ユーザー空間の ext2 ファイルシステム」。SourceForge。2008年 7 月 14 日。2010 年 7 月 26 日時点のオリジナルよりアーカイブ。2010年6 月 13 日閲覧。
- ^ “DarwinBSD”. darwinbsd.tk . 2023年3月23日時点のオリジナルよりアーカイブ。2023年4月7日閲覧。
外部リンク
- Apple Developer Connectionで Darwin がリリース
- 個々のパッケージのソースコード
- ダーウィンのマスコット、ヘクスリー
- ピュアダーウィン
- Apple Museum の「MacOS X ビルド番号」Wayback Machineより(2011 年 12 月 25 日アーカイブ)
