Failures in Embedded System

 Introduction

Embedded System is a combination of software and hardware to get the specific work done. From small to large devices embedded systems plays an important role in real world applications.

An embedded system can be an independent system or it can be a part of a large system. There are several advantages of Embedded System like low-cost, user friendly, low power consumption, etc. They have great efficiency level. To make the efficient embedded system one should overcome the failures caused.

Usually, two types of failure occur in an embedded system

1.    Hardware Failure

2.    Software Failure

 

Hardware Failure in Embedded Systems:

·      Badly Calibrated Sensors: If the sensors are not properly calibrated, it will be less sensitive to the input/error and will give less accurate output.

·      Electrical Failure: If any surge/spike gets into the embedded system, the system may cause severe damage like short circuit, too high voltage/current pass through the system.

·      Mechanical Failure: Jamming of the valve may also lead to serious damage.

·      Temperature Effects: Due to temperature effects some components get deformed in nature. Deformation of components is also one of the reason due to which system may get failed.

·      Manufacturing/Assembly process deficiencies: Sometimes, there is a manufacturing defect in some components this will give rise to failure of an embedded system.

·      Material Failure: As majority of embedded systems uses semiconductors. So, there are high chances of getting corroded.

·      Hostile Environments: Every component has its own operating temperature range. Sometimes, environment plays an important role to get the efficient resultant output.


Software Failure in Embedded System:

·      Deadlock: It is a situation where a batch of processes are blocked because each process is holding a resource and waiting for another resource acquired by some other process. When an active application hits a deadlock, it may "hang" or system becomes unresponsive.

·      Buffer Overflow: This occurs when a program tries to store more data in a temporary memory that it can hold. Writing outside the allocated memory area can corrupt the data, crash the program or cause the execution of malicious code that can allow an attacker/hacker to modify the target process address space.

·      Resource Starvation: Starvation is the problem that occurs when low priority processes get jammed for an unspecified time as the high priority processes keep executing.

·      Dangling Pointers: A dangling pointer is a pointer to memory that your program should not use. Using dangling pointers is a common mistake among beginners. One kind of dangling pointer is an address in a part of memory that the OS knows does not belong to your process. Using such a dangling pointer leads to a memory fault.

·      Race Condition: A race condition occurs when two threads access a shared variable at the same time. The first thread reads the variable, and the second thread reads the same value from the variable. This may lead unexpected behaviour of the system.

·      Too Small Memory: If the size of program code is more than the EEPROM/EPROM/PROM then the embedded system is unable to execute the commands.

·      Resource leaks: This is type of programming errors which lead to the loss of computer control over some of the hardware resources. Memory leaks are the simplest form of resource leak.

·      Shared interfaces with other systems: An interface is a shared boundary across which two or more separate components of an Embedded system exchange information. The exchange can be between software, computer hardware, peripheral devices, etc. Because of this some sometimes false data get shared or data gets lost.

 

Operational Failure:

Because of human mistakes such type of failure takes place in the system. For example, Panipat ammonia gas leak tragedy (1992) is an example of an operational failure.

 

Conclusion

From this article we get to know about different causes of failures in the embedded systems and its overview.  Because of these failures in the embedded system one can face financial as well as human loss, less productivity, etc. By overcoming this we can solve above following problems.

 

References

1.    https://en.wikibooks.org/wiki/Embedded_Control_Systems_Design/Failure_modes_and_prevention#:~:text=Some%20examples%20of%20software%20failure%20causes%20are%3A,Noise

2.    https://www.opuskinetic.com/2017/09/3-industrial-accidents-caused-by-human-error/

3.    http://www.indiaenvironmentportal.org.in/content/13242/the-panipat-tragedy-what-went-wrong/

4.    https://www.viewpointusa.com/IE/wp/top-5-embedded-system-design-fails/

Comments

Popular Posts

Ford Fulkerson Algorithm for Maximum Flow

MOTIVATION or INSPIRATION : What is the difference?