SourceForge.JP: Open Source Software

LoginCreate AccountAdd BookmarkHelp

OpenSource Downloads

(7,965) Cabos
(3,068) 7-Zip
(2,483) Tera Term
(2,009) CrystalDiskInfo
(1,669) HandBrake Japanese Language Version
(1,252) CrystalDiskMark
(921) ffdshow
(669) Tween
(667) Boookends
10  (569) Amateras
11  (563) ギコナビ
12  (502) MergeDoc
13  (436) VirtualDubMod-jp
14  (422) えこでこツール
15  (375) SMPlayer
More >>

最近ブックマークされた記事

最近のudev事情

2003年12月02日 07:30
  • スラッシュドットにタレコむ
  • あとで読む
以前紹介したudevは最近、カーネル2.6の正式リリースに間に合うように急ピッチで開発が行われている。特に最近続けて005、 006、 007と新リリースが行われた。今回は、いよいよ「使える」ようになって来た最近のudevの事情について取り上げたい。

udevに関して再度取り上げなくてはと思っているうちに、005、 006、 007とリリースが出てしまった。GregKHは、2003年4月にアイデアを示したに過ぎないとも言えるバージョン0.1を公開したが、現在ではLinux-hotplugメーリングリストを中心に協力者を得て、彼の多くの時間をudevに費やしているようだ。

オタワLinux シンポジウム2003

2003年7月にオタワで開催されたLinux シンポジウム2003ではGregKHが、「udev - A Userspace Implementation of devfs」というタイトルでudevについての講演を行った。実はこのときの講演が、udev開発の実質的なキックオフであった。udevのコンセプトに関して解説されているこの講演の資料は、以下から入手できるので、興味がある方は参照されたい。

Linux シンポジウムで彼が発表を行うまで、udevはまだ最初のコンセプトモデルであるudev-0.1のままであった。このシンポジウムでGregKHはudev-0.2を発表して以来、その後開発メンバやパッチが増えるとともに、コード量も増えてきた。udevはわずかここ3ヶ月足らずの間で本格的な実装が行なわれ、使えるようになって来た事になる。

udev(再び)

udevに関しては以前にも取り上げているが、簡単に解説すると次のようになる。

udevは従来の仮想デバイスノード・ファイル・システムであるDevFSの機能をユーザ空間で実現する。sysfs、Hotplugが提供する機能とともにカーネル2.6でのデバイスの動的な割り当てをサポートする。さらには、/dev(デバイスノード)ファイルに自由で正しい名前付けを可能とさせるものである。DevFSは今後メンテナンスされないため、カーネル2.6では、DevFSの変わりにudevの利用が推奨されている。

udevはデバイスがプラグインされたときに、各デバイスドライバがsysfsツリーにリストするメジャー/マイナ番号から動的にデバイス・ノードをmknodによって作成する単純な仕組みである。udevでもメジャー/マイナ番号には、従来と同じLANALA(The Linux Assigned Names And Numbers Authority)の予約番号や取りうる値の制約がある。カーネル2.6ではメジャー番号は12ビット、マイナ番号は20ビットに拡張されたが、制限があることには変わらない。DevFSとは異なり、仮想ファイルシステムではないので、ディスク・スペースを使いたくない場合には、ramfs等を使用するといった手段を取る必要がある。/devファイル(デバイス・ノード・ファイル)とそこに隠されたメジャー/マイナ番号は非常に古典的なしくみであるが、今後もアプリケーションとデバイス、デバイスドライバとの接続点である事は変わらない。

Hotplugメーリングリスト

2003年11月23日、HotplugメーリングリストにGregKHからudev-007のアナウンス・メールが流れた。udev-005まではLKML(Linux Kernel Mailing List)でもアナウンスされていたが、udevに関する議論やリリースは現在、Hotplugメーリングリストで行われている。udevの各バージョンFAQは、kernel.orgで管理されている。

udev-007は、udevのコンフィグレーション・ファイル/etc/udev/udev.configのフォーマットに記述する CALLOITルール・パラメータのフォーマットが変更になったのと、それに伴う修正が主要な変更点である。udevの短い歴史を振り返ると、次のようになる。

バージョン 日付 主な変更点
udev0.1 4/11/2003
  • カーネル2.5向けにudevのアイデアを示した実験的実装版
udev0.2 7/25/2003
  • シンポジウム時のリリース
udev-003 10/16/2003
  • 最新の2.6系カーネルのサポート、
  • persistent database サポートの追加
  • ドキュメント、MakefileやInstall手順を初め、多くのコードやドキュメントが書き加えられた
udev-004 10/21/2003
  • devファイル作成待ち方法の変更
  • manページの中身の追加
  • libsysfsのバージョンの同期
udev-005 10/22/2003
  • klibcのサポートによる、組み込み系システムでのファイルサイズの縮小
  • 設定ファイル名をudev.config、udev.premissionに変更
  • デバイス未検出時のタイムアウト・サポート
udev-006 11/19/2003
  • コンフィグファイル中のルール記述のサポート
  • 動的な名前付けのサポート
  • udevデバイスファイルを/udevのサブディレクトリ以下で正しく操作
  • testディレクトリ以下にテスト・プログラムを整備
udev-007 11/24/2003
  • CALLOUTルール・パラメータのフォーマット変更

uDSE

udevに関連した最近の話題としてuSDEについて少し触れる。2003年10月27日にLKMLで、Mark BellonによってuSDEがアナウンスされたため、議論を呼び起こした。KernelTrafficでのサマリ・タイトルが「New DevFS Replacement uSDE, Similar To udev」とあることからもわかるように、これはudevと同様、Hotplugと連携しながら従来までのDevFSを置き換えるもので、Mark Bellonらのグループが開発中のプロジェクトである。

突然とも言えるuSDEの出現とアナウンスにより、Patrick MochelやGregKHを初めとする人々から、「なぜ開発しているのか」に関する質問が寄せられた。特に4月のGregKHのudevのアナウンスを知って、GregKHと直接メールを交換したのにもかかわらず、udevの開発には加わらず、別のアプローチを取ったことがわかり、非難を浴びた。Mark Bellonは、udevを補完する別のアプローチとしてuSDEの必要性を説いたが、結局MochelやGregKHが、uSDEに対して多くのアドバイスをしたまま議論は立ち消えた。uSDEはその後も更新されている。

新しいドライバ・モデルの導入(その14)-(日高亜友)
2007年07月01日 19:05 更新