top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What is the major difference between Normal OS and RTOS? [CLOSED]

+2 votes

Please explain with detail, what is the major difference between Normal OS and RTOS?

posted Oct 3, 2013 by Giri Prasad

Looking for an answer?  Promote on:
Facebook Share Button Twitter Share Button LinkedIn Share Button
RTOS stands for real-time operating system, versus the general-computing operating system (OS).

The key difference between general-computing operating systems and real-time operating systems is the need for " deterministic " timing behavior in the real-time operating systems. Formally, "deterministic" timing means that operating system services consume only known and expected amounts of time. In theory, these service times could be expressed as mathematical formulas. These formulas must be strictly algebraic and not include any random timing components. Random elements in service times could cause random delays in application software and could then make the application randomly miss real-time deadlines – a scenario clearly unacceptable for a real-time embedded system. Many non-real-time operating systems also provide similar kernel services.

General-computing non-real-time operating systems are often quite non-deterministic. Their services can inject random delays into application software and thus cause slow responsiveness of an application at unexpected times. If you ask the developer of a non-real-time operating system for the algebraic formula describing the timing behavior of one of its services (such as sending a message from task to task), you will invariably not get an algebraic formula. Instead the developer of the non-real-time operating system (such as Windows, Unix or Linux) will just give you a puzzled look. Deterministic timing behavior was simply not a design goal for these general-computing operating systems.

On the other hand, real-time operating systems often go a step beyond basic determinism. For most kernel services, these operating systems offer constant load-independent timing: In other words, the algebraic formula is as simple as: T(message_send) = constant , irrespective of the length of the message to be sent, or other factors such as the numbers of tasks and queues and messages being managed by the RTOS.

Many RTOS proponents argue that a real-time operating system must not use virtual memory concepts, because paging mechanics prevent a deterministic response. While this is a frequently supported argument, it should be noted that the term "real-time operating system" and determinism in this context covers a very wide meaning, and vendors of many different operating systems apply these terms with varied meaning. When selecting an operating system for a specific task, the real-time attribute alone is an insufficient criterion, therefore. Deterministic behavior and deterministic latencies have value only if the response lies within the boundaries of the physics of the process that is to be controlled. For example, controlling a combustion engine in a racing car has different real-time requirements to the problem of filling a 1,000,000 litre water tank through a 2" pipe.

Real-time operating systems are often uses in embedded solutions, that is, computing platforms that are within another device. Examples for embedded systems include combustion engine controllers or washing machine controllers and many others. Desktop PC and other general-purpose computers are not embedded systems. While real-time operating systems are typically designed for and used with embedded systems, the two aspects are essentially distinct, and have different requirements. A real-time operating system for embedded system addresses both sets of requirements.