UNIXデバイスファイルが静的であると言う人はどういう意味ですか?

UNIXデバイスファイルが静的であると言う人はどういう意味ですか?

私は読んでいたウデブ。 「概要」セクションでは、Wikipediaは、「/ devディレクトリのデバイスノードが静的ファイルセットである既存のUnixシステムとは異なり、Linux udevデバイスマネージャは、デバイスに実際に存在するノードのみを動的に提供します。システム」。

「静的ファイルセット」とはどういう意味ですか?これは常にファイルがありますが、必ずしも/dev実際のデバイスを指しているわけではありませんか?

ベストアンサー1

私はあなたがこの段落に言及していると仮定します。

/ devディレクトリのデバイスノードが静的ファイルセットである既存のUnixシステムとは異なり、Linux udevデバイスマネージャは、システムに実際に存在するデバイスに対してのみ動的にノードを提供します。 devfsはかつて同様の機能を提供しましたが、Greg Kroah-Hartmanはいくつかの理由を引用しています。サムdevfsと比較して実装を好みます。

/dev最初の文では、デバイスが静的に作成され、再起動後も持続する他のUnixシステムを参照します。以前のバージョンのLinux(2.4カーネルなど)はこのように動作しましたが、最新バージョンではこれ以上機能しません。他のUnixには通常、インストール中に共通のデバイスファイルセットが含まれているため、追加のファイルを手動で作成する必要はほとんどありません。

2.4では、このmknodコマンドを使用して必要なデバイスファイルを手動で生成できます。たとえば、

$ mknod ./dev/random b 12 5

メモ:これは、/dev/randomファイル記述子をメジャー番号12とマイナー番号5のブロックデバイスとして生成することを意味します。

/ devの下のデバイスファイル

OPはディレクトリの全体的な機能について次の質問をしました/dev。彼の質問は次のとおりです。

再起動後にデバイスファイルを保存する技術的な方法に関する詳細を追加できますか?ディスクに物理的にどのように保存されますか?特別なファイルシステムサポートが必要ですか?

この問題を調査しながら、次から始めるべきだと思いました。最初からLinuxプロジェクト/dev最新バージョンのLinuxカーネルで管理する方法の基本概念を学びます。以前は(カーネルバージョン2.4以前を考えてみてください)、/devディレクトリは実際にはHDDのスペースを占める静的ファイルのセットでしたが、Linuxの出現によりもはやそうではudevありませsysfsんでした。

従来、これらの特殊ファイルは、インストール中にコマンドを使用して展開によって生成されますmknod。近年、Linuxシステムは実行時にudevこれらのファイルを管理し始めました/dev。たとえば、udevデバイスが検出されるとノードが作成され、デバイスが削除されると削除されます(実行時にホットプラグデバイスを含む)。これにより、/devディレクトリ(ほとんど)には、存在できるデバイスではなく、現在のシステムに実際に存在するデバイスのエントリのみが含まれます。

心配しないでください/dev。ディレクトリは再起動udevと再起動によって完全に管理されますsysfs

追加リソースudevsysfs

引用する

おすすめ記事