Learn something new every day
More Info... by email
A real-time operating system is a specific type of computer operating system that completes tasks very reliably. These operating systems have the ability to take in information and output results on a real-time basis. This means that the information results are ready at the same time the results are needed. This type of operating system is the traditional computer component of a larger computing and manufacturing philosophy called real-time computing.
A standard computer operating system doesn’t use speed as a determining factor. The speed at which a process is completed may be very important to the user, but the operating system itself is completely unconcerned. Since speed isn’t important to the programming, a process may be interrupted or halted while another process, which is recognized as more important, runs instead.
This type of processing creates a level of variability in output that is unacceptable in some systems. Some computer systems operate expensive machinery, govern utilities or perform other tasks involving thousands of human lives or millions of dollars. These computers need a dependable level of output to prevent accidents and save lives and money.
In order to achieve this level of dependability, people use a real-time operating system. These systems do use time as a determining factor. The time it takes for information to enter the system and the computations made using that information is tightly controlled.
One of the main factors of a real-time operating system revolves around process prioritization. In a standard operating system, certain internal system processes are more important than any other. These processes may not be interrupted by applications, regardless of priority. A real-time operating system will allow application process the top priority if necessary. This allows important calculations the time and power they need to finish within a certain window.
A real-time operating system has a very dependable level of output, often at the expense of general speed. Since the system and processor time is more variable, it is possible for non-important actions to take longer to finish. Memory addressing and swapping is both slower and more stable than in a traditional system. In essence, it takes longer to write and retrieve the information, but the information is always there when it needs to be.
There are two basic types of real-time operating systems, hard and soft. In a hard system, the information must be where it needs to be within a certain time frame or the information is useless. These are often critical systems that govern medical equipment, utilities or money exchanges. In a soft system, there is more leeway on exactly when the information is required. This style is common in places like navigation systems and constantly updating equipment such as radar.
@Markerrag -- good point, but that can be a hard question to answer. One of the misconceptions about multi-core CPUs is that they are designed to make computers faster by combining all of those cores into one, fast unit that will take on a task. That's not the point at all -- multi-core CPUs are faster because they can handle many different tasks at the same time.
Having said that, most operating systems are built on the old "system prioritization" model in which some tasks will always take precedence over others. If all cores are dealing with system tasks because of prioritization, then you don't have a truly real time operating system. In other words, the answer seems to be yes and no -- things can usually be done in real time, but tasks are still prioritized and that could cause some things to be delayed.
How critical is a "real time" operating system on modern hardware that features multi-core CPUs and a lot of RAM for the express purpose of handling several tasks at once? Are we at a point where virtually all operating systems are "real time" because modern hardware is geared for multitasking and downplay interrupts because of essential system functions?
One of our editors will review your suggestion and make changes if warranted. Note that depending on the number of suggestions we receive, this can take anywhere from a few hours to a few days. Thank you for helping to improve wiseGEEK!