(Translated by https://www.hiragana.jp/)
sysfs - Wikipedia コンテンツにスキップ

sysfs

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

sysfsLinuxカーネル2.6によって提供ていきょうされる仮想かそうファイルシステムである。sysfsはデバイスやドライバについての情報じょうほうをカーネルモデルからユーザ空間くうかんへエクスポートし、設定せっていのためにも使つかわれる。BSDシステムにある sysctl英語えいごばん機構きこうているが、分離ぶんりした機構きこうわりにファイルシステムとして実装じっそうされている。

歴史れきし

[編集へんしゅう]

2.5開発かいはつサイクルちゅう、バージョン2.4における以下いかのいくつかの欠点けってん修正しゅうせいするために、Linuxドライバモデルが導入どうにゅうされた。

  • ドライバとデバイスの関係かんけいあらわ統一とういつされた方法ほうほうかった。
  • 一般いっぱんてきホットプラグ機構きこうかった
  • procfsはたくさんのプロセス情報じょうほうらかっていた。

sysfsはデバイスツリー英語えいごばんにある情報じょうほうをエクスポートするように設計せっけいされており、それはもはやprocfsをらかさないとかんがえられる。sysfsはPatrick Mochelによって実装じっそうされた。Maneesh Soniはのちおおきなシステムじょうにおけるメモリ使用しようりょうらすためにsysfsの外部がいぶ記憶きおく装置そうちパッチをいた。

sysfsは元々もともとramfsにもとづくインメモリのファイルシステムである。ramfsはLinux 2.4.0が安定あんていされていたころ実装じっそうされた。ramfsは当時とうじあたらしかった VFSレイヤーを使つかって単純たんじゅんファイルシステム実装じっそうすることがどれほどやさしいのかだけをしめしたので、簡潔かんけつさの見本みほんだった。単純たんじゅんさとVFSの使用しようのために、いベースを提供ていきょうし、のインメモリベースのファイルシステムがそこから派生はせいした。

sysfsは元々もともとddfs (Device Driver Filesystem) とばれており、はじめ、実装じっそうされているときあたらしいドライバモデルをデバッグするために作成さくせいされた。以前いぜんはデバイスツリーをエクスポートするためにprocfs使つかうことでデバッグがおこなわれていたが、リーナス・トーバルズからのつよ要請ようせいもとで、ramfsにもとづくあたらしいファイルシステムにえられた。あたらしいドライバモデルが2.5.1あたりでカーネルにマージされるときまで、すこしだけより説明せつめいてきになるようdriverfsに名前なまええられた。

2.5開発かいはつつぎとしあいだ、デバイスモデルとdriverfsの下部かぶ構造こうぞう機能きのうのサブシステムに有用ゆうようであるとかりはじめた。kobjectが中心ちゅうしんてきなオブジェクト管理かんり機構きこう提供ていきょうするために開発かいはつされ、サブシステムにとらわれないということをあらわすためにdriverfsはsysfsに名前なまえ変更へんこうされた。

技術ぎじゅつてき概観がいかん

[編集へんしゅう]

ドライバモデルツリーに追加ついかされた個々ここのオブジェクト(ドライバ、クラスドライバをふくむデバイス)にたいして、sysfsないにディレクトリがつくられる。おや関係かんけいは(物理ぶつりてき配置はいち反映はんえいして)/sys/devices/したのサブディレクトリに反映はんえいされる。サブディレクトリ/sys/bus/シンボリックリンクかれており、どのようにデバイスがことなるバスに所属しょぞくしているのかを反映はんえいしている。/sys/block/がブロックデバイスをふく一方いっぽうで、/sys/class/はネットワークのようなクラスによって分類ぶんるいされたデバイスをあらわしている。

デバイスドライバやデバイスにたいして、属性ぞくせいつくることができる。これらは単純たんじゅんなファイルである。(おもいパース処理しょり必要ひつようなprocfsない一部いちぶのファイルとはことなり)それらは単一たんいつのみをふくんだり単一たんいつ設定せっていしたりできるようにすべきであるということになっている。これらのファイルはデバイス個別こべつのデバイスドライバのサブディレクトリにあらわれる。属性ぞくせいグループを使つかうことで、属性ぞくせいたされたサブディレクトリも作成さくせいできる。

いくつかのバス

[編集へんしゅう]

PCIデバイスについての情報じょうほうをエクスポートする

USBデバイスとUSBホストの両方りょうほうふく

S/390 バス

[編集へんしゅう]

S/390 アーキテクチャがつからないデバイスをふくんでいるとき、特別とくべつなバスが作成さくせいされる。

  • css: サブチャンネルをふくむ(現在げんざい提供ていきょうされる唯一ゆいいつのドライバは I/O サブチャンネルけである)。
  • ccw: チャンネル接続せつぞくデバイスをふくむ(CCW によって駆動くどうされる)。
  • ccwgroup: ユーザによってつくられ ccw デバイスをふくむ、人工じんこうてきなデバイス。2.4 chandev 機能きのう一部いちぶえる。
  • iucv: VM の IUCV インターフェイスを使つかう netiucv デバイスのような人工じんこうてきなデバイス。

sysfsとユーザ空間くうかん

[編集へんしゅう]

sysfsはudevHALのようなハードウェアとドライバ(カーネルモジュール)についての情報じょうほうにアクセスするためのいくつかのユーティリティによって使つかわれる。スクリプトは以前いぜんprocfsをとおしてられた情報じょうほうにアクセスするためにかれてきており、一部いちぶのスクリプトは属性ぞくせいとおしてデバイスドライバやデバイスを設定せっていする。

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]