Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,014)  
HandBrake Japanese Language Version  (2,964)  
CrystalDiskInfo  (1,714)  
Boookends  (1,269)  
CrystalDiskMark  (874)  
Tera Term  (825)  
CotEditor  (626)  
FFFTP  (593)  
えこでこツール  (532)  
10  ffdshow  (524)  
11  SMPlayer  (503)  
12  Cabos  (492)  
13  ギコナビ  (475)  
14  Rappelz Server  (471)  
15  MergeDoc  (457)  
More >>

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

Ottawa Linux Symposium ―― 第1日

2007年07月02日 10:50 David-Graham(2007年6月28日(火)) 1 2
 第9回Ottawa Linux Symposium(OLS)の初日は、Linux Weekly NewsのJonathan Corbetによる今や恒例となったLinux Kernel Reportで始まり、来るべき自社製品のハードウェア・プロトタイプを展示したIntel主催のレセプションで終わった。

Kernel Report

 開幕基調講演は、Linuxが誕生した1991年以来のカーネル・リリース・サイクルを示しつつLinuxの歴史をごく簡単に振り返ることから始まった。Corbetによると、カーネルの重要なリリースは当初2年に1回の割合だったが、ここ数年は2か月に1回と高頻度化した。毎回がメジャー・リリースになり、今ではリリースのたびに新しい機能が加わりAPIが変わるという。

 現在のリリース・サイクルはきわめて予測しやすく、2.6.22は7月、2.6.23は10月頃といった具合だとCorbetは言う。各サイクルは、最初のリリース候補、たとえばカーネル2.6.22-rc1を出し、次に2番目のリリース候補を出し、必要ならさらに3番目のリリース候補を出しと、安定するまでリリース候補を出し続ける。そして、リリース候補が安定すると、次のカーネルの作業が始まる。

 各カーネル・リリース・サイクルの最初の2週間はコードを組み込む期間で、この間に機能や変更を加えて-rc1(リリース候補第1版)を作り上げる。その後、8~12週間かけて新機能を含むカーネルを安定させ、新しい安定バージョンのリリースでサイクルが終わる。

 このリリース・サイクル・システムは2.6.12の際に導入され、数回のリリースを経てカーネル開発コミュニティーの原則として確立されたとCorbetは説明し、その裏付けとしてカーネルの中で変更された個所の累積行数の推移を示した。バージョン番号が付されたこのグラフを見れば、直線的に変化していた行数が階段状に変化するようになったことが明瞭に読み取れる。

 報告では、2006年6月のカーネル2.6.17以来、2,100名の開発者が30,100のチェンジセットに関わり200万行に及ぶカーネル・コードを変更したという。

 Corbetによると、このリリース方法になってから変更が利用者に届くまでの期間が短くなった。かつては新しい機能が安定カーネルに組み込まれるまで2~3年かかっていたが、今では数か月で登場する。これはまた、Linuxディストリビューションがメインライン・カーネルの近くにいられるということでもある。以前のカーネル開発モデルで運用されていた頃は、メインライン・カーネルに2000ものパッチを当てたディストリビューションさえあった。リリース・サイクルの短期化により、ディストリビューションにとって、メインライン・カーネルから離れざるを得ない重大な理由はもはやないという。

 しかし、今のリリース方法とて完全ではない。Corbetは、問題のある分野として、バグの追跡、改修による副作用のチェック、文書化、改修の困難なバグを挙げた。改修が困難なバグというのは、満月の夜に特定のハードウェアが特定の状態になったときにしか解決できないといった類のバグのことだ。その結果、既知のバグを抱えたままカーネルがリリースされているという。

 こうしたバグには、どのように対処すべきだろうか。Corbetは、バグ追跡の改善、安定化(デバッグ)専用カーネル・リリース、自動テストなど、多くの戦略を挙げ、カーネルは概して良くなっていると話した。

 続いて、Corbetは、私見だと断った上で、今後のカーネルを次のように予測した。まず、間もなくリリースされる2.6.22カーネルについては、mac80211ワイヤレス・スタック、UBIフラッシュ対応ボリューム管理、IVTVビデオ・チューナー・ドライバー、新しいCFQ/IOスタック、新しいFireWireスタック、eventfd()システム・コール、SLUBアロケーターが搭載されるだろうと述べた。

 スケーラビリティーの将来については、次のように予測した。現在のスーパーコンピューターは明日のノートパソコンだ。Linuxでは、512台のプロセッサーのサポートは順調だが、4096台になるとまだ問題が残っている。携帯電話機など、下位方向へのスケーラビリティーは、上位方向に比べ、あまりよく対応できていないという。

