Mike Hall on Choosing Embedded Linux over Windows
prostoalex writes "Mike Hall from Microsoft asks the audience why they would choose Linux over Microsoft for embedded projects. He provides a point-by-point description of benefits of Microsoft's products (Windows CE and Windows XP Embedded) and points out that starting out on Windows-based embedded platform might save development and testing time."
Linus Torvalds the creator of Linux asks the audience why they would choose Microsoft over Linux for desktop application projects. He provides a point-by-point description of benefits of Linux products (SuSe, RedHat, JDS, etc.) and points out that starting out on Linux-based platform might save development and testing time."
... you still have to pay the windows licenses over the 250000 units you shipped last month. Linux can be shipped without having to pay those license costs.
the pun is mightier than the sword
and ends with:
RFC1925
A friend of mine works for a company that makes embedded systems and they chose a Linux kernel to drive it since they have to make hundreds of tweaks in the kernel code to compensate for custom hardware (that they build in-house).
IMO, choosing your software is not just a matter of point-by-point feature comparison. Some times you need the ability to modify the behavior, especially because embedded hardware is typically somewhat eccentric.
All interpreted languages are abstractions over Lisp
Sure, if you're lucky...
POSIX is not mentioned in the article.
IANAD[eveloper].
Pixels keep you awake!
2) Do not eat embedded linux.
Anyway, Geeks use linux to start with, so it's not like they'll take him seriously!
Billy
In Christ, Billy
In an embedded system, it's not such a big issue if you have to GPL your code, since it won't be any use without the hardware you are embedding it in. Unique hardware is effectively a 'dongle' for Linux, in this case.
A pizza of radius z and thickness a has a volume of pi z z a
Maybe i'm a little paranoid here, but i really don't think that anyone at Microsoft is willing to change one bit in their Licensing (and that's the top issue i have with all MS-Products). So what's the point in this "Discussion"? Judging from his answers i don't think that Mike will change his view and admit thet the Linux-License and -Pricing-modell might have its advantages in some cases. Also he won't be able to change anything at Microsoft anyway.
The whole discussion will probably only be pored over by the Marketing-department to come up with a campaign that's not as ridiculous as Microsofts usual Marketingblurb. Why help them with it? Let them do their campaign and *then* pick it apart in public.
"By the way if anyone here is in advertising or marketing... kill yourself." -- Bill Hicks
What exactly defines a unix-like operating system? I hear this term a lot, yet I have yet to see a real definition. Is it the command-line? Multi-user aspect? File permissions? Removable GUI?
This isn't intended as a troll. I'm just curious if what one person would call "Unix-like" another would call "modern."
The ______ Agenda
It's on-topic, at least. The best answer I know is that if you find a bug in Windows, you have to wait for Microsoft to fix it, but a bug in Linux is one you can fix right away.
The COTS article that the Microsoft guy keeps referring to is written is by Green Hills Software. You know the one that considers itself:
"the technology leader for real-time operating systems and software development tools for 32- and 64-bit embedded systems."
I'm sure they don't have an interest in picking holes in Linux.
Funtage Factor: Purple
I'd suggest Adequacy. Except it looks like someone beat him to it
Why would you pick Windows or Linux over QNX?
http://www.qnx.com/
Linux scales seamlessly from small embedded systems to high-end servers. Microsoft has two incompatible kernels and operating systems: Windows CE and Windows XP. In fact, Windows CE is so limited that it is nearing its end of life--maybe Microsoft will replace it with something else called "Windows CE", but you can probably throw away your software. Windows XP is a messy, bloated behemoth that really doesn't scale down well.
Linux natively uses POSIX-compatible APIs, widely used in the embedded world, Windows XP doesn't.
Linux has no per-copy licensing costs, Windows does.
Linux runs on a much wider range of hardware than Windows.
Linux has a mature, standard set of command line administration tools, invaluable for running and debugging a system over, say, a serial line. Windows XP doesn't.
Those are just off the top of my head. There are probably lots more reasons.
It's simple really. If most Slashdotters like it, it's Unix-like, if they don't it's not.
You keeping using these words: scales, seamlessly, small. I don't thing they mean, what you think they mean.
We had the unfortunate incident of having Windows CE and Advandtec runtime on one of our systems. The project manager was new, he wanted a "turn-key" system from the vendor, blah, blah, blah. At the time, it sounded like a good idea, and my boss relented. But now both he and I reget it terribly.
I will agree, the vendor had a really fast development time. I was happy about all the high level changes they could make in such a short time. It would have taken us longer to code something from the ground up. BUT, we ran into serious problems with the Advantec drivers, and runtime and then certain issues with Windows CE, memory leaks, and so on. The time it took for us to track down the problems and to deal with the vendor and Advantec costed us too much in man hours and late project schedules. The entire process was too painful and the worst of all, we had absolutely no control over the lower level software involved.
Bottom line: at our company, we like to have control over our software, down to the source code. Linux gives us that control and flexibility. That's why we will choose embedded Linux over WinCE any day.
Suffice it to say, we won't be using a WinCE solution any time soon, unless we are proved wrong later on.
At my company the Microsoft salesmen outmaneuvered out defensive blockers, and managed to talk to management. As a result, that thought that productivity could be vastly improved by porting a million line embedded LynxOS/Motif system to WinXPe. "Ten people should be able to do it in a year!" It's now three years later with fifty people and there is still no sign of a light ever being found at the end of this tunnel.
.NET, the non-UI portion of my code was approximately 250 lines, while theirs was still over a five hundred.
A minor anecdote to illustrate the problem. Yesterday I performed a code review on a trivial piece of code. I wrote the Motif version in three days. They wrote the Windows version in one month. My code (using the horribly "bloated" Motif) was 850 lines. Their code using MFC was 5200 lines of code. Before you blame an outdated MFC and recommend moving to
Don't blame me, I didn't vote for either of them!
So I shouldn't call my distro Muselinux?
we have been building radar systems with embedded processors for 15 years.
for parts of our systems that require submillisecond timings, we use vxWorks (and before that pSOS) because we can easily get to bare metal and control exactly what is happening with interrupts and threads. We use the very basic kernel of vxworks. its very expensive but we are relatively content for that type of application. We can't screw around with these applications so we bite the bullet.
we also have parts of the system that are real time but don't have such tight requirements (user interfaces, communications multiplexing etc). We used to use vxworks on those but the development system and licensing expense is horrendous. Then w tried windows XPe based on the false assumption that the commonality of our development systems (XP) and the target (XPe) would give us some savings. but Xpe was very hard to configure and get our applications running. It took a lot of training to get where our programmers could deploy applications. The development system was cheap ($1k) and the runtime costs were much less than VxWorks. But the development effort required negated those savings. So we ditched that after one program.
then we started using Linux on Diamond Systems EBX and PC-104 boards. Diamond Systems provided a stripped down slackware based flashdisk image with a configured 2.6 kernel, glibc and the basic executables. It worked like a dream. We develop on Fedora 2 workstations, and the executables move right over. We have written a couple of character mode drivers for some special hardware and that was easy too. It isn't 'embedded' linux, its just plain old linux. it runs easily on a 128MB flashdisk and 128MB RAM with lots of space left over. So we were hooked.
(it turns out we always deliver source with our systems so the GPL is no problem for us and our customer doesn't care either because they don't redistribute)
an personally, I used Sun UNix in the 80's and switched to windows in the 90's. Going back to a unix-like development environment kicked ass. I had forgotten how productive it was.
The momentum in our company is to switch to Linux for any new applications that aren't completely hardcore.
On a different note, however, I have a complaint with the 'embedded linux' vendors about their sales model. They don't publish prices, you have to 'negotiate' a price. They are cagey about 'open source'. They try to tell you that you have to buy a 'seat' for every developer. Why do that when the development systems they provide are open source? The most valuable service they provide isn't real time extensions, but IMHO it is the creation of turn-key cross-development environments and board support for embedded systems. Thats worth a lot, but from my experience they are unpleasant to deal with (maybe because I am a introverted engineer) and the expense of their tools negates any advantage unless you are doing a product that is going to be produced in the millions so that the elimination of runtime licensing expense makes it worthwhile.