Image: Infosys Blogs
The term “real-time” may be a term you have heard many times before. Did you know that many systems run on real-time as well?
Real-time systems have more specific conditions than regular systems, where there are strict timing restrictions on producing the outputs. This means the system must produce a response at a set deadline/time, or else there will be severe consequences. The definition of a real-time system may be confusing at first, so let’s use an example to illustrate the process.
Take a dishwasher for example: it has a microchip embedded in the machine that acts as the brain of the machine. The microchip controls the water intake, speed of the motor, door access and display monitor. Certain functions within the dishwasher need to happen at a specific time. This is why the dishwasher is a real-time system. For example, if the door was ever opened while the dishwasher was operational, the correct response is to shut off the water immediately. If the system does not respond immediately, water would spill out of the dishwasher.
It turns out there are different types of real-time systems, namely hard and soft real-time systems. A hard real-time system needs to have an immediate response time or else it will cause severe or even fatal consequences.
A great example of a hard real-time system is a pacemaker: Its function is to detect irregular and abnormal heart rhythm and notify the computer to send electrical pulses to your heart immediately. If the response time is not immediate, the pacemaker’s owner could suffer a heart attack, causing a fatal consequence.
Soft real-time systems have a less strict deadline and the system would not be considered a failure if it misses a couple of deadlines here and there. An example of this would be the sound system in a laptop: If the sound system isn’t functioning properly, it would only lessen the quality of the sound produced and the consequences would not be as dire. However, as this problem progresses, it would deteriorate the sound system and eventually start damaging it. Therefore, it is important for real-time systems to meet its required deadlines.
To summarize, here are some key points you should know about real-time systems:
- Every task in a real time system is characterized by its deadline
- Time allocation may be absolute or relaxed (i.e. hard vs. soft real-time)
- Real-time systems usually have very precise timing and high degrees of reliability
- Real time’s speed is the same speed as a real operating clock
- Every task in a system has a priority
- The higher the priority, the more likely it will be executed first
- Real-time systems fail when a task is not completed within a specified deadline
- If a real time system fails to meet a deadline, it will have negative consequence
Real time systems are prevalent throughout our daily lives. We use them without even knowing it; they keep us on schedule and avoid chaos from occurring. So the next time you open your dishwasher before it’s finished, you can thank the advancement of real-time systems for preventing all the suds from getting on the floor.
Feel free to comment and let us know if you have questions!