ダーウィンには、他のUnixにはない'機能、またはその逆の機能はありますか?
On 2月 16, 2021 by adminダーウィンには、それに固有の機能がありますか?他のUnixeには、ダーウィンに欠けている機能がありますか?
回答
OSXは唯一残っているオペレーティングシステムですマッハマイクロカーネルに基づいています。これもまだ商業的に関連しています。いくつかの進行中の研究プロジェクトと廃止されたOSがあり、古いマシンの実稼働環境でまだ使用されていることは間違いありませんが、今日は新しいマシンで外出して購入することはできません。
OSXには通常の* ixが持つカーネル機能の非互換性の品揃え。私が最近回避しなければならなかった最大の問題は、 SystemVメッセージキューの欠如です。 (msgget(2)
とその仲間たち。)「実際の」SystemVバリアント以降用に作成されたメッセージキューコード—を置き換える必要がありました。 Linux —にTCP / IPで移植して、ソフトウェアをOS Xで実行できるようにしました。このアプリケーションでは、これら2つのIPCメソッドの違いが重要でした。メッセージキューを使用しますが、その後のアーキテクチャの変更により、TCP / IPに切り替えることは大したことではありませんでした。
回答
つまり、DarwinはMach 2.0の上にある薄いBSDレイヤーだけではありませんか?
以前はNeXTStepを使用していましたが、現在のMacOSXがどれだけ離れているかわかりません。 NeXTStep、しかし…
Mach 2.0はカーネルレベルで異なる抽象化のセットを提供しました:
- 「タスク」:それはアドレススペース+セットですおそらくスレッドが実行されている「ポート」の数。
- スレッド。これはスケジュール可能な実行単位でした。タスク(アドレススペース)はh 1つ以上を実行しています。 Mach-Oファイル(Machの実行可能ファイル形式)は、プロセスの実行時に複数のスレッドを指定できると思います。より多くのCthreadを開始するmain()関数はなく、OSは1つを開始します。
- ポート。これらはTCPまたはUDPポートとは異なります。それらはタイプされ、順序付けられたメッセージのストリームです。むしろRPCのようなものです。プロトコル仕様ファイルを作成し、それをコンパイラーで実行して、サーバー側とクライアント側のスタブ、マーシャリングとアンマーシャリングのルーチンなどを取得しました。
- ユーザーレベルのメモリページャー。他のタスクのページングを処理するためにタスク+スレッドを設定できます」アドレス空間。
元のCMUMachの人々は、これらの抽象化を使用してBSDUnixプロセスをエミュレートしました。 MS-DOSプロセス、そして気まぐれなVMSタスク。各VMSタスクは2つのMachタスクと多くのスレッドを必要としました。誰かがユーザースペースを使用するNeXTStep用のMac OS(pre-OSX)エミュレーターを販売していました-効果のあるページャー。
古いCMUMachの出版物ページ: 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
コメント
- Mac OS X(したがってDarwin)はMach3.0を使用します。
回答
これは完全な答えではありませんが、 DTrace は、Solaris、Darwin / OS X、および*に存在する優れたシステムデバッグツールです。 LinuxではなくBSD。
コメント
- OracleはDTraceをLinuxに移植しました
- 2011年10月の時点で、オラクルはSolarisからLinuxへのDTraceの移植を発表しましたが、2014年10月13日現在、正式に利用できません。 ( slideshare.net/brendangregg/from-dtrace-to-linux )
回答
ダーウィンには、サポートされているファイルシステムタイプのセットが比較的少ないです。 devfsのようなスペシャルやwebdavのようなネットワークタイプを除けば、リストは次のとおりです。
- HFS / HFS +
- UFS / FFS
- ISO-9660 / UDF / CDDA
- NTFS
- FAT
しばらくの間、AppleはHFSを ZFS 、さらにMac OS Xの一部のバージョンでZFSを出荷しましたが、残念ながら、解決できないライセンスの問題が原因で、この実験は最終的に失敗しました。
コメント
- OS X ' s / macOS 'のNTFS書き込みサポートは、報告されています。これは実験的なままであり、安定化されていないため、まだバグがあります。
回答
ダーウィンを単なる別の UNIXのフレーバー。Solarisは1つです。HP/ UXはもう1つです。もっとありますが、「高-プロファイル」が、「そこにあります。そして、すべてのフレーバーには独自の特徴があります。そもそもフレーバーがあるのはそのためです。ある会社は、それを販売する(または単にそれを操作したり、管理したりする)のに役立つ何かを考え、それを作成して独自の名前を付けています。
コメント
- UNIX(すべて大文字)は、多くの国でThe OpenGroupの登録商標です。" UNIX "(すべて大文字)、認定は必須です。ダーウィンは' t別の" UNIXのフレーバー"-ただし、Intelx86-64上のMacOS X10.10は別のUNIXとして認定されています。
回答
Appleがリリースした正しいダーウィンを聞いた場合、独立したものとして機能しなくなりますオペレーティングシステムなので、最大の違いはその上にOS Xがあることを指摘しておきます。:D
古いMacOS、新しいMac OS X、NeXTなどの統合ですが diskutil や hdiutil は素晴らしいです。たぶん、NeXTから残された古いMachカーネルアーキテクトがこれらの小さなものを使用し、XCodeもそのような優れたツールであることを確認したのです。
回答
DarwinはFreeBSDに基づいています。 (私の経験では)他のUnixオペレーティングシステムには存在しない 優れた機能の1つは、バークレーパケットフィルター、別名/dev/bpf
。これは、パケットキャプチャに使用できる非常に用途の広いデバイスです。
コメント
- ダーウィンは' tは実際にはFreeBSDに基づいていますが、そこからいくつかのユーザーランドのものを借りています。ここにある他のコメントはそれをよりよく説明しています。 bpf(4)は'ダーウィンとFreeBSD / NetBSD / OpenBSDだけではなく、'誰かが持っているかもしれないと感じました以前のLinuxカーネルに実装しました。 SCOは(不)有名にUnixware製品にそれを持っていました。
回答
頭に浮かぶ拳OSXがコンソールに持っているすべてのツールです。unixが持っているもっと便利なコマンドがたくさんあります。 Diskutilそれはシェルのパーティションマジックのようなものです。このツールにはディスク操作のオプションがたくさんあるので、fdiskはこの獣の10%にすぎません…ところで、osxはJBOD、ストリップ、ミラーを使用できる非常に優れたソフトウェアRAIDサポートをサポートしていますソフトウェアRAIDタイプ..本当にunixにはこれがありますか?あなたの夢の中で!!; D
SystemProfiler-すべてのハードウェアID、名前、モデル、snなどを表示する優れたツール非常に快適な方法です。
darwinカーネルはunixのように完全に透過的ではありません。
darwinには killall util = P unixがなく、スキル
異なるファイルシステムも..HFS、HFS +
おそらく後者の方が覚えているでしょう=)
コメント
- ダーウィンには' killall 'があり、他のUnixバリアントには' t? 'は真実ではありません。
- この答えはトローリングの疑いがあります。 osX以外の* nixについてのあなたの発言では、それほど中傷的である必要はありません。また、前回使用したときは、* NIXkillallが絶対に私のPATHに存在していました。また、Linuxにはシステムプロファイラーがあります。宿題をしなさい。 'をd éにしないでください。編集:私はOS Xを使用していて、とても気に入っています。
- Linuxでkillallを使用しているため、'ダーウィンに固有のものではありません
- この答えは曖昧で不正確です。 fdiskにはどのような便利な機能がありませんか? Linux RAID(mdadm)には、連結(LINEAR)、ストライピング(RAID0)、ミラーリング(RAID1)などがあります。 LinuxはHFSとHFS +の両方もサポートしています。
- BTW:Linux-killallとSolaris-killallはまったく異なります
コメントを残す