A real-time operating system is an operating system that guarantees a correct result within the specified deadline period.
Results produced after the deadline has passed, even if correct may be of no real value. For e.g.: consider an autonomous robot that delivers mail in an office complex, the vision control system of the robot needs to identify a wall before robot walks into it, else the system will be considered as failed. There are two kinds of Real-time operating the system:
Hard real-time OS: A hard real-time OS has the most strict requirements and the degree of tolerance for the missed deadlines is negligible. It guarantees critical real-time tasks to be completed within their timelines. A missed deadline can result in catastrophic failure of the system.
Soft real-time OS: A soft real-time OS is less restrictive.Examples of Hard real-time OS and Soft real-time OS
For a life-saving device, like an automatic parachute opening device for skydivers, a delay can be fatal. The parachute opening device deploys the parachute at a specific altitude based on various conditions. If it fails to respond in a specified time, parachute may not get deployed at all leading to casualty. A similar situation exists during the inflation of airbags, used in cars, at the time of accident. If airbags don’t get inflated at the appropriate times, it may be fatal for a driver. So such systems must be hard real-time systems, whereas, for TV live broadcast, a delay can be acceptable. In such cases, soft real-time systems can be used.