Real-time means that both hardware and software must be capable of interacting with physical "events" external to the computer itself, and this interaction must be sufficiently fast as to capture and preserve the essential information associated with the event. In some cases, the computer must also be able to make a fast calculation of some response data that can be applied as feedback to control subsequent events.
Naturally, this definition of real-time means that the requirements for the computer system depends highly on the speed of the external processes in question. A system that logs data in a solar-energy building can be said to be real-time, but the timing requirements are far more liberal than those for a system controlling the flight of a spacecraft or airplane.
The concept of interrupts is vital to real-time computing. Both hardware and software must support the handling of interrupts from (in most cases) multiple sources. An external event triggers an electrical signal, and a transition from logical false to true of this signal causes the computer to take some action within a predefined maximum time for the level of interrupt in question. The faster reaction a specific type of event needs, the higher is the interrupt level it is assigned to. In this way it can be assured that for instance reading data from a nuclear reaction takes priority over something like keyboard input.
Typical time-constants for the front-end part of the data-acquisition
system at the Oslo Cyclotron lab is ~10
s, for
the rear-end system (main computer) ~10ms.
We have special, locally developed programs that take care of the data-acquisition in real-time, analysis and display. As is the case with the electronics, we have needs that can not be met by commercial software off-the-shelf.
A typical monitor screen during an experiment can look like this.