2.7.08

Differences between hard and soft rtos

Hard and Soft Real-Time Systems

A classification can be made into hard and soft real-time systems based on their properties.

The properties of a hard real-time system are:

--No lateness is accepted under any circumstances
--Useless results if late
--Catastrophic failure if deadline missed
--Cost of missing deadline is infinitely high

A good example of a hard real-time system is the fly-by wire control system of an aircraft.

A soft real-time system is characterised by:

--Rising cost for lateness of results
--Acceptance of lower performance for lateness

Examples are a vending machine and a network interface subsystem.

In the latter you can recover from a missed packet by using one or another network protocol asking to resend the missed packet. Of course, by doing so, you accept system performance degradation.

Other real-time systems examples are nuclear power plant control, industrial manufacturing control, me-dical monitoring, weapon delivery systems, space na-vigation and guidance, reconnaissance systems, laboratory experiments control, automobile engines control, robotics, telemetry control systems, printer controllers, anti-lock breaking, burglar alarms — the list is endless.

The difference between a hard and a soft real-time system depends on the system requirements:

it is called hard if the requirement is “the system shall not miss a deadline” and soft if “the system should not miss a deadline”.
There are a lot of discussions going on about the exact meaning of a hard and soft real-time system. One could even argue that a soft real-time system is not a real-time system, as the first requirement: meet deadlines, is not met. Indeed, the term “real-time” is often misused to indicate a fast system. And fast can then be seen as “should meet timing deadlines”, thus meaning a soft real-time system. Therefore, we define a RTOS as an OS that can be used to build a hard real-time system.

Hard or Soft RTOS do not exist!
People often confuse the notion of real-time systems with real-time operating systems (RTOS). From time to time people, even misuse hard and soft attributes. They say this RTOS is a hard RTOS or this one is a soft one. There is no hard RTOS or soft RTOS. A specific RTOS can only allow you to develop a hard real-time system. But having such an RTOS will not prevent you from developing a system that does not meet deadlines.
If, for example, you decide to build a real-time system that should respond to an Ethernet TCP/IP connection, it will never be a hard real-time system as the Ethernet itself is never predictable.
Of course, if you decide to build an application on top of an OS like “Windows 3.11”, your system will never be a hard real-time system as the behaviour of the “OS” software is by no means predictable.

No comments: