4. sysfs

sysfs ファイルシステムは、/dev ディレクトリが完全には対応できなかった Linux システム上のデバイスを管理するためのより良い方法を提供するために導入されました。Linux で/sys とは何かを理解することは、現代のシステム管理の鍵となります。

sysfs とは?

sysfsは通常/sysにマウントされる仮想ファイルシステムであり、カーネルのデバイスモデルからユーザー空間へカーネルオブジェクト、ハードウェアデバイス、およびドライバに関する情報をエクスポートします。物理ディスク上のファイルとは異なり、/sys内のファイルとディレクトリはオンザフライで生成され、sys systemの現在の状態を表します。

linux /sys ディレクトリの役割

linux /sysディレクトリの主な目的は、システム上のすべてのデバイスの構造化されたビューを提供することです。ここには、製造元とモデル、デバイスがどこに接続されているか、現在の状態、デバイス階層内の位置など、詳細情報が含まれています。

ここで見るファイルは、/dev内のデバイスノードのようなものではありません。/sysを通じてデバイス自体に直接アクセスするのではなく、デバイスの属性を表示および管理するために使用します。

sysfs と/dev の比較

/sys/devはどちらもデバイスに関連していますが、異なる機能を果たします。

  • /devディレクトリは、プログラムがデバイス自体にアクセスできるようにする特殊ファイルであるデバイスノードを提供します。
  • /sysファイルシステムは、デバイスに関する情報を表示し、デバイスを管理するために使用されます。これは基盤となるデバイスモデルを公開します。

例えば、/sys内のブロックデバイスディレクトリの内容を調べてみましょう。

pete@icebox:~$ ls /sys/block/sda
alignment_offset  discard_alignment  holders   removable  sda6       trace
bdi               events             inflight  ro         size       uevent
capability        events_async       power     sda1       slaves
dev               events_poll_msecs  queue     sda2       stat
device            ext_range          range     sda5       subsystem

この出力は、sdaハードドライブに関連するさまざまな属性とサブディレクトリを示しており、/dev/sda単独よりもはるかに詳細なビューを提供します。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!Linux でのハードウェアデバイス探索に関する理解を深めるための実践的なラボを以下に示します。

  1. Linux でハードウェアデバイスを探索する - /sysファイルシステムがデバイス情報を提供するのと同様に、Linux 環境内でハードウェアデバイスを識別し検査する練習をします。

このラボは、システムハードウェアの理解とその Linux での表現という概念を適用し、デバイス探索への自信を深めるのに役立ちます。

クイズ

デバイスに関する詳細情報を表示するために使用されるディレクトリはどれですか?回答は英語でお願いします。