Skip main navigation

New offer! Get 30% off one whole year of Unlimited learning. Subscribe for just £249.99 £174.99. New subscribers only. T&Cs apply

Find out more

What is real-time computing?

In this article, we explore the properties of real-time computing, and how it affects tasks carried out within embedded systems.

What is real-time computing?

Real-time computing, also known as reactive computing, is used to describe a computer system that reacts to events by performing tasks within a specific time interval. The time frame for these actions to be carried out is in the order of milliseconds.

Meeting these specific time intervals are key to the effectiveness of real-time systems. If a real-time system fails to carry out actions in time, it can result in the system being inadequate or useless.

Real-time systems

There are three levels of real-time systems: hard, firm, and soft. Which category a real-time system falls into depends on how severely a missed deadline affects the system.

Hard real-time systems

Hard real-time systems have a strict deadline for responding to events and ensuring tasks are carried out in time. It is critical that each action takes place inside the specified time frame, otherwise, there will be a system failure, which could result in damaging property or endangering life.

One example of this is a plane engine control system. This embedded system must function without a delay; otherwise, it could result in engine failure or damage to the engine.

Another example is an inkjet printer. The printhead must move and deposit the right amount of ink very precisely; failure to meet a deadline will ruin the print job.

Firm real-time systems

In a firm real-time system, some deadlines can be missed, which may degrade the quality of the task, but will not automatically result in system failure. Subtasks that are completed after the deadline are worthless and won’t be used. If several deadlines are missed, the system may cease to function properly.

An example of a firm real-time system is video streaming. If some of the video frames are not transmitted in time, the media will continue to play, but with a reduction in quality. Any video that has been generated after the deadline is useless and will be ignored. Too many skipped frames will result in a video that is unwatchable.

Soft real-time systems

With soft real-time systems, if a deadline is missed, the system will not fail and the result of a task may still be useful. However, the value of the completed task may reduce as time goes on, which will lower the system performance.

For example, a weather station will consist of many sensors for measuring data such as temperature, wind speed, and visibility. If these sensors do not transmit all of the data at the same time, it will not adversely affect the system, as long as the data is collected relatively close together.

Event-driven

All real-time computing systems are event-driven, meaning that they are built to react to system events.

An event in a computer system is an action or other detectable occurrence that a computer can react to. This could be a mouse click or a button press.

There can also be system events that are not manually triggered but are still detectable. These include things like a sensor value changing, or the computer running out of memory.

Responding to these events in a timely manner is what defines a real-time computing system.

This article is from the free online

Design and Prototype Embedded Computer Systems

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now