Linux Gains Native RTOS Emulation Layer
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."
The benchmarks that are really expected by real time in my area are things like consistency. For example if we set a task/thread to execute every 125 milliseconds, the closer it hits the mark the better. Time lag in either direction puts that OS in the "No" category. Another important asset of an RTOS is well defined task preemption: No task gets preempted by one with worse priority. Time slicing might be enabled so that a task gets preempted by one of the same priority, and better priority tasks always preempt if they are ready to go. Also if a high priority task is waiting on a resource owned by a low priority task, that low priority task gets an elevated priority equal to the high priority task. As a last ditch effort to provide mutual exclusion / data protection, threads/tasks need to be able to disable system interrupts. Remember kids, in the RTOS world one task can take down the whole system.
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...
don't click that link, mod parent down.
FFS don't click that link - it's some sort of browser spawner/malware/virus.
.exe - luckily on my mac that did nothing.. that's the virus payload I guess
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...
So you are saying that the linuxdevices.com website is compromised?
Like a city whose walls are broken down is a man who lacks self-control.
I think it's referring to the link in one of the replies.
You know what they say about opinions. They're all fabulous!
No, it's Lord Haw Haw's Yahoo link that's attacking windows machines. /. to running such a thing :)
But then, who in is right mind would admit on
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
IIRC, the main goal of Xenomai was to provide a co-kernel approach (a RT kernel runs the RT tasks and the lower priority task is the Linux kernel). Now this Xenomai/SOLO seems something completely different: just a conversion layer between the VxWorks API and the POSIX RT API. If by chance you are running this layer on a kernel which has good RT properties (for instance Linux PREEMPT_RT) then it will behave more or less like VxWorks (and in addition you can run normal Linux app next to it). I wonder why they called their new things Xinomai/SOLA as it doesn't seem to have any technical relationship with Xinomai. Is it a purely commercial reason?
:-)
Anyway, so far the reason for having the co-kernel approach was that Linux was not able to provide low latency, so I guess it's good news: some knowledgeable people consider that the latest Linux version (with PREEMPT_RT) is up to the task
V2L existed forever, but nobody used it simply because this is not needed. API porting (which is the problem that this kind of emulation solves) is one of the minor problems that one faces when porting code from RTOS to Linux. Code written for RTOS usually has very different architecture from what one would recommend for Linux. Once architecture re-design is done, porting the API is easy.
I clicked on it (I'm using firefox3 nightly on WinXP and was curious :-) ). It did start to do some crazy stuff on the system. I unplugged it. So far on reboot everything appears fine.
Help! I'm a slashdot refugee.
But then, who in is right mind would admit on /. to running such a thing :)
/. from work" ;)
Just use the classic defence "I was reading
Jumpstart the tartan drive.
You can disable certain Javascript functions in Firefox, such as the ability to move or resize windows. Options>Content>Javascript Advanced
Aye, I've reported it: https://bugzilla.mozilla.org/show_bug.cgi?id=424525
Your head a splode
What's worse, the link (that Slashdot shows as a Yahoo link) is actually an only slightly obfuscated Nimp link.
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.
"Why not just get a faster computer," Power consumption? Heat? Noise levels? Size? "... because if they had a clue, they would leverage Eclipse ..."
I guess they've got a clue then, they've been shipping an Eclipse based IDE for 2+ years now and Wind River are /very/ active in the development of CDT. In fact the CDT project lead works for them now. Admittedly they do some stuff in a slightly non-standard way (e.g. not the way vanilla CDT does it) but that's with good reason and allows them a far more flexible build system than the standard CDT project model allows.
How 'bout you reformat and reinstall so the rest of us don't pay for your "everything appears fine." system?
"I've got more toys than Teruhisa Kitahara."
I don't think you should be speaking against RTOS without any actual RTOS experience. It just makes everyone else assume you're an ass.
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.
-Billco, Fnarg.com
Meh... I tried it in Opera just to see what would happen. It opens a flickering pop-up (singular -- not multiple) and manages to play the "I'm looking at gay porno" through the speakers. All that was necessary to fix it was a "close window" gesture.
It's always a long day... 86400 doesn't fit into a short.
Why would you ever need to emulate an RTOS in linux? Linux does not do what ThreadX, VxWorks, INTEGRITY, uVelocity, or any of the sort do- imagine you're an embedded device manufacturer and suddenly you need to bump your device up from 64k chip of ram to 8mb. This is completely retarded. In the embedded world, true RTOS are used for things that can never fail, lag, or be insecure in any way. Linux is generally used to fill in a cheap userland. Like on Sony TV's, the RTOS junk is handled by uVelocity, but they use linux for the OSD, etc. You DO NOT PUT LINUX in places you put VxWorks. Imagine having that ludicrous monolithic server OS in a PACE MAKER. Or a NUCLEAR MISSILE.
I could see people wanting to hypervise linux in a secure RTOS but emulate an RTOS in linux? Please tell me this is for development purposes... further still- are they completely insane?
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 application coded in ROM. Fast enough, stable. When newer, faster processors came available, the bosses decided, "We have power to burn, let give the application a GUI." So now they run with dual processor motherboards. But... motherboards today are not as fully debugged as the old days. Some companies never kills the bugs, they just release a new Motherboard with a new (buggy) chipset. Same for the OS. A well written application becomes unstable.
If you drop a scratched DVD in you DVD drive, does your windows machine kind of hang while windows tried to decide what is there? I've experienced that quite a few times.
BTW, this is similar to Linus' exchange with Tannenbaum on monolithic v.s. microkernel.
And we're to trust an Anonymous Coward who says that malware (regardless of whether it's a hijack or an executable) from another Anonymous Coward is safe?! I don't fu*king think so!
The Overrated mod is for reversing inappropriate, positive mods, not for voicing disagreement with a post.
No problem here except for the "interesting" background pic. :)
Firefox + Adblock + Noscript + Privoxy
thegodmovie.com - watch it
Truth arises more readily from error than from confusion. -Francis Bacon
After reading the comments further down the thread (lol) I take back the part about the generally harmless.
But there is some educational use for those links. Keep them coming, I say.
Truth arises more readily from error than from confusion. -Francis Bacon
If you are so smart, tell me how to put a cheap 2GHz PC in a 15x10x8cm controller compartment of a robot I'm making. And power it from a 13.8V gel-lead-acid battery that needs every bit of spare power for the main motor. The specification says nothing about having a needless, integrated air heater in the controller, but any CPU that draws more than 200mA and requires more than one voltage with DC-DC convertion efficiency less than 90% is way too much.
And there are defnitely more things that really need accuracy. Basically every kind of system that interfaces with hardware on a raw I/O level, with control implemented in software. Hell, a dumb high-speed rotary-to-linear transducer with a motor needs extremely precise software control.
Looks like you need to get a broader view of things before stating completely unfounded statements in the public.
This is Slashdot. Common sense is futile. You will be modded down.
well, the html code is fairly clean, but since it loads a couple swf files, and avi, and numerous websites and irc, as well as im clients, there is the possibility that the swf file or avi are malformed to contain an exploit, or the websites could have exploit code on them, while connecting to im and irc can expose your ip address to hackers, and since aim and irc often have gaping security holes, that could be the vector of attack.
I'm basing this on the guy who pasted the web page code, after a reset.
it would be far more scientific to take a known clean, preferably sp3ed machine make a backup of all files in linux (dual boot with 2 hds or whatever) then diff the results after letting that site run for 1 minute. any exploits would then show up among the files that normally change, the list should be fairly short, and programs and prefetched files etc will be easy to spot.
https://www.gnu.org/philosophy/free-sw.html
Classic stuff. Might own you in IE, but FF3b4 with NoScript just gave me the GNAA logo and some nasty background images. I like to live dangerously, so I tried Firefox without noscript in a VM and let it rip. Even with a bazillion popup windows, I could still get to File->Exit and quit firefox.
Oh, BTW, It does try to post the site the content of your clipboard and load a "LastCoffee" Java applet, which I'm sure is not good. Doesn't work on up to date Java.
I am not going to try this in IE, because I don't feel like dealing with the slight chance of rebuilding my VM. I doubt it could do much worse than hang IE7 (on Vista anyway.)
Ok, so I tried it in IE7 on Vista. It can move the damn window around, which is more than it could do in firefox, but it couldn't launch any popups or apps. IE's blocked action bar pops up and stops it cold. I could close the window easily by giving something else the focus, which disables the window-controlling script, then clicking the window close button.
Part of net culture? Harmless? Assuming you don't have your tongue firmly planted in your cheek, I respectfully have to take issue with your statements. Having said that, let me stipulate that my response probably does not apply to the typical /. reader.
/. readers. As someone who provides service and support to computer users, I see the results of such vandalism every week.
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 web forums, a trusting visitor just might damage their computer or have their personal identity stolen through the running of a nefarious script or download of malware. Not all users are as savvy as
== First cross river, then insult alligator.
I'm running NoScript Firefox extention under Linux and while my retina hurts, there was no moving screens or whatnot. By default, I do not trust javascript/activex. Get NoScript and configure it!
http://noscript.net/
Consider that even if such things like the original post get removed, all you're accomplishing is the simulation of world where those things don't exist. The real problem doesn't go away - it still would be possible to give people malicious URLs through other channels, who are then more likely to click them without checking them first. After all, it's generally safe to do so.
It's desensitizing, and I think that's a lot more dangerous than feeding a few absent-minded forum readers a malicious link, shaking them up a bit.
Truth arises more readily from error than from confusion. -Francis Bacon
I'll admit it. I run Windows XP on this laptop. Don't feel like struggling with my computer to browse the web for a little while.
Hehe, I see it the other way around.
I don't like having to fend off thousands of malwares with an OS that implemented networking as an afterthought.
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
Honestly though, it sounds to me like CPLD's or FPGAs may be the proper solution. They are real-time by definition, running what amounts to a large number of processes in true parallel. An FPGA with a built in RISC microprocessor honestly sounds like it would be an easier and cheaper system to develop on than many RTOS's. Obviously one implements the real-time components in the FPGA, but runs the parts that are easier to code for a traditional processor on the embedded processor. That honestly sounds like a saner solution. IT also usually has minimal current draw, and generally needs only one DC voltage. My question is why is this approach so rare? It seems like far fewer people use this approach than its benefits seem to imply. Am I missing some drawback?
Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
Depends on the application, the system functions needed, the volume it will be produced in, the time to market required, etc. FPGAs and CPLDS are certainly used a lot. It's definitely a multi-billion dollar business. But these days mostly where performance is critical, and is worth the extra cost. FPGAs are not that cheap. The main ones we use cost us $100-200 each in small volumes. For one project, we're using a high end version that costs $2500.
Think of coding for CPLDs or FPGAs as a level _below_ assembly. Why isn't more software written in assembly code these days? It takes too much time. Even more so for good FPGA code. It is only worthwhile for certain applications which really need the performance per watt. And for high volume applications, the FPGA design is just a prototype stage, and then the design is moved into an ASIC.
Also, when you do build a system with an FPGA and either an embedded CPU or your own board design, you are no longer leveraging off of the work of many others. You are starting over from the bare metal, defining your own hardware interface, timing, APIs, drivers, and everything above that. Being able to leverage off of the hundreds of man-years of programmer time in Linux is a huge benefit, if you can do it.
Also, setting up a build environment, debugging interface, and other necessary tools eats up time. Some things you can find, but it's a lot harder than buying something like a Gumstix board with Linux loaded, and a set of cross-compiling tools on a CD. But you can't always use Linux for hard real-time hardware control.
In some cases, a FPGA or CPLD is the right answer, though as I said, now you have to develop everything yourself from scratch. It can be interesting and fun, if you don't have your company's ability to pay your salary (and everyone else's) dependent on you getting it done in 2 weeks....
The system I'm working on now uses a 400 MHz XScale based board we buy off the shelf, running Linux. Then we have a couple of simple drivers to interface to an FPGA which does the low-level hardware interface. But that FPGA code took many many months, and new features take many weeks to add and get right. (if you want it to run fast that is)
For a lot of low-level hardware control, the easiest thing is to just grab an off the shelf 8-bit or 16-bit processor and write mostly C code. Add a tiny bit of assembler, if you need it, and you can get the job done much easier and faster. Often you don't really need an RTOS, or can use a very very simple one. Since you can get 8-bit processors that run at 50MHz or more, and C code is so much faster to write than FPGA code. I've done many of those designs with serial port control in the past, and these days even the small processors can handle a simple TCP/IP stack.