- 著者
-
吉村 剛
山田 浩史
吉田 哲也
河野 健二
- 雑誌
- 研究報告システムソフトウェアと オペレーティング・システム(OS)
- 巻号頁・発行日
- vol.2011, no.6, pp.1-8, 2011-04-06
コンピュータには高い信頼性が求められている.信頼性を脅かす要因としてオペレーティングシステムのカーネルフェイラがある.カーネルフェイラが発生すると,カーネル上で動作している全てのアプリケーションの動作異常につながり,サービス提供者やユーザに大きな損害を与えてしまう.カーネルフェイラの原因はソフトウェアやハードウェアにおけるバグであり,こうしたバグを開発段階で除去することは難しい.そのため,カーネルフェイラが運用時に発生したらできるだけ早くフェイラから復旧する方法が求められている.カーネルフェイラから素早く復旧する手法を検討するために,本研究はバグの発生からフェイラに至る過程で発生するエラー伝播を調査する.実用 OS のバグの調査結果に基づいて作成されたフォールトインジェクタを利用して,Linux カーネルに対してフォールトインジェクションを行い,その結果発生するエラー伝播を KDB によって追跡した.調査した結果,フォールトインジェクション 500 回に対してエラーを 150 回,エラー伝播を 18 回確認した.エラー伝播はプロセス間では発生しにくく,バグの挿入された関数内で収束する確率が非常に高いことを確認した.Kernel failures have a considerable impact on the overall availability of software systems. Even if the applications running on the operating system are highly available, a bug inside the kernel may result in a failure of the entire software stack. However, modern operating systems are far from bug-free. Guided by this fact, we need to recover from kernel failures as quickly as possible when they occur in a service operation. To explore the quick recovery mechanism, in this work, we investigate error propagation of kernel bugs in a commodity operating system kernel. In our investigation, we use a fault injector that is implemented based on a survey of commercial operating system bugs. We inject faults into Linux 2.6.18.8 with the injector, and trace error propagation with KDB. Our experimental result shows that 150 of 500 faults make the kernel error, which means that almost all the error is not propagated. Our result also shows that 18 of 150 errors are propagated, and the errors are not propagated from the faulted process to the other.