Slashdot Log In
Linux Gains Native RTOS Emulation Layer
Posted by
ScuttleMonkey
on Sat Mar 22, 2008 06:32 AM
from the still-waiting-on-the-developer's-flyback-time dept.
from the still-waiting-on-the-developer's-flyback-time dept.
nerdyH writes to tell us that the Xenomai/SOLO project is attempting to deliver VxWorks and other RTOS emulation for any Linux kernel. "Some weeks ago, I started laying the groundwork for porting the Xenomai emulators natively over the PREEMPT_RT kernel. Unlike the co-kernel based Xenomai version, SOLO does not require any kernel support from additional modules or patches. It is fully based on the standard POSIX library, and runs as a regular process controlled by a single image Linux kernel. As a first step, a VxWorks emulator has just been rebuilt over this new framework."
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Realtime, VxWorks, Dolla Dolla Bill Yall (Score:5, Interesting)
VxWorks is the only OS I've played with so far that allows this, but I'm VERY curious to see what people can inject into the Linux kernel. VxWorks is.. shall we say... NOT CHEAP. And inter-version migration is a pain... and god help you if you aren't using off the shelf hardware...
Re:Realtime, VxWorks, Dolla Dolla Bill Yall (Score:5, Informative)
Any normal distro Linux kernel can do this particular part. Just set the scheduler to round robin. (You can do this in KDE4 btw. Press ctrl-esc to bring up the task manager, right click a process, change priority, and chose round robin.)
Parent
Re:Realtime, VxWorks, Dolla Dolla Bill Yall (Score:5, Interesting)
Have you ever actually had to code for Vx?
You couldn't pay me enough (literally - I've turned down jobs that wanted me to work with it... I should probably take it off my resume) to deal with that POS (by which I don't mean "Point Of Sale") on a regular basis.
Actually, in fairness, as an OS, it doesn't suck too much. But the build tools... Let's just say WindRiver clearly subscribes to the "firmware should hurt" coding paradigm. The IDE made OutLook look stable and friendly, the command line build tools simply didn't work (literally - WR couldn't even have tested them, because they failed phenomenally even on a clean install and a "hello world" module), the revision control had no objection to overwriting parent revisions without forcing a new fork... Ugh. I'll probably have nightmares tonight just from thinking about it.
Oddly enough, it surprises me to see it still talked about. When I suffered with it nearly a decade ago, it looked like a near-certainty that Linux would tap that last nail in its coffin. How ironic, that Linux should now give it new life via emulation.
Parent
Re:Realtime, VxWorks, Dolla Dolla Bill Yall (Score:4, Informative)
Parent
Re: (Score:3, Informative)
Re: (Score:2)
Really? I guess vxWorks is an acquired taste then, because I'd be extremely happy to be given the opportunity to use vxWorks again.
I would have liked to have my own copy, but since a single licence for vxWorks costs more then I can reasonably afford (well, it used to, I can't find the price no
Re: (Score:2)
The last time I had to use it --- which, admittedly, was a while ago --- we had a requirement to do asynchronous I/O. VxWorks didn't support that, so we had to emulate it by using a pool of helper tasks each of which ran a blocking I/O operation. Unfortunately we had a further requirement that asynchronous I/O operations had to be cancellable, and the only way we could find of
Re: (Score:2)
Uh, no. Linux is going to give it a new lease on death this way. How many Windows users have been able to jump ship since Wine has actually become useful? If this delivers it will provide an upgrade path away from vxworks that allows a company to spend their time working on a port while using Linux as an interim band-aid.
Re: (Score:2)
They certainly much better than LynxOS (who also uses Eclipse as their IDE - but their plugin as not as well integrated by far)
Re:POS needs realtime? hahahahhaha (Score:5, Insightful)
Parent
Re:POS needs realtime? hahahahhaha (Score:5, Informative)
These things typically run on embedded devices, not a friggin' Dell midtower. They do one job and they do it with exacting accuracy, on minified motherboards and fanless CPUs, hooked up to custom-built controllers and monitoring equipment.
RTOS tasks are typically things we used to do in solid state with simple feedback logic, but the RTOS allows it to be done in software at a lower cost, plus allowing easy updates or adjustments without a complete redesign.
Parent
Re: (Score:2, Interesting)
A RTOS isn't about speed, it is about predictability. It is about guaranteed response.
There are some things that a 200MHz machine with the right software can do quicker and more accurately than a 4GHz machine with a standard OS.
What it comes down to is they built an expensive mansion, but built it on sand. Doesn't matter how expensive or big the house is, if it is built on a poor foundation, the house will be unstable.
I have seen process control applications where an 8MHz 8086 was fine. No OS, just ap
Re: (Score:2)
And there are defnitely more things that really need accu
Re: (Score:2)
Re:Realtime, VxWorks, Dolla Dolla Bill Yall (Score:5, Informative)
Have you tried QNX or RTEMS? I don't have any data on their scheduling accuracy, but they claim to support the same real-time features. I've also found the QNX documentation much easier to follow, and I managed to turn out a BSP and a custom device driver within a week of first receiving the software.
Parent
Re: (Score:3, Insightful)
I don't understand why WindRiver hates documentation to much. They actually have a policy of not sending hard copies of their manuals anymore. Their man pages are kind of half-assed. I us
Re: (Score:3, Insightful)
VxWorks is the only OS I've played with so far that allows this (...)
May be you need to play more :-) . LynxOS [wikipedia.org] is a full-fledged POSIX RTOS, with memory protection, far better than VxWorks if disk and network is involved (I was developing toll systems real time applications for 4 years). I hope someday Linux reach RTOS habilities without having to use "cokernels", as although I'm pretty happy with current kernel preemptiveness, I would love to get true RTOS Linux (echo 1 > /proc/rtos).
Re:Realtime, VxWorks, Dolla Dolla Bill Yall (Score:5, Informative)
Parent
Re: (Score:2)
Re: (Score:2)
http://en.wikipedia.org/wiki/TRON_Project [wikipedia.org]
Re: (Score:3, Interesting)
Well, and what does happen if you do use off-the-shelf hardware? I am not exactly "well educated" in this area, but I am not quite sure whether the current typical OTS hardware is suitable for RTOS at all. Well, maybe some soft real time apps may run just fine...but I once spoke after-hours with Vojtech Pavlik (of the linux-joystick-drivers-and-other-input-devices fame) and he introduc
Re:Realtime, VxWorks, Dolla Dolla Bill Yall (Score:4, Interesting)
Off-the-shelf is where BSP's and drivers come in. The BSP (board support package) needs to be configured for the specific board. WindRiver provides a kajillion default packages, and if you use a off-the-shelf-board, the BSP and driver set should require little or no modification at all so you can just go straight to customizing your OS. The more customized your board is, the more you might have to do, such as writing VME, clock, PCI, or Ethernet drivers, do custom memory management, etc. I guess it's not fair to peg this complication on WindRiver. I haven't tried a Linux kernel on a custom board, but just as much configuring must go on at some point.
Parent
Re: (Score:3, Informative)
Re: (Score:2)
I recently worked on a mobile phone platform (not based on VxWorks) which had a mechanism for sending messages to specific threads. There was a system wide 150-slot message queue. There was a background thread that ran at low priority that was supposed to do non-real-time things like UI work. This thread was a message receiver. The system did not support timeslicing.
Can you see the problem yet?
If
Re: (Score:2)
Good points. If you're doing an embedded hard real time system, you might need the small size and timing repeatability of VXworks. If not, you don't need VXworks at all. It's much easier to write to a POSIX interface. There's not much software for VXworks you'd want to port to Linux. So a VXworks wrapper for Linux doesn't meet any widespread need. Maybe someone needed it for a specific porting job, so it was worth doing once.
I'd still like to see a real message passing system, like the one from QNX,
Re: (Score:2)
QNX message-passing is nothing that can't be easily rewritten.
Re: (Score:2)
Re: (Score:2, Informative)
Oh dear god no! (Score:2, Interesting)
Re: (Score:2)
RTFA.
Imagine you've already got the 8 megs, and you still want things to happen in realtime. Oh, and you want to actually have drivers.
Suddenly, things like VxWorks are going to cost you in licensing fees and development time, in return for... what, exactly?
Re: (Score:2, Insightful)
Do you have any idea why people use realtime systems?
With VxWorks you pay license fees... FOR A REALTIME SYSTEM. You're also able to do a lot more with a lot less resources. In the embedded world, less is more! You save millions cutting kb's (or mb's) of
Re: (Score:2)
Yeah, pretty much.
...aaaand it looks like you didn't read my post. Try again.
Re: (Score:2)
That was true in the past, but it is no longer true. The algorithms of the latest approaches to real-time Linux, when working together, actually do provide deterministic, hard real-time responses if the real-time parts of your application are coded appropriately. (By this, I mean that you don't expect a deterministic response when trying to use a service which isn't, such as a filesystem
Re: (Score:2, Informative)
Re: (Score:2, Funny)
But there is some educational use for those links. Keep them coming, I say.
Re: (Score:2)
Sorry, did I say 'typical'? I'd better be more careful....
Much like graffiti spray painted on the side of a building or vehicle, these things should be removed as quickly as possible. Deny the perp his/her "moment of glory". It serves no purpose and in other
Re: (Score:2)
Some of the graffiti I've seen is preferable to the mass of advertising billboards around the city which assail my eyes... I'd rather see goatse painted on a wall than another fucking soft drink advert - at least it would bring a smile to my face... ...that's not to say I think most graffiti is attractive - most of it is garbage (daubing your name on a wall has no meaning when no one has any idea who the fuck you are) but I don't think
Re:A quick search reveals (Score:5, Informative)
I had to power cycle my machine to shut it down as it managed to completely saturate the machine.
As far as I can tell it:
1. Tried to log me onto a gay porn site
2. Tried to open up IRC and do something (failed, luckily, since osx won't let such things happen automatically.. my screen just filled boxes asking if I wanted to start colloquy)
3. Tried to run a
I reckon if you clicked that button on a windows machine you'd be crying right now - and your passwords would be all over IRC too...
Parent
Re: (Score:2)
Re:A quick search reveals (Score:5, Insightful)
How 'bout you reformat and reinstall so the rest of us don't pay for your "everything appears fine." system?
Parent
Re: (Score:3, Informative)
http://noscript.net/ [noscript.net]
Re: (Score:2)
Firefox + Adblock + Noscript + Privoxy
Re: (Score:3, Informative)
But then, who in is right mind would admit on
Re: (Score:2)
Just use the classic defence "I was reading
Re: (Score:3, Insightful)
I don't like having to fend off thousands of malwares with an OS that implemented networking as an afterthought.
Re: (Score:2, Informative)
Aside, I find it amazing that a 4 letter TLD is allowed to be used this way as long as it has. Nimp isn't just a shock site, it's got to break enough criminal laws to put it's owners and people that link to it in jail.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I'm basing this on the guy who pasted the web page code, after a reset.
it wo