Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

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

share|improve this question
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)

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .