抄録
オペレーティングシステム(OS)構成部品の中で故障の多いデバイスドライバの障害時に,OS全体を再起動させることなくドライバ復旧を可能とする手法が提案されている.ドライバはOS本体からメモリ保護機構などで隔離され,メモリ保護違反などによって起きる障害からはすみやかに再起動される.しかし,無限ループやデッドロックなどのエラーによるドライバ無反応障害は,定期的にドライバ状態を監視しなければ検出できない.即座に検出するためには監視間隔を短くする必要があるが,監視オーバヘッドが大きくならないように監視方法は軽量であることが求められる.本研究では,ドライバ動作特徴を基にした軽量な監視方法を提案する.本手法は,一定期間を越えても1回の仕事を完了しないドライバをエラー状態とみなし,ドライバを復旧処理へ移行させる.提案手法をマルチサーバ型OSであるMINIX3に適用した.
Drivers are failure-prone in OS components and OSs have to be failure resilient to them. Current dependable OSs isolate drivers and recover failed them without OS reboot. The OSs isolate drivers using MMU or type-safe language, and can detect drivers' protection violation at once. However, silent failures caused by infinite loops or dead locks are to be detected using periodical monitoring. Although quicker detection of the failures are realized shorter periodical monitoring, monitoring must be lightweight to keep cost low. We have proposed a lightweight monitoring method based on the characteristic that drivers in normal condition repeat a cyclic routine and complete their job within a constant short period. In our method, drivers which cannot complete their job within the period of the time quantum are considered as abnormal. We have implemented the method on MINIX 3.