追加読書

追加読書

私のArchlinuxでは/dev/ptsdevptsによってマウントされていますが、 /dev/pts/ptmxデバイスノードを作成した人は誰ですか?このノードの目的は何ですか?同じ(Major = 5 Minor = 2)デバイスノードですが、/dev/ptmx/アクセスモードは異なります。何のためですか?

ベストアンサー1

従来のAT&Tシステム5擬似ターミナルスレーブデバイス機構は普通である持続性以下の文字デバイスノード/dev。マルチプレクサがある所有者機器/dev/ptmx。以前の4.3BSD擬似端末装置機構には並列共通がありました。持続性以下のマスターおよびスレーブデバイスノードです/dev。これは汎用ディスクファイルシステムの特殊デバイスノードです。

OpenBSDでは、これらのいくつかはまだ適用されます。 /devそれでもディスクボリュームであり、スレーブデバイスはまだ物理ディスクノードです。ただし、必要に応じて作成されます。PTMGETI / O制御がデバイスに実行されると、カーネルは内部で関連する呼び出しを実行して新しいデバイスノードを作成します/dev/ptm

FreeBSDでは、これはもはや真実ではありません。もはやマルチプレクサデバイスはありません。 /devCDボリュームはまったくありません。ファイルシステムですdevfs。スレーブデバイスは、システムコールに応答してそのディレクトリの下のdevfsファイルpts/システムに表示されます。これは、一部の「マルチプレクサ」デバイスのオープンファイル記述子を囲むのではposix_openpt()なく、完全なシステムコールです。ioctl()

しばらくの間、Linuxでは、疑似端末スレーブデバイスが永続デバイスノードでした。あなたが見ているのは、「新しい」devptsファイルシステム(ここで「新しい」は数年前に導入されたことを意味します)とdevtmpfsほぼFreeBSDでの使用は許可されていますdevfs

しかし、いくつかの違いがあります。特に「マルチプレクサ」デバイスがあります。

  • 内部に年をとる自動生成/破棄されたスレーブデバイスファイルのみを含む他のファイルシステムのデバイスである「新しい」devptsシステム。慣例通り、設定にはマウントが用意されています。ptmxdevtmpfsdevpts/dev/ptmxdevpts/dev/pts
  • しかし、Linuxの人々は欲しいです。複数の完全独立コンテナなどに使用されるファイルシステムインスタンスdevpts。存在する場合、両方のファイルシステムを(正しく)同期することは非常に困難です。たくさん devtmpfsそしてdevptsファイルシステム。だから最新「新しい」devptsシステムのすべてのデバイス(マルチプレクサとスレーブ)は同じファイルシステムにあります。

    ptmx以前のバージョンとの互換性のために新しいptmxmodeマウントオプションを設定しないと、デフォルトでは新しいノードにアクセスできません。以前のバージョンとの互換性モードでは、人々はまだ単一の単一インスタンス方法でタスクを実行できます。これはインストールされていないnewinstance限りデフォルトで行われますdevpts

  • 内部にも更新されましたファイルシステムの「新しい」devpts(2016年からすでに存在しています)インスタンス固有のdevptsマルチプレクサデバイスは現在、デフォルトのマルチプレクサですptmxdevtmpfs実際へのシンボリックリンクpts/ptmx。現在、マルチインスタンスアプローチは次のとおりです。ただ方法。

追加読書

おすすめ記事