Ubuntu with pre-emptive multitasking available now

dos2unix

Well-Known Member
Joined
May 3, 2019
Messages
2,460
Reaction score
2,151
Credits
19,043

Ubuntu with "real-time" preemptive multitasking available. It looks like Ubuntu is finally starting
to get serious about enterprise computing.
 


I worked with several real-time operating systems in the 1980s. Intel's iRMX86 was one. I tried to look up a couple others, but the web searches came up empty. I guess they are now forgotten or abandoned. Sometimes real-time operating systems were called "executives." I worked on projects that delivered custom-built equipment to special customers. The end users saw specialized equipment that did stuff related to their job. They did not interact directly with the real-time operating systems.

Back then, real-time operating systems were very lean and efficient. Seeing "Ubuntu" next to "real-time operating system" leads me to wonder how lean and efficient it is. The webpage has a lot of features and buzzwords, and I wonder how much the marketing people who created that webpage actually understand about real-time operating systems. Terms like "end-to-end security" sound nice, but what does it actually mean in the context of a real-time operating system?

Those days are long passed. I prefer to be learning forward.
 
Last edited:
Sometimes real-time operating systems were called "executives."

Well AIX and HPUX are a couple. Surprisingly enough the Commodore Amiga was one of the first preemptive desktop OS's.
( However it didn't have memory protection, so unless the programs were pretty small... )



I have often wondered why the two popular OS's both use cooperative multitasking. ( MacOS and Windows )

Solus was one of the first Linux's to be preemptive. Fedora used something called "voluntary preemptive", which seems
like an oxymoron, but in practice is more efficient than cooperative. The enterprise Linux's ( Redhat, Oracle, CentOS,
and SLES have been preemptive for a while now. Redhat starting with Redhat 7.


BSD isn't really Linux, but it also has a preemptive Kernel.


I was going to say I was surprised that Ubuntu didn't do this a long time ago, but it seems they have always been more Desktop/Workstation oriented, so maybe it isn't that surprising after all. It makes sense.
 
I never thought of AIX or HP-UX as "executives". I worked on both of those operating systems, but did not realize that the "X" in AIX stood for "eXecutive" until today. (... but not HP-UX, which is "HP Unix".)

Clarifying your statements above:
Windows and Mac have relied on preemptive multitasking for a long time, too. That has been true since the releases of Windows 95 and Mac OS X respectively.

Early versions of Windows and the "Classic" Mac OS relied on cooperative multitasking.

To the best of my knowledge, Unix and Unix-like operating systems (read: Linux) have always relied on preemptive multitasking.

Are we conflating "preemptive multitasking" with "real-time operating system" here? They are not the same.
 
Last edited:
Are we conflating "preemptive multitasking" with "real-time operating system" here? They are not the same.

I would disagree, but please explain.
 
I would disagree, but please explain.
Not my dog, not my fight, but my understanding is (was?) that real-time operating systems are predominantly event (or interrupt) based, whereas preemptive multitasking OSes are based on scheduled time slots for each process. RTOS can be preemptive, but preemptive is not necessarily RTOS.
 
RTOS can be preemptive, but preemptive is not necessarily RTOS.

I see your point.

A real-time operating system (RTOS) is an operating system (OS) for real-time computing applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which manages the sharing of system resources with a scheduler, data buffers, or fixed task prioritization in a multitasking or multiprogramming environment. Processing time requirements need to be fully understood and bound rather than just kept as a minimum. All processing must occur within the defined constraints. Real-time operating systems are event-driven and preemptive, meaning the OS can monitor the relevant priority of competing tasks, and make changes to the task priority. Event-driven systems switch between tasks based on their priorities, while time-sharing systems switch the task based on clock interrupts.

Characteristics[edit]​

A key characteristic of an RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is 'jitter'.[1] A 'hard' real-time operating system (hard RTOS) has less jitter than a 'soft' real-time operating system (soft RTOS). A late answer is a wrong answer in a hard RTOS while a late answer is acceptable in a soft RTOS. The chief design goal is not high throughput, but rather a guarantee of a soft or hard performance category. An RTOS that can usually or generally meet a deadline is a soft real-time OS, but if it can meet a deadline deterministically it is a hard real-time OS.[2]


It is interesting to note, all Linux distro's do not use the...

Real-time PREEMPT_RT patches, included into the mainline Linux since version 2.6, provide a deterministic scheduler, the removal of preemption and interrupts disabling (where possible), PI Mutexes (i.e., locking primitives that avoid priority inversion),[170][171] support for high precision event timers (HPET), preemptive Read-copy-update, (forced) IRQ threads, and other minor features.



 
I would disagree, but please explain.
My response would be, "Real-time operating systems use preemptive multitasking, but not all operating systems that use preemptive multitasking are real-time operating systems." The Wikipedia article summary paragraph on "Real-time operating system" explains it better than I could write it myself:

https://en.wikipedia.org/wiki/Real-time_operating_system

I was surprised to learn how many real-time operating systems existed and exist today. I have never heard of most of the ones on Wikipedia's list:

https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems

An aspect of real-time operating systems that was not mentioned in the article is what I would "leanness". The real-time operating systems I worked with were small and had tightly written code, optimized for speed and efficiency. That "small size" aspect may not be as true today as it was a long time ago.
 

Members online


Top