
Linux as a Real-Time OS the real caveat - nanotime
There is one reason that Linux can&#x27;t be a hard real-time OS on standard platforms... The hardware platform itself is allowed to take away resources. This means that NO other RT kernel can make those guarantees either on the same hardware. For example many modern devices (including the BIOS firmware itself) make use of internal micro controllers which can generated NMIs (non maskable interrupts) during which control of the system is taken away in order to handling anything from overheating events to completion of a DMA read&#x2F;write from an I&#x2F;O or network device into a shared memory buffer to TLB access or CPU cache flushes. Since there are no guarantees from the platform the OS can&#x27;t guarantee it either regardless of what those people who provide support for micro-kernel hosts would have you believe. RT-Linux itself uses a mechanism that provides a real-time scheduler though its timing guarantees are slower because of overhead they are just as &quot;hard&quot; as the micro kernel solutions on a given hardware platform.<p>If you need true RT support you basically are limited to hardware which allows the guarantees to be made, and the RT Linux solution is good enough for the vast majority of solutions. If you need better performance and hard real time support you need to forget about general purpose hardware and general purpose OSes.
======
airbreather
Surely it depends on your real time needs, real time doesn't mean fast, or
even necessarily regular, just that your processing need is serviced in a
"timely" manner.

If that meant I need something checked at least once every 5 minutes then
statistically the chances of not being serviced must approach 1/infinity?

In Functional Safety the concept is know as "Process Safety Time"and is the
time the controller and associated sensors and equipment has to sense and act
to avert an unwanted event.

In practice for industrial plant this ranges from maybe 3 seconds to half an
hour, though extremes outside this exist either side, but anything that
involves a valve or a contactor does not get much faster.

So what kind of "real time" are you talking about?

------
m463
In general, I agree with you because you have to make your decision based on
the limitations of the hardware.

That said, I would expect that these service controllers actually run a real-
time os themselves. Arbitrary delaying the system would probably break all
kinds of time-critical drivers in non-linux environments.

