Fault injection in the process descriptor of a Unix-based operating system

Transient faults in computer-based systems for which high availability is a strict requirement, originated from several sources, like high energy particles, are a major issue. Fault injection is a commonly used method to evaluate the sensitivity of such systems. The paper presents an evaluation of the effects of faults in the memory containing the process descriptor of a Unix-based Operating System. In particular the state field has been taken into consideration as the main target, changing the current state value into another one that could be valid or invalid. An experimental analysis has been conducted on a large set of different tasks, belonging to the operating system itself. Results of tests show that the state field in the process descriptor represents a critical variable as far as dependability is considered.

[1]  Sreekrishnan Venkateswaran Essential Linux Device Drivers , 2008 .

[2]  Jean Arlat,et al.  Characterization of the impact of faulty drivers on the robustness of the Linux kernel , 2004, International Conference on Dependable Systems and Networks, 2004.

[3]  Jacob A. Abraham,et al.  FERRARI: A Flexible Software-Based Fault and Error Injection System , 1995, IEEE Trans. Computers.

[4]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[5]  Barton P. Miller,et al.  An empirical study of the reliability of UNIX utilities , 1990, Commun. ACM.

[6]  Henrique Madeira,et al.  Xception: Software Fault Injection and Monitoring in Processor Functional Units1 , 1995 .

[7]  Henrik Eriksson,et al.  MODIFI: A MODel-Implemented Fault Injection Tool , 2010, SAFECOMP.

[8]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[9]  Barry W. Johnson,et al.  A Fault Injection Technique for VHDL Behavioral-Level Models , 1996, IEEE Des. Test Comput..

[10]  Jean Arlat,et al.  Fault Injection for Dependability Validation: A Methodology and Some Applications , 1990, IEEE Trans. Software Eng..

[11]  Herbert Bos,et al.  Can we make operating systems reliable and secure? , 2006, Computer.

[12]  Daniel P. Siewiorek,et al.  Automated robustness testing of off-the-shelf software components , 1998, Digest of Papers. Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing (Cat. No.98CB36224).

[13]  Maurizio Rebaudengo,et al.  Software-implemented fault injection in operating system kernel mutex data structure , 2014, 2014 IEEE 5th Latin American Symposium on Circuits and Systems.

[14]  Alfredo Benso,et al.  Fault Injection Techniques and Tools for Embedded Systems , 2003 .

[15]  Johan Karlsson,et al.  Using heavy-ion radiation to validate fault-handling mechanisms , 1994, IEEE Micro.

[16]  Ravishankar K. Iyer,et al.  Benchmarking the Operating System against Faults Impacting Operating System Functions , 2008 .

[17]  Michael Nicolaidis Time redundancy based soft-error tolerance to rescue nanometer technologies , 1999, Proceedings 17th IEEE VLSI Test Symposium (Cat. No.PR00146).

[18]  Johan Karlsson,et al.  Fault injection into VHDL models: the MEFISTO tool , 1994 .

[19]  Ravishankar K. Iyer,et al.  Experimental analysis of computer system dependability , 1996 .

[20]  Johan Karlsson,et al.  GOOFI-2: A tool for experimental dependability assessment , 2010, 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).

[21]  Alfredo Benso,et al.  EXFI: a low-cost fault injection system for embedded microprocessor-based boards , 1998, TODE.

[22]  Peter J. Denning,et al.  Fault Tolerant Operating Systems , 1976, CSUR.

[23]  Ravishankar K. Iyer,et al.  Faults, symptoms, and software fault tolerance in the Tandem GUARDIAN90 operating system , 1993, FTCS-23 The Twenty-Third International Symposium on Fault-Tolerant Computing.

[24]  Robert Love,et al.  Linux Kernel Development , 2003 .