ダーウィンに固有の機能はありますか?他のUnixにはダーウィンにない機能がありますか?
OS Xは唯一の残りのオペレーティングシステムです マッハマイクロカーネルに基づく これもまだ商業的に関連があります。いくつかの進行中の研究プロジェクトと陳腐化したOSがあり、疑いなく古いマシンの本番環境でまだ使用されていますが、今日新しいマシンで購入して購入することはできません。
OS Xには、すべての* ixにある通常のカーネル機能の非互換性があります。私が最近回避しなければならなかった最大のものは System Vメッセージキュー の欠如です。 (msgget(2)
およびそのほか。)「実際の」System Vバリアント用に作成され、後でLinuxに移植されたメッセージキューコードをTCP/IPに置き換えて、ソフトウェアをOSで実行できるようにしましたX.アプリケーションでは、これらの2つのIPCメソッドの違いは、メッセージキューを使用することを選択したときに重要でしたが、その後のアーキテクチャの変更により、大きなものにはなりませんでした。 TCP/IPに切り替えるための取引。
ダーウィンは、マッハ2.0の上にある薄いBSDレイヤーだけではないのでしょうか。
以前はNeXTSTEPを使用していましたが、現在のMacOSXがNeXTSTEPからどれだけ離れているのかわかりませんが...
Mach 2.0は、カーネルレベルで異なる抽象化セットを提供しました。
元のCMUマッハの人々は、これらの抽象化を使用してエミュレートBSD Unixプロセス、MS-DOSプロセス、そして奇抜なVMSタスクのすばらしい適合でした。各VMSタスクは、2つのマッハタスクと多くのスレッドを必要としました。誰かが、ユーザースペースページャーを使用して効果を上げるNeXTSTEP用のMac OS(pre-OSX)エミュレーターを販売していました。
古いCMU Mach出版物ページ: http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/documents_top.html
VMS-on-Machペーパー: http://www.sture.ch/vms/Usenix_VMS-on-Mach.pdf
これは完全な答えではありませんが、 DTrace は、Solaris、Darwin/OS X、および* BSD用に存在する素晴らしいシステムデバッグツールですが、Linux用ではありません。
ダーウィンには、サポートされているファイルシステムタイプの比較的小さなセットがあります。 devfsのような特別なものやwebdavのようなネットワークの種類は別として、リストは次のとおりです。
このリストのうち、 [〜#〜] ufs [〜#〜] のみがUnix用に設計されていますが、HFS +は必要なすべてのUnix機能をサポートするようにアップグレードされています。 Mac OS X 10.6以降、ルートパーティションにUFSを使用することはできませんが、この制限はおそらくダーウィンには適用されません。デフォルトでは、HFS +は大文字と小文字を区別しませんが、作成時に大文字と小文字の区別を要求できます。 Mac OS Xは大文字と小文字を区別するパーティションで実行されますが、多くの注目度の高いMacアプリケーション(Adobe CSなど)は実行されません。
しばらくの間、Appleは [〜#〜] zfs [〜#〜] でHFSを置き換えることを計画しており、Mac OS Xの一部のバージョンではZFSも出荷していました、しかし悲しいことに 解決できないライセンスの問題 のため、この実験は最終的に失敗しました。
Appleからリリースされたとおり、ダーウィンが独立したオペレーティングシステムとして機能しなくなったので、最大の違いはOS Xにあることを指摘しておきます。 :D
古いMac OS、新しいMac OS X、およびNeXTのものの間の統合は時々おかしいですが、diskutilやhdiutilのような小さなユーティリティは素晴らしいです。たぶん、これらの小さなものを使用し、XCodeもそのような優れたツールであることを確認した彼らを気にかけているのは、NeXTから残ったいくつかの古いマッハカーネルアーキテクトです。