標題: | nDriver: Online driver replacement for increasing operating system availability |
作者: | Chang, Da-Wei Huang, Zhi-Yuan Chang, Ruei-Chuan 資訊工程學系 Department of Computer Science |
關鍵字: | fault recovery;device driver;design diversity;driver replacement;operating system availability |
公開日期: | 1-七月-2007 |
摘要: | Device drivers are the most unreliable part of an operating system. In this paper, we propose a framework called nDriver. Based on the design diversity concept, it uses multiple implementations of a device driver to survive from driver faults. Once a fault happens in a driver, nDriver can dynamically replace the faulty driver with another implementation, instead of allowing the faulty driver to crash the system. The unique features of nDriver are as follows. First, it can detect two major kinds of driver faults, the exception and blocking faults. Second, the requests issued to the driver will not be lost due to the driver replacement. Third, the driver replacement is transparent to all the other kernel subsystems. Fourth, nDriver requires no modification to the existing operating system or driver codes. The major contribution of this work is that nDriver implements the concept of design diversity at the device driver layer. Moreover, it achieves the goal of seamless driver replacement and improves operating system availability without modifying the existing operating system or driver codes. We implemented nDriver as a kernel module in Linux. Currently, it can recover the system from faults in network device drivers. However, the mechanisms can be adapted to other module-based device drivers with a slight extension. According to the performance evaluation, the overhead of nDriver is no more than 3.5% and the recovery time is quite small. This indicates that nDriver is an efficient mechanism to increase the availability of an operating system. |
URI: | http://hdl.handle.net/11536/10664 |
ISSN: | 1016-2364 |
期刊: | JOURNAL OF INFORMATION SCIENCE AND ENGINEERING |
Volume: | 23 |
Issue: | 4 |
起始頁: | 1241 |
結束頁: | 1263 |
顯示於類別: | 期刊論文 |