Papers On Real-Time And Embedded Linux
An anonymous reader writes "LinuxDevices has once again published the proceedings of the annual Real-Time Linux Workshop. This one, the seventh, was held in France earlier this month, at the University for Science and Technology of Lille (USTL). The papers span a range of topics, from fundamental real-time technologies to applications, hardware, and tools. Enjoy!"
I've always found the field of embedded operating system's somewhat intruiging. From the automatic welders, to the VCRs, etc. Anything involving robots, or extremely low power systems is somewhat interesting, and even if linux eventually fails on the desktop market (stops growing), it may be around us in our daily lives much longer.
Help Fight SPAM today!
This is Linux: ooooh look at ME! I can guarantee multiple-microsecond interrupt times! La dee da!
This has already been modded as a troll, but giving you the benefit of the doubt, do you mean something different from things like Monta Vista or Lynuxworks ?
Of course, it's also worth mentioning that "real time" doesn't necessarily mean "fast." In fact, rather the opposite is typically true: a real-time system must (by nature) make the worst case predictable -- but often compromises the average performance to do so.
--
The universe is a figment of its own imagination.
The universe is a figment of its own imagination.
Possibly because the user base and developer base of Linux and derivatives is considerably larger. There's very little difference in freedom, EXCEPT that someone who takes on a project involving GPL software cannot stop other people having exactly the same freedoms.
At least, that's the sole intention of the GPL, as far as I know.
What will really be interesting to see is the advancement in real-time interpreted languages like java. This should allow for portability of embedded applications on all kinds of embedded devices regardless of what OS is in use.
More info on real-time java https://rtsj.dev.java.net/
Nothing succeeds like the appearance of success
I think you mean the other alternatives...
dont forget the lowly event loop. alot of embedded
systems dont need anything like an os at all.
True. I guess I came off as being a troll, but it was an honest question. The BSD projects provide a fully customisable code base where you can pick and choose exactly what pieces of sofware you want. Aside from the GPL'ed bits, developers are also largely free to do whatever they want with the code, without worrying about competitor X being able to use the code changes that they originally developed for themselves. Unless they want them to, of course. There are plenty of companies that release their modified BSD sources without being required to do so.
The majority of the code also comes from that same project, so there is less worrying about mysterious dependancies when you start taking away chunks of the code, and if there is a problem, you can go directly to the project for support. If you as a developer have a problem with busybox, you have to go to busybox devs for questions. If you have a problem with glibc, you go to that project's devs for questions, and so forth.
hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?
OS wars...
I recently installed FreeBSD 6.0 on my laptop.
It sucks.
No cpu scaling in the kernel [even with cpufreq], the ports tools are shit compared to gentoo, etc.
I'm not saying Linux distros are perfect but Gentoo is way more functional and easier than FreeBSD. I don't know what the other distros are like but sucks to their asmar!
Tom
Someday, I'll have a real sig.
Embedded devices aren't really focus market for linux. Even with being stripped to bare minimum, the kernel will take over 500kb to operate.
Embedded systems usually don't have need to carry that much memory. Task specific operating systems like TRON and its variations take only few kilobytes, and are extremely efficient and reliable in what they do.
What linux provides, is interesting approach, but it also rises the price tag with hardware specs higher than the cheapest alternatives.
There are no atheists when recovering from tape backup.
Real-time software isn't even necessarily processor speed-independent, let alone platform dependent.
In the worst case, you have to know exactly how many time (accurate to the length of a CPU cycle) it will take for a section of code to be executed or know exactly how long it will take an interrupt to vector to your interrupt handler.
I'll be Java timing isn't even consistent from one JVM release to the next for the same code running on the same computer.
Because those better alternatives provide more freedom for Microsoft to take the code, repackage it, hack it about as they wish and sell it to the masses, giving fuck-all back to the community. This would likely bother a few of the developers in question.
For the love of God, please learn to spell "ridiculous"!!!
because with linux, all improvements are available to all whereas with bsds they can be taken away and nobody will be able to takes advantage of it. That way all those improvements sum up and in the end provide a rock solid full featured product, in BSDs those improvements cant be taken away in closed/proprietary sources and sometimes lead to incompability. Thats why the industry prefer linux, cheaper to reuse available tech and much more popular too.
The True FOSS Skype Replacement
It mostly comes down to whether you want to have the freedom to stop anyone else using your modifications, or you want to stop anyone denying anyone else that freedom. (One of) The main thing(s) that stops most companies forking proprietary versions off BSD-licensed code is that they then have to repeat any patching, fixing, and improving done on the trunk. (Or repeatedly re-fork, as Firefox has done - and yes, that's not a closed-source project, but it's still a good example for this point.) If you're using a BSD distribution, I'm not sure it can be directly compared to using individual GNU/Linux/etc packages. Maybe it should be compared to one of the linux distros, where again you can go to that project's devs and community for assistance if you need it, rather than going direct to the individual programs and projects.
I'd say that you can't necessarily claim any of those as reasons why industries prefer Linux-based systems to BSD ones. Except one. I think that the main reason that Linux systems are more popular is that they are more popular.
I personally put more weight on the views of people who use one system for quite a while, and then try another, and prefer the newer one, to people who use one, try another, and immediately dislike it. That way round, there's less bias from "it's not what I'm used to" and so on.
Some people are perfectly OK with other people benefiting from their work, and these tend to be BSD developers. Others are control freaks who fear that somebody else might use their code for private ends, and these are the people who prefer the GPL. Achieving Zen may not be for everybody, but an irrational possessiveness, it seems, is the source of much unhappiness in this world. The developers in question may find themselves happier by learning to surrender their ego. Accept impermanence; accept that the act of giving, nay, the very act of living, involves a loss of control along with a lessened responsibility. Only then can one understand the true beauty of BSD.
Why do embedded developers continue to imprison themselves in the GPL trap by using Linux,
Because Linux has a much bigger developer comunity and you can get commercial support targeted at embedded development from several vendors. Giving better freedom getting developer resources.
And the GPL "trap" as you call it, does not really matter even in embedded development. The interesting part of the product, or the part you may want not to GPL, will reside in userspace anyway making the GPL of the kernel irrelevant.
I'd pick at one point in there: AFAICT, the GPL allows modifications to be kept private as long as the modified software isn't distributed. So, if a company needs some internal software with certain secret features, that would be allowed. It's only distributing modifications without allowing others to modify them in turn that the GPL restricts, there.
I know this isn't Ask Slashdot, but does anyone have recommendations for good books on the subject of embedded systems? I was actually at Barnes & Nobles today and found two books: "Embedded C" & "Programming Embedded Systems in C and C++". I will be finishing UCSD in December with a BS in EE, and I have an opportunity to join a UC funded research team in a position which will require a lot of work with embedded devices (of which I have very limited experience), and I could use any advice on getting into the subject. It's expected that I will be learning on the job, but any suggestions would be appreciated.
Sadly, PS/2 was yet another victim of USB, which doesn't care what you plug into it, the electrical slut.
well as an industry player, the fact that I can reuse all the improvements for free and the fact that they will always be available and debuggable is a very good point to use linux, which makes it popular.
The True FOSS Skype Replacement
Because enlightened developers recognise that maximizing freedom for users is more productive than maximizing freedom for themselves.
How we know is more important than what we know.
Why not? Even criticism isn't free.
I personally like distros with users :-)
I don't see a political reason why Gentoo is "teh evil" and it's technically very capable.
Therefore boo BSD, yeah gentoo.
Tom
Someday, I'll have a real sig.
It doesn't look like there are many RT programmers on /.?
RT applications are said to be so because of the requirement for them to react in *real time* even though that is not the actual case. It just needs to seem that they do.
Microprocessors and full fledged desktops or servers have different tasks, different design criteria. You may want to know as soon as an email arrives, but you damn sure want to know when your cars brakes are about to fail. There are differences in the meaning of 'real time' in these two (off the top of my head) examples. ABS systems are not allowed to have delay, mail servers are.
RT Linux does exist (QNX as example), but its not free. People who do the work to tweak the code to be able to react in real time want money for their work, and good for them. I don't think (I could be wrong) that you will find the military or NASA etc. using Windows for RT applications. Many RT systems are OS with tweaks for particular hardware that give 'good enough' RT results.
For microcontrollers, there are several options, and all of these make compromises here and there to fit the code in a very small space. The need for embedded real time OS's is totally dependent on the application. A mail server is not so picky, a space shuttle controller has a bit more requirement, and a washing machine yet a third set of requirements.
Embedded processing is very dependent on the requirements of the hardware and the system, as well as the hardware available. The funny part is that Linux is not targeted at hardware that is typically used in RT systems, no matter what that hardware is, so I agree, it is not the target market for Linux even though Linux has the ability to be a RTOS, and in fact, has been shown to work well in RT environments.
Support NYCountryLawyer RIAA vs People
If it wernt for microsoft computers wouldn't be nearly as popular as they are today, you wouldn't have the cheap equipment you have now, the mass amounts of internet based alternatives to boring real life tasks (banking, talking to your grandparents, etc), the hot chick you stalk on myspace, or half the porn you have today.
Just because they didn't contribute patches doesn't mean they didn't contribute. Just the warm feeling of knowing what you wrote became something so much more is nice in itself.
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
That's a rather negative view of the GPL. I'd point out, for example, that helping companies like Microsoft by supplying them with good code allows them to become yet more powerful and do even more damage to the rest of the computing world. In my recent job I had to use Win2K for compatibility reasons. This is due to Windows' massive predominance within the business world, which in turn is partly the fault of, for example, the people who produced the Berkeley TCP/IP stack, as they helped Windows to achieve (moderate) network stability and thus compete more effectively, greasing the tracks of MS's meteoric rise to monopoly.
I'm aware that this is an extremely bad example as BSDing protocols is generally a good thing for uniform adoption. My point is that using the GPL is often an indication of a desire to protect the community of developers rather than of "irrational possessiveness" - possessiveness maybe, but hardly irrational. In this particular case, the "loss of control along with a lessened responsibility" of which you speak includes an increased ability of the more evil proprietary software companies to undermine your developer community - thus there's no short-term incentive for them to play nice. I personally am not quite advanced enough along the Zen path to take this with a smile and a nod and carry on helping it happen.
For the love of God, please learn to spell "ridiculous"!!!
Tell us more about the hardware. Perhaps it's your inexperience with FreeBSD that is causing your problems. Or perhaps you just plain fucked up while installing it.
Having installed FreeBSD on various hardware, from desktops to laptops, I cannot say that I have run into such a problem. CPU scaling works well with both FreeBSD 5.x and FreeBSD 6.0 on the systems that I have that support it.
And the FreeBSD ports system is far superior to the Gentoo equivalent. Take some time to learn how to use it effectively. Spend half an hour reading the documentation. You'll be amazed at how well it works.
Indeed, FreeBSD is a very versatile system. It is an excellent workstation OS, especially for power users. It shines spectacularly for many server applications. And it can be easily stripped down for embedded systems use.
You shun FreeBSD now. But that is most likely because you have not yet learned its full power.
Cyric Zndovzny at your service.
Because those better alternatives provide more freedom for Microsoft to take the code
I thought we were talking about embedded systems here. Just how is Microsoft going to dig the code out of the device? They're going to have to want it very, very badly.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
I agree fully.
That is why I support developers who aid others in their quest for achieving Zen by releasing the code as GPL and thus ensuring that more people will stop hoarding knowledge in their irrational possessiveness. Hopefully this will bring about a better world filled with cuddly teddybears for everyone.
You're right in some cases.
The problem with a simple loop is that you often end up with timing relationships between functions that are really arbitrary ("Function A occurs on every interrupt. Let's make function B happen every 10 times function A occurs by having it run once every 10 loops. That's probably about right"). Then you find out that later that you need to change the timing for function A and now the timing for function B is off.
When of the main benefits of an RTOS is modularizing time. The only timing relationships between tasks are those you create.
And the FreeBSD ports system is far superior to the Gentoo equivalent.
/usr/ports/whatthefuckdirisitin/gaim ; make install
O RLY?
Gentoo: emerge -UD gaim
FreeBSD: cd
Yeah that's SOOO superior.
Gentoo uses mirrors for fetching files. BSD apparently doesn't [I couldn't fetch mplayer because the primary server was down].
Gentoo uses bash, BSD uses csh [WHY!!! OH WHY!!!]
Try installing more complicated packages like latex, I installed all of the laTeX* packages and I still didn't have a "latex" command.
As for cpu scaling, it's an AMD XP-M laptop with ACPI based PST entries. with "cpufreq" loaded the cpu runs at the full speed of 1.8Ghz regardless of idle time. In Gentoo Linux [well just linux 2.6.x] scaling works and the cpu idles at 530Mhz.
Agreed I didn't use it for long but I just don't see the appeal OVER gentoo. I mean Gentoo can be a server OS just the same as BSD. In fact, I've built quite a few live HTTP, SMTP, POP, IMAP, NIS, DNS servers from it. I'm sure BSD is up there but it lacks polish. People bitch that gentoo is hard to use, how is BSD any better when it's even harder to use?
Gentoo ain't perfect [nor is the Linux Kernel] but for the most part it works a lot more than it fails [being that all of my computers run it]. I think it's good that BSD distros exist because it provides diversity in case for instance, Linux blows up.
All I'm saying is FreeBSD requires some serious userspace polishing.
Tom
Someday, I'll have a real sig.
I think the term "distribution" is quite open to interpretation by the courts. Is it a distribution if I distribute it to a coworker or a friend? What about my parent company? Can somebody start a Screw-the-GPL club where they modify GPL'd software and give it only to club members so they don't really distribute it?
I think the real purpose of putting this in the GPL is to sucker people into GPLing their own code. If you create something really useful internally and GPL fanatics get wind of it, you can bet their intrepretation of distribution will be very broad.
If it wernt for microsoft computers wouldn't be nearly as popular as they are today
Just because Microsoft managed to sneak their operating system in at the right moment doesn't mean that they deserve credit for the IBM PC revolution. As the name suggests, it was IBM who first started building standardised desktops and letting others in on the standards in question. Microsoft's one innovation was their refusal to exclusively license the DOS variant they acquired to IBM, thus opening the way for OS standardisation. And yes, that was fairly handy, but (IMO) nowhere near as big a contributory factor as you're making out.
Just the warm feeling of knowing what you wrote became something so much more is nice in itself.
And then watching the company using it turn round and do its best to cripple you and your co-developers by (for example) patenting software, distorting standards and applying legal pressure to competitors wherever possible? Doesn't that annoy you even slightly? The thought obviously worries a lot of people (probably including, as I said, some of the developers in question), otherwise the GPL wouldn't be so popular.
For the love of God, please learn to spell "ridiculous"!!!
"As the name suggests, it was IBM who first started building standardised desktops and letting others in on the standards in question."
This is revisionist history. It took years for other vendors to be able to clone the non-OS part of the PC. It would have taken many more years to make a viable clone if the vendors had not been able to buy the OS from MS.
IBM introduced the PS/2 computer line (with its proprietary Micro Channel bus architecture) specifically to gain back the market share lost to the clones. Hardly the behavior of a company that wanted to be totally open.
Yeah, like Google, who runs a custom Linux kernel. Sure would be nice to get ahold of that. You don't hear anybody clamoring for it and claiming to have rights to it now do you?
"because with linux, all improvements are available to all whereas with bsds they can be taken away and nobody will be able to takes advantage of it. "
You're wrong. Not all improvements to Linux will be available since not all of the modified code is distributed. No BSD code can every be taken away, only the private modifications people make.
I think this "improvements" argument isn't a very strong one anyway. I'll bet that most of them will never appear in a major distribution.
"Yeah, like Google, who runs a custom Linux kernel. Sure would be nice to get ahold of that."
Yes, I'm sure Google has put the word out that they have a custom Linux kernel and it's really, really great. I doubt that it has broad appeal or that it does something nobody else can do.
"Just because IBM were the first to start building standardised desktops and letting others in on the standards in question[0] doesn't mean they deserve credit for the PC revolution."
Look, Microsoft had a significant part to play in the ascendence of the PC. So did IBM. So did Compaq. Certainly, any other company that just happened to have the same products, at the same time and willing to treat them the same way might have taken us to the same end result we have today, but the fact is it was Microsoft, IBM and Compaq.
I fail to see why people insist on saying "yeah, well another company could have done what Microsoft did", as if that somehow changes the fact that it was Microsoft that did it (or, even sillier, that the computing world would have turned out substantially differently today if it was "someone else"). Microsoft were in the right place, at the right time, with the foresight to sieze the opportunity - and by doing so became one of the key reasons we have the computer market we do today. Get over it, already. If it had been WhizzyBangWare instead of Microsoft, Slashdot would be bitching just as much about WhizzyBangWare instead.
Microsoft's one innovation was their refusal to exclusively license the DOS variant they acquired to IBM, thus opening the way for OS standardisation. And yes, that was fairly handy, but (IMO) nowhere near as big a contributory factor as you're making out.
It was just as important as the PC itself, if not more so (IBM-compatible PCs were a complement to the success of DOS, whereas DOS was basically a necessity for the success of IBM-compatible PCs) . Without DOS, there wouldn't have been any market for "IBM compatible" PCs. Compaq wouldn't have made record-breaking amounts of money off their first product if the buyers hadn't had an OS to run their "IBM PC-DOS" applications on.
[0]This isn't really true. While IBM did make the PC out of off-the-shelf parts, they didn't want to license it to anyone. That's why Compaq had to go and clean-room reverse engineer the BIOS. Had IBM got what they wanted (and they tried again with the PS/2), the "IBM PC" would have been just another single-sourced microcomputer. If you seriously think IBM *deliberately* created the "IBM PC revolution", you're delusional - no company seeks to create a marketplace where competition is easy.
"Because those better alternatives provide more freedom for Microsoft to take the code, repackage it, hack it about as they wish and sell it to the masses, giving fuck-all back to the community. This would likely bother a few of the developers in question." Ugg, I think the parent was suggeting that the companies do exactly that themselves; then other companies couldn't take any of their work.
--
WHO ATE MY BREAKFAST PANTS?
Not only that... we're talking the BSD license here. The company could take the code along with their changes and relicense it GPL if they wanted. Or hell they could even make it proprietary. I don't see the parent's point about Microsoft whatsoever--he is a shill who should never have been modded +5.
--
WHO ATE MY BREAKFAST PANTS?
When you say that real-time software is a dying art you are totally wrong. The move is from specialized hardware and/or mechanics to software-based solutions where the time-to-market for adding a new feature is smaller than for specialized hardware. If real-time software was a dying thing why does a modern car contain so many micro-processors running real-time software?
I know not what course others may take; but as for me, give me liberty or give me death!
You're right, I completely misinterpreted the greatgreatgrandparent - I read it as suggesting that the embedded developers license their code under the BSD license rather than just using it as a base. Doh.
However, in context, there's still the remnants of a point amidst the scattered detritus of my idiocy (note: idiot, not shill). This was an academic gathering not an industry event, so any code probably would be passed around and tinkered with (this sort of thing is where the FOSS movement came from, of course). In that context, my rant is not completely without meaning - from conversations I've had at uni, Microsoft appears to have alienated a decent chunk of Computer Science academia (remember Kerberos? I believe that was mostly an MIT thing til MS killed it). As such, they might well choose to license under the GPL rather than BSD license.
I'm getting convoluted in an attempt to save face, so will quit now. Again, apologies for completely misreading the original poster.
For the love of God, please learn to spell "ridiculous"!!!
Free and OpenBSD also have the best documentation I have read for any Free OS (HP-UX has the best overall - I usually consult it when I want to find out things about POSIX), but if you don't actually read it, then you won't understand how things work - coming from Linux and complaining when things don't work the same way won't help you.
I am TheRaven on Soylent News
No, it is simple. Anybody you give the software to you have to give the source to. If you give modified GPL software to a coworker, your employer, or some dude named Bob, you have to give them the source. Any of those people who accept the GPL are allowed to distribute it further, but your obligation is satisfied, regardless of who the code eventually makes it to. Nor are you ever under an obligation to return your modified code to the original author unless you give that person modified binaries.
You are free to create a screw-the-GPL club, but you cannot actually bind the members to not redistribute the code. To do so is to not accept the GPL, and without agreeing to it you are prohibited from distributing the software to anyone. Other than that, creating a club of members who voluntarily share modified versions of a program and do not redistribute it outside the club is within the letter (and mostly the spirit) of the GPL.
What IS ambigious (and supposedly addressed in GPL3) is whether letting someone use a program on your computer counts as distributing it to them -- the "ASP loophole". This is a whole bucket of worms that I sincerely hope the FSF thinks clearly about before making a decision. I suspect that a court would decide that allowing someone to run a program on your computer counts as a performance, not a copy, however public performance is protected by copyright law, so the FSF is free in principle to put whatever restrictions they want on that as well.
Philisophically, You are an ass. Embedded are Developers are Developers first, Linux Developers Second, Embedded Linux Developers third. Except for the few that are being trained by GreenHills and VX, most embedded Linux guys used to be Linux Guys.
I don't know if you have heard, but we like to share. We like our products to live and grow. We like to create flexability and freedom.
But, I say freedom you say IMPRISON. What are you afraid of, people (shuddder) seeing your code? How am I imprisoned by acknowledging other peoples works? How am I imprisoned by allowing my users the freedom to edit and modify thier code?
Oh, I see I am imprisoned because I cannot deny my users that flexability. I cannot hide my mistakes, vulnerabilities. I can hold out updates for cash. I'm not free enough to imprison the user!
I don't want to be that free. I don't want my code that free. I don't want IBM that free. I sure as hell don't want my code turned into some rebranded product with no acknowledgments of the efforts of myself and others.
Surely you can understand these chains bind me to the rest of humanity. Didn't they teach sharing in your preschool.
End Rant.
OSGGFG - Open Source Gamers Guide to Free Games
I'm currently using uCLinux on a development project I'm working on. uCLinux is some what unique in that it will function without a memory management unit (MMU). This basically means there are no virtual memory and all physical memory is accessed directly. Right now my entire ram image is about 1.5MB. Cheap 32 bit Microcontrollers are readily available these days and they are perfectly capable of running uCLinux.
uCLinux is free as are most tools required to develope for it. Most RTOS vendors ask a pretty hefty upfront price which isn't ideal if you aren't even sure if their product is right for you.
I'm running on an ARM7TDMI core which run at 60Mhz. CPUs such as the one I'm using are available in quantities for about 10 dollars a piece. The Gameboy Advance uses an ARM7TDMI CPU and people have Linux up and running on it.
Our biggest challege will be getting uCLinux to meet the timing requirments of our application. I will say that for designs in which most or all of the operations have rigid time require Linux is probably not the best choice. Our design has a small realtime portion mostly involving board level I/O but the ethernet/tcp portion doesn't have any requirements different from a normal server. Linux seems to work very well with this type of design. For an anti lock brake system it seems the easiest thing to do would be not to use an operating system at all (I don't know much about antilock brake systems so I may be misjudging their complexity)!
I've not done much investigation but I believe NetBSD/FreeBSD/OpenBSD require an MMU to operate. Windows CE also requires an MMU.
I must add how nice it is to have all the source code available for trouble shooting of problems. I can easily grep the entire uCLinux source tree and find out where things are actually happening!
Grrrrr... don't bother me, I'm thinking.
Gentoo uses mirrors for fetching files. BSD apparently doesn't [I couldn't fetch mplayer because the primary server was down].
Most ports have multiple mirrors. Some don't. Looking at the MPlayer port, it's listing 10 mirrors. Maybe you didn't wait long enough for the first to time out.
Gentoo uses bash, BSD uses csh [WHY!!! OH WHY!!!]
Because csh is the traditional BSD default shell. Don't like it? Use bash then.
As for cpu scaling, it's an AMD XP-M laptop with ACPI based PST entries. with "cpufreq" loaded the cpu runs at the full speed of 1.8Ghz regardless of idle time. In Gentoo Linux [well just linux 2.6.x] scaling works and the cpu idles at 530Mhz.
Read the man page for 'powerd' Loading the cpufreq module doesn't automatically enable scaling.
You can't call FreeBSD worse if you haven't even figured out how to use it yet.
hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?