コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「Darwin (オペレーティングシステム)」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
Cewbot (会話 | 投稿記録)
m Bot作業依頼: Apple関連記事の改名に伴うリンク修正依頼(2) (Category:Appleのオペレーティングシステム) - log
243行目: 243行目:


{{DEFAULTSORT:Darwin}}
{{DEFAULTSORT:Darwin}}
[[Category:アップルのオペレーティングシステム]]
[[Category:Appleのオペレーティングシステム]]
[[Category:MacOS]]
[[Category:MacOS]]
[[Category:BSD]]
[[Category:BSD]]

2021年5月23日 (日) 07:19時点における版

Darwin
開発者 Apple
プログラミング言語
OSの系統 Unix系BSDMach
開発状況 開発中
ソースモデル オープンソース
初版 2000年11月15日 (24年前) (2000-11-15)
最新安定版 15.4.0 / 2016年3月21日 (8年前) (2016-03-21)
リポジトリ ウィキデータを編集
プラットフォーム
カーネル種別 ハイブリッドカーネル
ライセンス Apple Public Source License
ウェブサイト opensource.apple.com
テンプレートを表示

Darwin(ダーウィン)は、Appleが開発するUnix系POSIX準拠オペレーティングシステム (OS) である。技術的にはNEXTSTEPからOPENSTEPに続く流れを汲み、Mach 3.0+BSDをベースとし、一部の機能は他のBSD系OSからも取り入れている。DarwinはmacOSiOS、さらにはwatchOStvOSの基礎となる部分でもある。

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

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

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

テクノロジー

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

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

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

歴史

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

リリース履歴

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

バージョン リリース日 対応するリリース 説明
0.1 1999年3月16日 Mac OS X Server 1.0
1.0.2 1999年11月10日 Mac OS X DP2
1.1 2000年4月5日 Mac OS X DP4
1.2.1 2000年11月15日 Mac OS X Public Beta
1.3.1 2001年4月13日 Mac OS X v10.0
1.4.1 2001年10月2日 Mac OS X v10.1 "起動時間、リアルタイムスレッド、スレッド管理、キャッシュフラッシング、プリエンプションハンドリング"に対するパフォーマンスの改善。SMBWgetを置き換えるcURLのサポート。[6]
6.0.1 2002年9月23日 Mac OS X v10.2 (Darwin 6.0.2) GCCを2から3.1にアップグレード、 IPv6IPSecのサポート、mDNSResponder service discoveryデーモン(Rendezvous)、CUPS, Ruby, Pythonの追加、HFS+でのジャーナリングのサポート(Darwin 6.2)、プログラムをより速く起動するためのアプリケーションプロファイル("pre-heat files")の追加。[7]
7.0 2003年10月24日 Mac OS X v10.3 FreeBSD 5に対応したBSDレイヤー、自動デフラグメンテーション、hot-file clustering、HFS+でのcase sensitivityオプション、read-onlyなNTFSのサポート。デフォルトのシェルをtcshからbashに変更。(Darwin 7.9).[8]
8.0 2005年4月29日 Mac OS X v10.4
Mac OS X for Apple TV (Darwin 8.8.2)
安定的なカーネルプログラミングインターフェース、よりきめ細かいカーネルロック、64ビットBSDレイヤー、launchdサービス管理フレームワーク、拡張ファイル属性アクセス制御リストcpmvなどのコマンドを拡張属性やリソースフォークが保持できるようにアップデート。[9]
9.0 2007年10月26日 iOS 1.0 (Darwin 9.0.0d1)
Mac OS X v10.5
完全なPOSIX準拠、階層的プロセススケジューリングモデルの改善、動的メモリ確保スワップファイル、(ファイルプロセスに対する)動的なリソース制限、プロセスのサンドボックス化、アドレス空間配置のランダム化DTrace tracing framework、ファイルシステムイベントデーモン、ディレクトリハードリンクApache 1.3とPHP 4をそれぞれApache 2.2とPHP 5にアップデート、ZFSのサポート。[10]
10.0 2009年8月28日 Mac OS X v10.6 PowerPCの公式サポートの終了(ただしカーネルなどいくつかのファットバイナリがPPCイメージをまだ含んでいる)、64ビットのカーネルとドライバ、libdispatchタスク並列化フレームワーク、OpenCLヘテロジニアスコンピューティングフレームワーク、C言語のBlocks(クロージャを作るためにラムダ式のような構文を用いる非標準の言語拡張)のサポート、HFS+における透過的なファイル圧縮[11]
10.1.0 2009年9月10日 Mac OS X v10.6.1
10.2.0 2009年11月9日 Mac OS X v10.6.2
10.3.0 2010年3月29日 iOS 4.0 (Darwin 10.3.1)
Mac OS X v10.6.3
10.4.0 2010年6月15日 Mac OS X v10.6.4
10.5.0 2010年11月11日 Mac OS X v10.6.5
10.6.0 2011年1月6日 Mac OS X v10.6.6
10.7.0 2011年3月21日 Mac OS X v10.6.7
10.8.0 2011年6月23日 Mac OS X v10.6.8
11.0.0 2011年7月20日 OS X v10.7 XNUがPPCをサポートせず(i386, x86_64のためだけのファットバイナリ)、x86_64プロセッサを必要とする。アプリケーションのサンドボックス化の改善。
11.1.0 2011年8月16日 OS X v10.7.1
11.4 2012年5月9日 OS X v10.7.4
11.4.2 2012年9月12日 OS X v10.7.5
12.0 2012年2月16日 OS X v10.8
13.0.0 2013年6月11日 OS X v10.9
13.1 2014年2月25日 OS X v10.9.2
13.3.0 2014年6月30日 iOS 7
OS X v10.9.4
14.0.0 2014年9月18日 iOS 7.1-7.1.2, iOS 8
OS X v10.10
14.5.0 2015年8月13日 OS X v10.10.5
15.0.0 2015年9月16日 iOS 9.0
OS X v10.11.0
15.4.0 2016年3月21日 OS X v10.11.4

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はこれに由来する。[12]

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

