“More than half of the 1.2 million lines of code for the real-time kernel technology have been moved into the mainline Linux kernel over the past year, Tim Burke, the director of emerging technologies at Red Hat, said at the Linux/Open Source on Wall Street conference on April 23.”
If Bill Gates (Of Hell) was president, using Linuks or any other operating system other than Winblows, would be a punishable crime.
Winblows and Linuks both suck. Winblows keeps crashing and freezing, and in Linuks you can not even change the damn screen resolution without recompiling the whole Kernel and restarting the computer.
So you believe that you’ll have to recompile the entire Linux kernel to change screen resolution…
… are you ******?
Stop trolling!
BTW There’s nothing wrong with either GNU/Linux or Windows.
The best way to get trolls to stop trolling is not feeding them replies in the first place. Especially such crude and poorly thought out attempts at trolling.
If Bill Gates was President, maybe we could all benefit from a $3 copy of Windows.. But then again, I thought he wanted to stop the spread of viruses in the third world.
Discussion on the internet always end with someone calling someone else a troll, a nazi or anti-semite.
Definition of “troll”: someone who says or does something you do not like or agree with.
The internet has sure given birth to a new species of humans…web warriors.
This makes Linux a SOFT REALTIME system, which is to say that scheduling guarantees are relaxed due to the non-determinism of running unbounded user mode applications. It isn’t at all clear whether Linux can function as a HARD REALTIME system with hard scheduling guarantees.
Even Microsoft has a hard realtime operating system now: http://en.wikipedia.org/wiki/Windows_CE
The question is, *should* Linux try to be a hard-realtime system? At the beginning, Linux spread entirely into the Desktop and server area. That’s a completely different direction than hard real-time systems. A subset of libraries shared between Linux and some hard-real-time-OS project would make more sense to me. Unless, of course, you argue that hard real-time concepts should be the basis of desktop and server systems.
AFAIK, Linux includes a lot of tricks that improve performance, but are useless when you need deterministic performance.
I don’t think it makes sense to enforce hard realtime constraints on desktop systems because they’re in a completely different space. Most hard realtime systems are deployed as embedded applications (ie. aircraft avionics controllers, security systems, traffic-monitoring systems, etc). Most embedded applications don’t require extensibility. They run a narrow range of precisely scheduled processes and, consequently, you don’t have the non-determinism that would be present on arbitrary user desktops running random applications.
I agree with your concept of having a “subset of libraries shared between Linux and some hard realtime OS project.” That fits very nicely with the reality of embedded applications — and it would certainly give environments such as VxWorks, QNX, and others a run for their money; although there is still a need to develop scheduling tools (ie. rate monotonic analysis scheduling).
A subset of libraries shared between Linux and some hard-real-time-OS project would make more sense to me.
And that is exactly the way Linux has done hard-realtime for years. First done by RTLinux, soon followed by RTAI. And later by several other similar projects.
When V. Yodaiken the developers of RTLinux started it, I’m not sure of. But an early paper describing the design and implementation of RTLinux refers to Linux kernel 1.3.32, so it’s quite old. It has been used in comunity and commercial projects for years.
Remember the Linux Kernel is the Linux Kernel. While Windows CE is not the same as desktop Windows in anyway.
I am sure if someone wanted to rewrite Linux from scratch they could make a hard realtime system also. But we are talking about adding features to the current Linux Kernel.
Desktop Windows (Or the Kernel from it) will never be real time ether. Not even as close as linux is now.
Windows CE is focused on that.
Let’s throw up some numbers of lines of code without context. We’ll go to a meeting with financial people and no Kernel hackers. At least they get it through that it lowers throughput to achieve low-latency network connections.
Maybe some Fortune 500 CEOs will now be convinced by the buzzwords that they need to get “Real Time” Linux ™ from Red Hat to run their business in “Real Time” ™.
It makes sense to have real-time control when you’re running a rover or a airplane or a piece of medical or manufacturing equipment. It makes sense when you control all the wires coming into and out of the device. But when you have things like harddrives (which are pretty non-deterministic) or network connections with routing, congestion control, and all of the other facets of TCP which make it robust but nondeterministic, will it matter if your kernel is a little more deterministic at the expense of throughput?
Perhaps I’m envisioning this thing the wrong way, but it just seems to be some stupid hype.
but real-time is hard. From a tech perspective it’s “grown up” work. Commercial RT systems for non-trivial work are extremely expensive. They goal’s not to make your desktop faster or your server process faster, but to get Linux in to Manufacturing and control applications. There’s a huge opening in the industry right now because the big players like Allen-Bradley are more worried about locking you into a series of products than adding features… it’s really bad… think win95 vs Vista bad.
The “gravy” of real time linux is that a machine/assembly line builder can use cheaper off the shelf parts and of course plug into all the cool network frameworks to make their processes “pretty”… you can do cool stuff with real-time control networks… think watching every button pushed and lever pulled as it happens. The Hard part is that real-time apps demand PERFECT software. That’s why GUYS like AB get away selling 1MHz processors with under a megabyte of ram for thousands of dollars!!! When you push button A to stop Wheel B it must happen NOW.. as if it was a physically wired switch or thousands/millions of dollars will be damaged or people hurt.
Look at it another way… the market is so stacked with monopolistic players that some companies are willing to spend the tens of thousands on developers just to give it away to break it up!!! So yes, somebody out there wants this to happen.
Here’s why even desktop operating systems should be real-time:
Your audio playback shouldn’t pause or stutter just because you’re wiggling your mouse or typing 100wpm. VoIP makes this even more desirable.
Ditto for video playback. Granted, you’re less likely to be doing other things while watching a video, but you still have lots of background tasks running.
From a developer perspective, sometimes having and RTOS makes things EASIER, though that may seem couter-intuitive. Essentially it’s because once you’ve tested something, you’re not surprised by how it behaves in a production environment.
Sure, big buffers on CD/DVD burners has pretty much ended the constant coastering of disks we had back in the early days, but we shouldn’t HAVE to have those buffers.
There are more reasons. But the big one for me is: Why not? What is the advantage of a NON-real-time OS?
-James Ingraham