web-dev-qa-db-ja.com

他のUnixにはない、またはその逆のダーウィンにはどのような機能がありますか?

ダーウィンに固有の機能はありますか?他のUnixにはダーウィンにない機能がありますか?

19
Am1rr3zA

OS Xは唯一の残りのオペレーティングシステムです マッハマイクロカーネルに基づく これもまだ商業的に関連があります。いくつかの進行中の研究プロジェクトと陳腐化したOSがあり、疑いなく古いマシンの本番環境でまだ使用されていますが、今日新しいマシンで購入して購入することはできません。

OS Xには、すべての* ixにある通常のカーネル機能の非互換性があります。私が最近回避しなければならなかった最大のものは System Vメッセージキュー の欠如です。 (msgget(2)およびそのほか。)「実際の」System Vバリアント用に作成され、後でLinuxに移植されたメッセージキューコードをTCP/IPに置き換えて、ソフトウェアをOSで実行できるようにしましたX.アプリケーションでは、これらの2つのIPCメソッドの違いは、メッセージキューを使用することを選択したときに重要でしたが、その後のアーキテクチャの変更により、大きなものにはなりませんでした。 TCP/IPに切り替えるための取引。

20
Warren Young

ダーウィンは、マッハ2.0の上にある薄いBSDレイヤーだけではないのでしょうか。

以前はNeXTSTEPを使用していましたが、現在のMacOSXがNeXTSTEPからどれだけ離れているのかわかりませんが...

Mach 2.0は、カーネルレベルで異なる抽象化セットを提供しました。

  1. 「タスク」:これは、アドレススペース+「ポート」のセットであり、スレッドが実行されている可能性があります。
  2. スレッド。これは、スケジュール可能な実行単位でした。タスク(アドレススペース)では、複数のタスクを実行できます。 Mach-Oファイル(Machの実行可能ファイル形式)は、プロセスの実行時に複数のスレッドを指定できると思います。より多くのCthreadsを開始したmain()関数がないと、OSが1つを開始します。
  3. ポート。これらは、TCPまたはUDPポートではありません。タイプされ、順序付けられたメッセージのストリームでした。むしろRPCのようです。プロトコル仕様ファイルを作成し、コンパイラーを介して実行してサーバーを取得しました。クライアント側のスタブ、マーシャリングおよびアンマーシャリングルーチンなど.
  4. ユーザーレベルのメモリページャー。他のタスクのアドレス空間のページングを処理するようにタスクとスレッドを設定できます。

元の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

11
Bruce Ediger

これは完全な答えではありませんが、 DTrace は、Solaris、Darwin/OS X、および* BSD用に存在する素晴らしいシステムデバッグツールですが、Linux用ではありません。

5
kbyrd

ダーウィンには、サポートされているファイルシステムタイプの比較的小さなセットがあります。 devfsのような特別なものやwebdavのようなネットワークの種類は別として、リストは次のとおりです。

  • HFS/HFS +
  • UFS/FFS
  • ISO-9660/UDF/CDDA
  • NTFS
  • 太い

このリストのうち、 [〜#〜] ufs [〜#〜] のみがUnix用に設計されていますが、HFS +は必要なすべてのUnix機能をサポートするようにアップグレードされています。 Mac OS X 10.6以降、ルートパーティションにUFSを使用することはできませんが、この制限はおそらくダーウィンには適用されません。デフォルトでは、HFS +は大文字と小文字を区別しませんが、作成時に大文字と小文字の区別を要求できます。 Mac OS Xは大文字と小文字を区別するパーティションで実行されますが、多くの注目度の高いMacアプリケーション(Adobe CSなど)は実行されません。

しばらくの間、Appleは [〜#〜] zfs [〜#〜] でHFSを置き換えることを計画しており、Mac OS Xの一部のバージョンではZFSも出荷していました、しかし悲しいことに 解決できないライセンスの問題 のため、この実験は最終的に失敗しました。

4
Neil Mayhew

Darwinを別の NIXの風味 として説明するのが最善だと思います。 Solarisはその1つです。 HP/UXは別です。たくさんあります more 、おそらく「目立たない」かもしれませんが、それらはそこにあります。そして、すべてのフレーバーには固有の特性があります。そもそもフレーバーがあるのはそのためです。一部の企業は、それを販売する(または単にそれを使用する、または管理する)のに役立つ何かを考え、それを作成して独自の名前を付けます。

3
reiche

Appleからリリースされたとおり、ダーウィンが独立したオペレーティングシステムとして機能しなくなったので、最大の違いはOS Xにあることを指摘しておきます。 :D

古いMac OS、新しいMac OS X、およびNeXTのものの間の統合は時々おかしいですが、diskutilhdiutilのような小さなユーティリティは素晴らしいです。たぶん、これらの小さなものを使用し、XCodeもそのような優れたツールであることを確認した彼らを気にかけているのは、NeXTから残ったいくつかの古いマッハカーネルアーキテクトです。

0
Kevin Cantu