Hard and Soft real-time systems are the variants of real-time systems where the hard real-time system is more restrictive relative to the soft real-time system. The hard real-time system must assure to finish the real-time task within the specified deadline while this is not the case in the soft real-time system, it assigns the superior scheduling priority to the real-time tasks.
Real-time systems involve a set of applications where the operations are performed in a timely manner to govern the activities in an external system. Additionally, it uses the quantitative expression of time to analyse the system’s performance. The deadline in the context of a real-time system is the moment of the time by which the job’s execution is needed to be accomplished.
Content: Hard Real-Time Systems Vs Soft Real-Time Systems
|Basis for Comparison||Hard real time system||Soft real time system|
|Basic||Employs extreme stringent requirements.||Less restrictive|
|Outcome of the deadline miss||Disastrous if system fails.||The system failure does not result in severe harm.|
|Usefulness||Reduces abruptly with the increase in tardiness.||Decreases gradually as tardiness increases.|
|Failure to hit the deadline||Does never occur in hard real-time system (Deterministic).||At times (Probabilistic).|
|Timing constraints||Hard when user requires validation.||Soft if there is no requirement of validation.|
|Quality of service provided||Temporal||Best|
Definition of Hard Real-Time Systems
The Hard real-time system works within the extremely strict requirements, which assure to complete the critical real-time tasks within the deadline period otherwise the system could fail. It mainly involves the safety-critical systems such as flight control, anti-missile control, railway signalling systems where computation must be completed on time otherwise the result could be the catastrophe. The real-time systems use deadline scheduling methods which assists an application to accomplish the task within the deadline.
While completing the memory request the time required by the memory allocator to find the memory area is also increases as memory utilization increases. A hard real-time system should avoid the above-given situation. So, in order to avoid such situation, the hard real-time systems divide the resources and assign them perpetually to competing processes in the application. This technique minimizes the allocation overhead and ensures the independency of the resource utilization of any two different processes with each other.
Definition of Soft Real-Time Systems
The Soft real-time systems make best attempts to match the response demand of a real-time application, but it does not give assurance to meet it under all conditions. Generally, the response requirements are matched in a probabilistic manner. The soft real-time systems are implemented in the applications such as multimedia, reservation and banking systems where the system failure is not a critical issue. It can be understood by an example where the quality of the video may get occasionally deteriorated, delivered by video on demand system, but still, a user can watch it.
Key Differences Between Hard and Soft Real-Time Systems
- The hard real-time systems are highly restrictive and doesn’t tolerate any system failure. As opposed, soft real-time systems are less strict and can stand the system failure.
- If the deadline is missed in the hard real-time system, it could end up to a fatal fault. On the contrary, in the soft real-time system few misses of the deadline can fail the system, but no fatal damage occurs.
- The hard and soft timing constraints are distinguished on the basis of the usefulness of the generated outcome specifically as a function of tardiness. The tardiness measures the additional time consumed to accomplish the task respective to its deadline. So, the usefulness of the result generated by the soft real-time system reduces slowly as the tardiness increases. In contrast, with the increase of tardiness in the hard real-time system the usefulness drops rapidly.
- Hard real-time systems are deterministic in nature while soft real-time systems are probabilistic. More precisely, if the job does not miss the deadline then the deadline is hard. As against, if the deadline is missed at times with very low probability then it the soft timing constraint.
- The timing constraint is considered to be hard if the user validates the system requirements. Whereas if no validation is required, the timing constraints are soft.
- Quality of service provided by the hard real-time system is temporal. Conversely, the soft real-time system has the best quality of service.
Dissimilar to the hard real-time system, the timing constraints are not specifically absolute values when applied to soft real-time systems. Instead, it expresses the constraints in respect of average response time required.