kobject/sysfs(1)

カーネル2.5/2.6では、従来ソースのデバイスドライバもサポートしながら、新しいドライバモデルが導入されて、Hotplugやパワーマネジメントを始め、新しいバス・アーキテクチャに対応するための、様々な試みが行われている。今回からは、以前予告したように、この新しいドライバモデルの核となる、sysfsとkobjectの内容と実態について、簡単に解説していく。

Linus Torvalds氏がOSDLに移籍、2.6カーネルと氏の今後は?

Linus Torvalds氏がTransmeta社を去り、OSDL(Open Source Development Lab)でLinuxカーネルの開発に専念することになったというニュースが飛び込んできた。Linux 2.6のリリースも近づいている。この機を逃す手はない。さっそく、メールで質問状を送ってみたところ、いつものことながら、氏から迅速かつ丁寧な回答をいただいた。以下にその内容を紹介しよう。

kexec

kexecは、カーネル2.5/2.6で導入が検討されている、高速なリブートを実現する新機能である。ブート時に時間がかかるBIOSのチェック時間をスキップさせて、直接新しいカーネルのコードを実行させる事により、リブートやHotSwap時のマシンの停止時間を最小とする事を目標に、開発が進められている。カーネル2.6では、多くのエンタプライズ・システムやサーバ向けの新機能が導入される事になっているが、今回はsysfsとも関係があるカーネルの新機能として、このkexecを取り上げる。

udevの概要

Linuxカーネル・メーリングリスト(LKML)に流れている、次期カーネルの開発用バージョンであるカーネル2.5に関するトピックスの中から、新しいドライバ・モデルに関する話題を取り上げて紹介している。今回は前回に続いて、カーネル2.5/2.6で導入されるsysfsアーキテクチャに基づき、ユーザ空間においてデバイス・ノードの動的な管理を新しく実現する、udevの内部構造と実際の動作について紹介する。

udevとdevfs

sysfs/kobjectが提供する新しいドライバ・モデルにおいて、カーネル内のhotplugサポート機構に基づく動的なデバイス・ノードの管理をユーザモードで実現するudevは、カーネル2.4で導入されたdevfsを置き換え、付加機能を提供するものである。今回はこのudevを取り上げて従来のdevfsと比較しながら、新しいドライバ・モデルにおけるhotplugの取り扱いと、アーキテクチャの目指す方向を紹介する。