Darwin (ダーウィン)は、Apple が開発するオペレーティングシステム (OS) で、macOS やiOS 、iPadOS 、さらにはwatchOS とtvOS 、audioOS 、bridgeOS 、visionOS の基礎 となる部分でもある。
概要
Darwinはオープンソース 及び自由ソフトウェア として公開されており、他のフリーなUnix系同様に特定のライセンス、Apple Public Source License (APSL) 下で入手、インストール、運用が可能であり、PowerPC ベースのMac だけでなく、サポートされているハードウェアドライバの問題からハードウェア構成は限定されるが、Intel Mac ではないインテル 機でも動作する。
しかし、この公開されていたソースコード では当初Intel Macには対応していなかったためインテル製CPU に移行後はクローズドソース になるのではないかという臆測も流れたが、Intel Mac発売から半年後に対応のソースコードが公開された。
なお、2005年4月にリリースされた Darwin 8.0以降、インストール用CDイメージは公開されていないが、後継プロジェクトPureDarwin のサイトからダウンロードできる。
テクノロジー
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] 。ただし、Cocoa やCore Image (OpenGL 、GLSL )やCore Audio (OpenAL ) やOpenCL といったAPI のほか、HTMLレンダリングエンジン 群のWebKit やXQuartz などのGUI 関連も含まず、Darwin単体の操作画面 はCUI となっている。
macOSの構造(2017年時点)
Mac OS X 構造図表
歴史
Unix系 OSの系統樹
Darwinは1989年 に最初にリリースされた、NeXT のNeXTSTEP OS (バージョン4.0からはOPENSTEPとして知られる)に起源を持つ。1997年 のApple によるNeXTの買収後、次期のOSはOPENSTEPをベースに開発されることがアナウンスされた。これは同年にRhapsody となり、1999年 には、Mac OS X Server 1.0 、2000年 には、Mac OS X Public Beta、そして2001年 にはMac OS X 10.0に開発された。Mac OS Xのコアコンポーネントは、Apple Public Source Licenseの下、Darwinとしてオープンソース でリリースされているが、Cocoa やCarbon のようなより高次のコンポーネントはクローズドソース のままとなっている。
Darwin 8.0.1までのバージョンでは、Appleは、ISOイメージ の形でバイナリ インストーラーを提供していた[ 10] 。これはMac OS Xのメジャーリリース後に、PowerPC とIntel x86 システムでDarwinをスタンドアロンのOSとしてインストールできるものであった。Darwinは現在、ソースコードとしてのみ利用できる[ 11] 。ただしこれは、ARMアーキテクチャ によるものを除いてであり、ARM向けDarwinはiOS 、watchOS 、tvOS から分離されてはリリースされていない。ただし、趣味的な開発者が公式の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 のビルドバージョンが表示される。
派生プロジェクト
Darwinは自由ソフトウェア であるため、修正や強化を目的とする多くのプロジェクトがある。
OpenDarwin
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にもとづいたデベロッパープレビューが入手できる。このリリースはX11 、DTrace 、ZFS をもつ[ 22] 。「PureDarwin nano」は最小限のコンポーネントだけをもつ、別のリリースである。
その他
XDarwin で動作するWindow Maker
脚注
^ “Kernel Architecture Overview ”. Kernel Programming Guide . 2024年1月3日閲覧。
^ “darwin-xnu/README.md at master ”. GitHub . 2019年3月31日時点のオリジナルよりアーカイブ 。2019年11月21日閲覧。
^ “Apple - Public Source - Darwin FAQ ”. 2004年11月19日時点のオリジナル よりアーカイブ。2021年8月9日閲覧。
^ “Binary Drivers required for PureDarwin ”. 2009年11月18日時点のオリジナル よりアーカイブ。2009年7月20日閲覧。
^ “Mac OS X Leopard - Technology - UNIX ”. Leopard Technology Overview . Apple Inc. . 2008年12月27日時点のオリジナル よりアーカイブ。2023年12月16日閲覧。 “Leopard is now an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads.”
^ The Open Group (2007年5月18日). “Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification ”. 2023年12月16日閲覧。
^ “macOS version 10.13 High Sierra on Intel-based Mac computers ”. The Open Group. 2023年12月16日閲覧。
^ X is Not Unixの略とされる。Porting UNIX/Linux Applications to Mac OS X: Glossary
^ 第4回 plist(プロパティリスト)とFoundation【後編】 - ITmedia 2007年05月30日 03時32分 公開
^ web.archive.org/web/20161007041552/https://opensource.apple.com/static/iso/
^ Hubbard, Jordan (October 31, 2007). “Re: Darwin 9.0 Source Code Available." ” . darwinos-users (Mailing list). 2008年2月25日時点のオリジナル よりアーカイブ. 2007年11月27日閲覧 .
^ github.com/darwin-on-arm/xnu
^ "Darwin Releases." Apple Developer Connection . Retrieved on 2007-10-24.
^ "Technical Note TN2029: Mac OS X v10.1." Apple Developer Connection . Retrieved on 2008-06-02.
^ Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar." Ars Technica . Retrieved on 2008-05-31.
^ Siracusa, John (November 9, 2003). "Mac OS X 10.3 Panther." Ars Technica . Retrieved on 2008-05-31.
^ Siracusa, John (April 28, 2005). "Mac OS X 10.4 Tiger." Ars Technica . Retrieved on 2008-05-30.
^ Siracusa, John (October 28, 2007). "Mac OS X 10.5 Leopard: the Ars Technica review." Ars Technica . Retrieved on 2008-05-30.
^ Siracusa, John (August 31, 2009). "Mac OS X 10.6 Snow Leopard: the Ars Technica review." Ars Technica . Retrieved on 2009-11-29.
^ Prabhakar, Ernie (November 9, 2001). "Darwin Version - New Scheme in Software Update 1." Apple Mailing Lists. Retrieved on 2008-06-02.
^ OpenDarwin Core Team and Administrators (July 25, 2006). "OpenDarwin Shutting Down." OpenDarwin Project. Retrieved on 2007-04-16.
^ PureDarwin Download Page .
^ “Security Enhanced Darwin ”. SEDarwin (2007年1月22日). 2010年7月12日閲覧。
^ “What's New In Mac OS X: Mac OS X v10.5 ”. Mac OS X Reference Library . Apple (2009年11月13日). 2010年6月13日閲覧。
^ “http://www.ertos.nicta.com.au/software/darbat/home.pml | ERTOS | NICTA ”. Ertos.nicta.com.au (2007年5月9日). 2010年7月12日閲覧。
^ yuriwho (2002年5月5日). “WirelessDriver Home Page ”. Wirelessdriver.sourceforge.net. 2010年7月12日閲覧。
^ “iwi2200 Darwin ”. SourceForge (2009年3月27日). 2010年6月13日閲覧。
^ “Port BSD tulip driver(s) to Darwin OS | Download Port BSD tulip driver(s) to Darwin OS software for free at ”. Sourceforge.net. 2010年7月12日閲覧。
^ “RealTek network driver for MacOSX/Darwin ”. SourceForge (2006年3月15日). 2010年6月3日閲覧。 Project inactive since 2006-03-15.
^ fansui, et al. (2007年8月1日). “RTL8150LMEthernet ”. SourceForge. 2010年6月13日閲覧。
^ “ZyXEL Modem Drivers for OS X/Darwin | Download ZyXEL Modem Drivers for OS X/Darwin software for free at ”. Sourceforge.net (2002年5月14日). 2010年7月12日閲覧。
^ “Mac OS X PC Card ATA Driver ”. Pccardata.sourceforge.net (2001年12月20日). 2010年7月12日閲覧。
^ “Mac OS X Ext2 Filesystem | Download Mac OS X Ext2 Filesystem software for free at ”. Sourceforge.net (2002年10月14日). 2010年7月12日閲覧。
^ “ext2 filesystem in user space ”. SourceForge (2008年7月14日). 2010年6月13日閲覧。
外部リンク
バージョン アプリケーション
ユーティリティ
テクノロジーおよび インタフェース
開発ツール その他
バージョン 派生OS
アプリケーション
機能
サービス
その他