//foo/barは/foo/barとどのようなシステムで異なっていますか?

//foo/barは/foo/barとどのようなシステムで異なっていますか?

POSIX仕様全体には、次の条項があります(12サム...)実装により、特に2で始まるパスを処理できます/

POSIXアプリケーション(すべてのPOSIX互換システムに移植可能なPOSIX仕様で書かれたアプリケーション)は、と同じであると仮定できますが、同じであるとは想定//foo/barでき/foo/barません。///foo/bar/foo/bar

今、この問題を具体的に扱うPOSIXシステム(歴史的で維持されています)は何ですか//foo?私は信じています(私は今間違っていることが証明されている)POSIX規制は、Unixバリアント(XENIX)およびWindows POSIX層についてMicrosoftによって主導されています(誰でも確認できますか?)。

これは、Microsoft Windows用のPOSIXに似たレイヤーであるCygwinで使用されます。 Microsoft Windows以外のシステムはありますか?オープンな仮想管理システム?

システムのどの部分が//foo/bar特別であり、その目的は何ですか?//host/pathネットワークファイルシステムにアクセスするには?仮想ファイルシステム?

何かアプリケーションUnixファミリーシステム(システムでない場合)で実行されているAPIはパスを特別に処理します(それ以外の場合はファイルシステムのパス//foo/barとして扱われるという文脈で)。/foo/bar


編集する、それ以来Austin Group メーリングリストに質問を投稿明細書の治療の起源について取り上げており//foo/bar、その議論は(少なくとも考古学的観点から)興味深い読書です。

答え1

これは、これまでに提供された回答の編集とインデックスです。この記事はコミュニティウィキ、評判が100以上の人は誰でも編集でき、誰も評判が得られません。自由に自分の答えを投稿し、ここにリンクを追加します(または私がそうするまでお待ちください)。理想的には、この回答は単純な要約でなければなりません(短い項目を含むのに対し、他の個々の回答には詳細な情報が含まれています)。

現在積極的に維持されているシステム:

失われたシステム

//foo/bar経路処理専用アプリケーション

答え2

Unixシリーズシステムで実行されている一部のアプリケーション(システムのAPIではない場合)は、// foo / barパスを特別に処理しますか?

Perforceがデポを参照するためにパスを使用していることを知っています//depot/A/B/C/D。 Perforceは、//Client/C/Dクライアントが.Perforceを指すときのパス//depot/A/B/もサポートします。ここで、ローカルファイルシステムにはこれらのパスがない場合があります。

p4 filelog //depot/A/B/C/Dファイルがなくてもファイルの履歴が表示されます/depot/A/B/C/D

p4 filelog C/Dそのディレクトリで実行すると、ファイル履歴も表示されます。

引用:https://www.perforce.com/perforce/r12.1/manuals/cmdref/o.fspecs.html

答え3

数十年前、テクトロニクスUtek(BSD 4.2ベースのUnix、National Semiconductors初)32016CPU以下はMotorola68020s)は、dfsサーバー上のファイルを//foo/bar参照する分散ファイルシステム(DFS)であることを提供します。後で Sun の NFS では廃止されました。/barfoo

残念ながら、まだこれを裏付ける引用はありませんが、最終的に私の地下室でUtekドキュメントを見つけてこの答えを更新することもできます。

答え4

これリアクトOSプロジェクト - NTカーネルと関連APIの無料のオープンソース実装 - 明らかに、独自の実装も約束します。インテックスPOSIXに似たサブシステム(MSの元のOS / 2サブシステムも文脈で言及、ReactOS類似体への言及なし)

これまでの努力にもかかわらず小さいfork()明らかに現実です。これは、以下のサブシステムプロジェクトページから抜粋したものです。公開質問:

POSIXアプリケーションでWin32パスを使用する最良の方法は何ですか?アイデア:

  • //<device>/<path>に翻訳する\\.\<device>\<path> //<letter>/<path>(ドライブ文字- => <letter>:\<path>-と特殊エスケープ文字//./<raw text>=>には特別な場合があります\\.\<raw text>。指定されたUNCパスを使用できます//unc/<path>。)//パスは実装固有の動作用の標準によって予約されており、//<letter>/Win32パスをエスケープする構文は既存のPOSIX互換環境で広く使用されています。

  • 「ネイキッド」Win32パスを識別する経験的な方法

  • Win32パスとパス//の大文字と小文字を区別しない検索(標準ではこれらの実装固有の//パス動作を許可しますか?)

これらのうちのいくつかが実装されているかどうかはわかりません。

関連情報