TY - GEN
T1 - Building a self-healing embedded system in a multi-OS environment
AU - Katori, Tomohiro
AU - Sun, Lei
AU - Nilsson, Dennis K.
AU - Nakajima, Tatsuo
PY - 2009
Y1 - 2009
N2 - In this paper we describe our approach to improve dependability of a commodity OS for embedded systems. Usually it is too difficult for end-users to resolve the problem inside a single OS, especially for embedded systems. We propose a self-healing mechanism for Linux kernel to improve the system dependability without any operations by administrators. This paper presents our white box approach for monitoring and recovering Linux kernel. Key components are a system monitor and a virtual machine monitor. The system monitor is used to detect the inconsistency of data structures inside Linux kernel. The virtual machine monitor provides a multi-OS environment and it isolates the system monitor from Linux kernel. In a multi-OS environment, the system monitor is able to resolve failures inside Linux kernel without stopping crucial services running on another OS. We have developed a prototype for an embedded system to verify our approach. The experiment results show that our system can remove hidden processes and reload buggy kernel modules. The performance evaluation results show that our self-healing mechanism can be used even when Linux kernel is heavily-loaded and the overhead of the system monitor is vanishingly small in actual use.
AB - In this paper we describe our approach to improve dependability of a commodity OS for embedded systems. Usually it is too difficult for end-users to resolve the problem inside a single OS, especially for embedded systems. We propose a self-healing mechanism for Linux kernel to improve the system dependability without any operations by administrators. This paper presents our white box approach for monitoring and recovering Linux kernel. Key components are a system monitor and a virtual machine monitor. The system monitor is used to detect the inconsistency of data structures inside Linux kernel. The virtual machine monitor provides a multi-OS environment and it isolates the system monitor from Linux kernel. In a multi-OS environment, the system monitor is able to resolve failures inside Linux kernel without stopping crucial services running on another OS. We have developed a prototype for an embedded system to verify our approach. The experiment results show that our system can remove hidden processes and reload buggy kernel modules. The performance evaluation results show that our self-healing mechanism can be used even when Linux kernel is heavily-loaded and the overhead of the system monitor is vanishingly small in actual use.
KW - Monitoring
KW - Multi-OS environment
KW - Self-healing
UR - http://www.scopus.com/inward/record.url?scp=72949105334&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=72949105334&partnerID=8YFLogxK
U2 - 10.1145/1529282.1529347
DO - 10.1145/1529282.1529347
M3 - Conference contribution
AN - SCOPUS:72949105334
SN - 9781605581668
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 293
EP - 298
BT - 24th Annual ACM Symposium on Applied Computing, SAC 2009
T2 - 24th Annual ACM Symposium on Applied Computing, SAC 2009
Y2 - 8 March 2009 through 12 March 2009
ER -