「Linuxには新しいファイル・システムが必要」---第5回 The Linux Foundation Japan Symposiumから を読んで。
記事の2ページ目に2つのソフトウェアが紹介されている。美田 晃伸さんが開発されているlinuxカーネルのFault Injectionと、奥地 秀則さんが開発されているfailmallocライブラリである。概要を以下に引用。
フィックスターズの美田晃伸氏(写真3)は,同氏が実装したエラー発生機構「Fault
Injection」を紹介した。同機構を利用すると,Linuxカーネルの任意の場所で指定した頻度でエラーを発生させることができる。通常は発生しづ
らいエラーを強制的に起こすことができ,エラー処理などが適正に行われるかどうかのテストに便利である。カーネル2.6.20で統合された。
開発のきっかけは高機能ブートローダー「GNU GRUB」の開発者である奥地秀則氏が作成した「failmalloc」という。これは,動的メモリー確保に使われるmalloc関数をわざと失敗させる共有ライブラリである。単純なライブラリだが,さまざまなソフトウエアの欠陥をあぶり出すことに成功して話題となった。
さて、奥地さんの日記エントリから以下を引用。
私は立場上いろんな人のプログラムを見る必要がある。
しかし、とりわけ経験不足な人が書いたコードはエラーチェックが無茶苦茶である。
要するに、失敗することを考えていない。
これには非常にうんざりさせられるが、
そもそも何が原因なのか考えてみた。失敗するのを見ることがないのがいけない。
これが私の辿り着いた結論である。
実のところ、
mallocが本当にこけるところなんて、熟練者でさえ滅多に見たことがないんじゃなかろうか。
今日のようにメモリが潤沢になると、その傾向にますます拍車がかかることになる。そこで、いっそのこと、わざと失敗させてみることにした。
何で今までこういうものがなかったのか、多少不思議ではあるが
(私が知らないだけ?)、
30分ぐらいのハックで出来上がった。
それよりウェブページを作成する方がよっぽど時間がかかってしまった。
プログラムを作る際、上記メモリ関連のエラーとか並列処理でのリソースの競合など、検証するときに頭を悩ませる場合がある。これらの問題の特徴は以下。
failmallocのソースを見たところ、中心となるfailmalloc.cは200行ほどの簡潔なコードで、mallocの呼び出しをフックして確率
的に失敗するための処理を仕込んでいる。Fault
Injectionについては私がパッチの読み方が判らないため割愛するが、同じように簡潔なコードだろう。
元記事の引用に戻る。
ところが元々のfailmallocのアイディアの秀逸性もありパッチは注目を集め,さまざまな要望やアイディアが寄せられることになった。美田氏はそ
れらのフィードバックを基に改良を進め,さらにそれを使って多数のカーネル・バグを発見して修正報告を行っていく。これがパッチの有用性の何よりのアピー
ルとなり,最初のパッチ投稿からわずか半年でカーネルに統合されることになった。
上記2つのプログラムは、他の開発者に以下の利点を与えたと思われる。
良いアイデアは時に驚くほど簡潔な場合がある。これらのコードはキラキラ輝いていることだろう。
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
アナリストが語る、サイトのユーザーエクスペリエンスを向上させる10個のカギ
原宿で野宿を含む15時間 - iPhone行列完全ドキュメント
「失われた10年」からの回復は、どういう課題を残したか?
定性的大キライ。(3)
Joomla CMSをカスタマイズするには・・・テンプレートが第一優先
最適なマウスの移動速度は?
パブリックコメントは国民に知られていなかった( 2 )
Google ツールバーの PageRank、数日以内に更新予定
Google Lively試してみました(クリボウの部屋へ行く)。
iPhoneの影で馬鹿売れしているみたい
動画配信の影響なのかインターネット部門が「終了」みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
DELLが掲げる「新・仮想化アセスメントサービス」CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
オンリーワンの個性を極めた超薄型テレビ--日立 Wooo UTシリーズ
[レビュー]“この手があったか”と思わせるパワーユーザーも納得のPCオンデマンド--「VALUESTAR G タイプR Luiモデル」+「Lui RN」詳細レビュー
今週の新製品総チェック:ドコモ、au夏モデルが続々店頭へ、ビデオカメラは新機種ラッシュ
[レビュー]テレビを持ち歩ける最強ツール--ソニー、Blu-rayレコーダー「BDZ-A70」
[レビュー]ネットワーク対応の高機能デジタルフォトフレーム--ソニー「Canvas Online CP1」
15時間の行列で手に入れたiPhone 3Gファーストインプレッション--ソフトバンクモバイル「iPhone 3G」
北京を見逃すな!--2008年夏、今買うべき「薄型テレビ」
[レビュー]通勤鞄に忍ばせたい軽さと装着感--マクセルのノイキャンヘッドホン「HP-NC15」