派生プロジェクト

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

OpenDarwin

OpenDarwin上で実行されたGNOME

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

PureDarwin

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

その他

  • MacPorts(かつてのDarwinPorts)、FinkHomebrewはUNIXプログラムをDarwin OSに移植し、パッケージ管理を提供する、よく知られたプロジェクトである。さらに、RPMpkgsrcPortageなどいくつかの標準的なUNIXパッケージ管理システムもDarwin portsをもっている。これらの中にはベースとなるシステムに干渉しないよう、独自の名前空間で動くものもある。
  • GNU-DarwinはフリーソフトウェアのパッケージをDarwinに移植するプロジェクトである。
  • DarwineプロジェクトはWineの移植で、Microsoft WindowsソフトウェアをDarwin上で実行できるようにする。
  • SEDarwinTrustedBSD強制アクセス制御フレームワークと、SELinuxフレームワークの一部をDarwinに移植する。[15] これはMac OS X v10.5に組み込まれた。[16]
  • DarbatプロジェクトはL4マイクロカーネルへのDarwinの実験的な移植である。既存のDarwinバイナリと互換であることを目指している。[17]
  • ドライバのサポートに主眼を置いたさまざまなプロジェクトがある。ワイヤレスドライバ、[18][19] 有線NICドライバ、[20][21][22] モデムドライバ、[23] カードリーダ、[24] ext2ext3ファイルシステム[25][26] など。

脚注

  1. ^ X is Not Unixの略とされる。
    Porting UNIX/Linux Applications to Mac OS X: Glossary
  2. ^ web.archive.org/web/20161007041552/https://opensource.apple.com/static/iso/
  3. ^ Hubbard, Jordan (October 31, 2007). "Re: Darwin 9.0 Source Code Available."". darwinos-users (Mailing list). 2008年2月25日時点のオリジナルよりアーカイブ。2007年11月27日閲覧
  4. ^ github.com/darwin-on-arm/xnu
  5. ^ "Darwin Releases." Apple Developer Connection. Retrieved on 2007-10-24.
  6. ^ "Technical Note TN2029: Mac OS X v10.1." Apple Developer Connection. Retrieved on 2008-06-02.
  7. ^ Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar." Ars Technica. Retrieved on 2008-05-31.
  8. ^ Siracusa, John (November 9, 2003). "Mac OS X 10.3 Panther." Ars Technica. Retrieved on 2008-05-31.
  9. ^ Siracusa, John (April 28, 2005). "Mac OS X 10.4 Tiger." Ars Technica. Retrieved on 2008-05-30.
  10. ^ Siracusa, John (October 28, 2007). "Mac OS X 10.5 Leopard: the Ars Technica review." Ars Technica. Retrieved on 2008-05-30.
  11. ^ Siracusa, John (August 31, 2009). "Mac OS X 10.6 Snow Leopard: the Ars Technica review." Ars Technica. Retrieved on 2009-11-29.
  12. ^ Prabhakar, Ernie (November 9, 2001). "Darwin Version - New Scheme in Software Update 1." Apple Mailing Lists. Retrieved on 2008-06-02.
  13. ^ OpenDarwin Core Team and Administrators (July 25, 2006). "OpenDarwin Shutting Down." OpenDarwin Project. Retrieved on 2007-04-16.
  14. ^ PureDarwin Download Page.
  15. ^ Security Enhanced Darwin”. SEDarwin (2007年1月22日). 2010年7月12日閲覧。
  16. ^ What's New In Mac OS X: Mac OS X v10.5”. Mac OS X Reference Library. アップル (2009年11月13日). 2010年6月13日閲覧。
  17. ^ http://www.ertos.nicta.com.au/software/darbat/home.pml | ERTOS | NICTA”. Ertos.nicta.com.au (2007年5月9日). 2010年7月12日閲覧。
  18. ^ yuriwho (2002年5月5日). “WirelessDriver Home Page”. Wirelessdriver.sourceforge.net. 2010年7月12日閲覧。
  19. ^ iwi2200 Darwin”. SourceForge (2009年3月27日). 2010年6月13日閲覧。
  20. ^ 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日閲覧。
  21. ^ RealTek network driver for MacOSX/Darwin”. SourceForge (2006年3月15日). 2010年6月3日閲覧。 Project inactive since 2006-03-15.
  22. ^ fansui, et al. (2007年8月1日). “RTL8150LMEthernet”. SourceForge. 2010年6月13日閲覧。
  23. ^ 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日閲覧。
  24. ^ Mac OS X PC Card ATA Driver”. Pccardata.sourceforge.net (2001年12月20日). 2010年7月12日閲覧。
  25. ^ Mac OS X Ext2 Filesystem | Download Mac OS X Ext2 Filesystem software for free at”. Sourceforge.net (2002年10月14日). 2010年7月12日閲覧。
  26. ^ ext2 filesystem in user space”. SourceForge (2008年7月14日). 2010年6月13日閲覧。

外部リンク