新しいファイルシステム

 Corbetによれば、ファイルシステムは膨張してはいるが、速くはなっていない。ドライブもファイルシステムもますます大きくなるが、全ディスクを読むために必要な総時間もますます増えている。現行のほとんどのファイルシステムは1980年代に作られたUnixファイルシステムの焼き直しであるから、作り直す必要があるのかもしれないという。

 ファイルシステムに関連してCorbetは将来の変化をいくつか予測し、fsckはドライブの使用部分だけをスキャンするようになるだろうと述べた。また、数週間前に登場したばかりのファイルシステムbtrfsにも触れ、これはエクステントを基礎としており、サブボリュームとスナップショット機能、チェックサムをサポートし、オンラインでfsckが可能、設計上オフラインでは非常に高速だが、まだ安定にはほど遠いと述べた。

 Corbetによれば、現行のLinux Ext3ファイルシステムの後継であるExt4ファイルシステムが間もなく登場するという。Ext4には、48ビット・ブロックのファイルシステムが持つ16TBというファイルの制限がなく、エクステント、ナノ秒タイムスタンプ、プレアロケーション、チェックサム・ジャーナルという特徴がある。

 ReiserFSの後継となるReiser4ファイルシステムは、Hans Reiserが抜けたため中断しており、先に進めるためには新しいトップが必要だと述べた。

 ファイルシステムの話題では、最後に、n-mediaディレクトリー・ツリーを採用したフラッシュ指向のファイルシステムLogFS翻訳記事)にも言及した。

 仮想化は今やベンチャー投資家から金を集める方便以上のものになりつつある。これはCorbetの冗談だが、実際、Xenは商用開発に移りつつあり、2.6.23のメインライン・カーネル・ツリーに入るだろうという。LguestとKVMについても触れ、KVMはハードウェアのサポートのある完全な仮想化システムで、まだ安定はしていないが、2.6.20のカーネルに組み込まれたライブ・マイグレーション機能があると述べた。

 Corbetはコンテナにも触れた。これは軽量仮想化システムで、すべてのゲストが1つのカーネルを共用する。複数のプロジェクトが取り組んでおり、異なるコンテナAPIが併存することのないように連携する必要があると話す。

 次に、取り上げられたのは、解決済みと思われていた問題、CPUスケジューリングの先行きについてだ。おそらく、込み入った経験則を棄ててきわめて単純で公平なアルゴリズムに従ってCPUを割り当てるCompletely Fair Scheduler(CFS)がカーネル2.6.23で導入されるだろうという。

 スレッドレット、つまり非同期システム・コールの将来についても予測した。システム・コールがブロックするとプロセスは別のスレッドに移って動作を続行しブロックされたシステム・コールの戻りを待つことになるだろう。このほか、電力管理、ビデオ・ドライバー、間もなく登場するカーネル内トレーサーutraceを使ったトレース機能などが取り上げられた。

 Corbetは、最後に重要な問題について触れた。LinuxカーネルはGPLバージョン3に移行しそうもないというのだ。それは、Linuxカーネル全体がGPLバージョン2の下で明示的にライセンスされているという事実があるからだ。たとえライセンスを変更したくても難しいのだという。

最終更新:2007年09月01日 17:07