Does real-time computing always require a real-time operating system?

Is it possible to run real-time applications on general purpose (usual) OSes?

  • As Nifle may or may not be telling you, it's probably better to split this up into multiple questions. Although I have to ask: Are you facing any concrete problem? Or just curiosity? – slhck Jun 12 '12 at 20:53
up vote 4 down vote accepted

I would argue that real-time computing requires a real-time operating system.

Real-time applications function on the principle of guarantees, and it is absolutely necessary for the operating system to be capable of providing guarantees about the system calls, scheduling, and hardware in order for an application to provide additional guarantees built on top of those.

As to a general-purpose OS actually working for a real-time application, that depends on your deadlines. If the application has hard real-time limits (industry software, guidance systems, other high-grade/dangerous equipment controller software), then no. Those have to be running on a RTOS in order to provide the guarantees of safety that they need. For RT applications with softer limits, those that it would be nice to meet, but it's not the end of the world if they slip, you might be able to get away with a general-purpose OS that is dedicated to the task and raising the application to the appropriate priority. However, it's important to note that while this may work for 99% of the use cases, it is still not real-time system, and it is no longer a real-time application because it cannot uphold the guarantees in all situations.

(Note, while I use 'general purpose' to strictly mean 'not real-time' in the above, there is nothing inherently excluding a RTOS from being used as a general operating system, or for a general-purpose system from having some system calls and priorities which have real-time contracts. As long as the application is only making use of the OS which it can guarantee to operate within a specific time limit, then it is running in real-time for our purposes)

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.