Embedded Systems Study Rebutted
Gabba writes "LinuxDevices.com has a rebuttal to the Microsoft-funded report purporting to show Windows nearly 4X more efficient than Linux for developing embedded systems. The rebuttal shows the study to be full of flaws in both design and execution."
This is a tried and true method in the scientific community: if you disagree with the conclusions of a study, you can always call the methodology "flawed". That way, you never have to pay attention to results that are different from what you believe.
Toronto-area transit rider? Rate your ride.
...but needs PUBLICIZING. As in, to non-geeks. Specifically, pointy-haired bosses.
Wanna bet the pro-MS article will be the one most PHBs will have come across their desk?
Honey, I shrunk the Cygwin
The rebuttal shows the study to be full of flaws in both design and execution.
/. for fair reviews of items provided by stores they have no relation to.. now where can I order a Zero Blaster again? :D
;)
I'm not being funny here, but since when did anyone ever pay attention to Microsoft backed or funded tests such as this? They'd hardly be backing this comparative benchmarks and reviews only for their product to get slated. Every time I read a 'Windows 2003 Server is 2.3x cheaper than Linux!' type story (where they end up comparing to something like Solaris which.. duh.. isn't Linux!) it just bugs the heck out of me.
I'd much rather cast my attention to impartial, un-biased sites such as
And yes, I am just joking around before I get flamed to hell and back
"Hey! Unless this is a nude love-in, get the hell off my property!!"
after seeing ozzy trying out the iDrive on his BMW, I would guess it may not be more usable or more reliable
My Dad works with voice mail systems, if its loaded with winnt it can take up to 30 minutes to boot. With linux it takes maybee 5. One of the problems with windows is the inability to strip out stuff you don't need.
Windows XP = money Linux = free to download
I don't see where the money argument comes into play here? Before someone says something about TCO let me point out a humorous but true text on how Microsoft actually kills (link is a google cache).
The report includes data from a survey of 100 manufacturers using 32-bit processors in a range of embedded projects and applications -- 50 using various implementations of embedded Linux, and 50 using Microsoft's Windows Embedded platforms(Windows CE .NET and Windows XP Embedded).
Rubbish rubbish and more rubbish. They shouldn't have been so biased with the study. Which manufacturers were used? Give it a rest now MS. It's obvious for one if MS funded the study, it's bound to be swayed, however if they didn't fund the study, depending on the vendors, it's still bound to be swayed. Remember MS violated antitrust forcing companies to go MS or go to bankruptcy court. How is one supposed to believe any studies they'd do?
I'm sure someone else is going to post a very good thorough post but we all know this is nothing more than utter bs.
MoFscker
I hadn't seen the original report, but as soon as I saw it was funded by MS, I assumed it was marketting fluff and moved on. Now I see that the "rebuttal" is on LinuxDevices.com, and was meant to specifically prove the MS report wrong and that Linux is better. That means it's more marketting fluff so we can move on.
When will people relaize that MS is not the only people putting out biased reports. I put the same faith in a "Linux is great" report by a Linux group as I do in a "Windows is great" report by MS.
"Information wants to be expensive" - Stewart Brand, the same guy who said "Information wants to be free"
I didn't catch the original, and I don't know where it was publicized or anything, but I imagine it was in places that make it look legit. More importantly, it was in places that people who don't already use Linux might be likely to look. Rebuttals like this are nearly useless unless they are prominently placed in some widely read medium--and by "widely read" I mean someplace that at least an average techie, even if entirely M$-biased, would be likely to at least see the headline. I admit that I have no knowledge at all of the world of journalism, online or otherwise, but I think that people who write studies/rebuttals/articles/etc like this, showing up Microsoft and their precious status quo, should make significant efforts to get them in mainstream media.
Unless someone already likes Linux, they're not likely to frequent LinuxDevices.com. Someone who already likes Linux is not the target audience for such journalism, or shouldn't be. We need to target it at the others, the people who don't like Linux, because it's articles like this that might make them like it, and it's studies like the one it's rebutting that make them not like it.
Dan Aris
Fun. Free. Online. RPG. BattleMaster.
This is a tried and true method in the business community: If you can't get a fair study to show the conclusions you want, hold an unfair study. More people will pay attention to the results than the retraction.
One reason nowadays that most embedded developers host their development on Windows is that most embedded tools publishers only make their tools available to run on Windows. Often these tools, like compilers for arcane chips, are quite specialized, so the developer is left with no choice.
That said, I think whoever wrote the report is on crack if they think Windows is a better development environment than Linux. I have been doing embedded for a year now, and one of the main things I still dislike about it is that I have to do most of my development on Windows.
It is quite common for each compiler vendor to write their own integrated development environment, with an editor and integrated build system. But the market for these products are not as great as the market for IDEs for the development of desktop or server software, which means they can't invest in developing a more refined GUI for their IDEs, so their basic usability and quality is quite poor.
If you think Visual Studio is a lousy environment for development, you should try the ARM IDE or TI's Code Composer Studio. Using them is like pounding nails with your fists.
However, the situation is slowly starting to look up. GCC targets many embedded CPUs and is starting to become widely used for embedded development. The other GNU tools also form a more or less complete set of what you would need to develop embedded products, with GDB acting as both a debugger and simulator, LD able to function as an embedded linker, being able to do two-machine debugging with GDB and so on. Also there's GNU make, CVS and so on.
The result is that while I had to use the proprietary (and expensive) ARM compiler to develop for the Oxford Semiconductor ARM7TDMI-based 911 FireWire/IDE bridge chip (which allows you to hook up inexpensive IDE disk drives as firewire storage), they switched over to building their firmware with GCC for the 922 USB/FireWire/IDE 922 bridge chip.
I've been using GCC under Cygwin for my 922 development, but a CD with a new SDK on it is expected to arrive in the mail any day now. When it does, I will have a choice of Cygwin, Linux or Mac OS X development environments, all running the same version of GCC. And I'm very happy about that.
Most likely, though, I will use Mac OS X for my 922 development. I'd prefer using Linux to Windows, but if I can use Mac OS X, I'd prefer that to Linux, if for no other reason than the fact that the clipboard works correctly, as well as that I could use CodeWarrior to edit my source.
Maybe if I get real ambitious, I might write a CodeWarrior plugin so I can use the CodeWarrior IDE to compile my code with arm-elf-gcc.
(And don't give me crap about not using Emacs. I was an expert at Emacs when most of you were still in diapers. I still have my .emacs file which I first created in 1987. But I vastly prefer CodeWarrior's GUI text editor unless I have some reason to run a bunch of Emacs lisp code on my source file.)
Request your free CD of my piano music.
Check here for a more thorough "factual" rebuttal, including my favorite quote from the original report...
No reasoning, no nothing, as to why Windows XP Embedded (which a lot of the reasoning of the rest of the report was based on). Why, might one ask, would someone do this? Might it have something to do with the fact that the royalty cost for Linux is $0, the royalty cost for Windows CE (in volume) is $2.60, and the royalty cost for Windows XP Embedded is approximately $100 per system?
Yah. OK. That's a bit like me saying I'm going to compare the reliability of Toyotas and Fords, but for the purpose of the study, only Toyota cars that don't actually run will be used.
I mean, really - the original report is so bad it's laughable. It really didn't even NEED a rebuttal.
We have come to expect our pc's to crash. It seems to be just a thing they do. But how often has youre tv crashed after years of working non-stop? Youre cd-player? Youre washing machine? I am currently testing 2003 of windows, it has crashed repeatdly on a intel rig. MS just can't write crash proof software. It is the price we pay for the wide choice of hardware and uses we get on a pc. On my phone, thank you but no thanks.
Your TV has the equivalent complexity of Notepad, or Bash. Most of the hard work is in materials choices and up-front design -- it's not complex; it's just refinement.
Code, however, is complex.
How often has your TV crashed? Mine does occasionally; it doesn't turn on when asked. It goes through the motions, degausses, and doesn't actually display a picture. My DVD player? Sure. Plenty of times. My cell phone? Yep. It has crashed a couple of times too. How about a router? Yep. Wireless Access Point? Uhuh. DirecTV Satellite Receiver? Yep.
Crashes = unexpected failures due to a circumstance arising which was not planned for. Some crashes (hardware failure related) are unavoidable. And crashes as a whole become more and more likely the more complex the system.
Software systems are complex. Heck, the Linux guys can't write crash proof software either. (Watch! Pop in a Knoppix CD. Run Abiword. Click Maximize a couple of times. Watch as it cycles around and around in an infinite loop resizing itself).
Oh, and if Windows 2003 is crashing repeatedly on your rig, you're not using certified drivers and/or should carefully check your hardware to make sure that it's not faulty, and nothing is loose. Might also help to stop running games on a server OS.
Simon
Coming soon - pyrogyra
I know software crashes occasionally, no matter who wrote it, but man, you ought to get your power checked or something, I mean holy shit man, My TV crash? NEVER! All three of my cell phones? NEVER! I don't have a DVD player, but my cable box? NEVER! My router? NEVER! I do turn it off when i leave for overnight or longer trips. WAP? I don't have one, but my cordless phone (landline?) NEVER! I don't have a Satellite Receiver either, but my microwave? NEVER! My automatic sprinkler system controller? NEVER! My coffee pot? NEVER! My VCR? NEVER! I could go on, but what's the point?
I've had cable boxes crash too.
Anything with a CPU in it has the possibility of crashing. Particularly when that CPU is decompressing streaming data.
Cellphones? Yep, they crash. Do a websearch. Similarly for other devices. Power is not the issue; the complexity of the task is.
Your router hasn't crashed? Wow. That's lucky. Ever updated the firmware on it? Ever wondered why you had to? Heck, even cable modems and DSL modems can crash.
Do yourself a favor. Don't assume that because you've never seen it happen that it doesn't happen. Do a websearch for "Cable modem" +crash. Or any other similar device. They crash all the time.
As for your cordless phone? It's a simple retransmitter. Sprinkler system and/or coffee pot? Timers and/or simple sensors. Yet again, you're dealing with a state machine that can be described on a single sheet of paper. Microwave? Here's your microwave:
Set Power = 10
Set Counter = TimeToCook
While (Counter > 0)
{
Sleep 1 second
Decrement Counter
If Door Opened, Break
}
Set Power = 0
Not exactly an impressive bunch of code, is it?
What TV do you have? Mine's a Sony HDTV. It doesn't always wake up correctly. Yours is little more than a set of pulse generators - most of what it does is done with hardware, not software. Mine has a much more complex computer inside it than yours.
Yeah, he should check out his hardware/driver setup on his 2003 box, but you also need to remember 2003 has just been released, and is, for all intents and purposes,still BETA. Until it's been run in the field for a year or so, and the bug reports have been submitted back to Microsoft and fixed, it is BETA. Just try getting Exchange Server up and running properly, and with all the functionality of it running on 2000 server. It's a bitch, and even Microsoft admits that
Linux is therefore, still BETA, and always will be. Please.
Simon
Coming soon - pyrogyra
An embedded system is generally taken to be a specific-use system. It's not small, just specific, like your car's computer is not for running office. Embedded means not general purpose (desktop/laptop/PDA/etc.). You can put a two gigahertz processor in a mars rover, but it'll still be an embedded system.
:)
The theory is, if you make a system that can barely do the task you need it to, then you will have the cheapest system possible. This is true in some instances, but not all. If you live alone, you probably don't want to watch a DVD, play CD's, and play games all at the same time, but if you buy a DVD player, a game console, and a CD player, you'll have three processors around that you only need one to work at any given time. That's where embedded gets fuzzy because you want to encompass more tasks in the same device. Is a PS2 that does all these things still embedded? Probably, becauce you could dubb it a multimedia entertainment device, and say that's all it does, which is still a very small subset of the features of a computer. What happens when you add email, browsing, and wordprocessing to a PS2? You pretty much can no longer classify it as an embedded system because you'll be hard pressed to find a purpose for having both this system and a computer.
Not many people want to make a computer replacement though. Why would they? They all fail, historically. Embedded systems only make sense for convenience. You have a CD-Walkman because it's just not convenient to take the PS2 even to the gym.
So where does this leave us? Just where everything else is. Embedded isn't boolean. Completely embedded systems would pretty much include your microwave and wrist watch. Completely not embedded(general purpose) systems would be your desktop. Most things can be plotted somewhere between, but I would call the PS2 embedded-esque, and a PDA is not very embedded at all (because they can do pretty much anything a desktop can). Embedded is a measurement of tasks a system is designed to handle, not how fast, large, or how many moving parts it has. Consider the following counter-examples: A) A cray computer is being used to calculate all the physics equations to navigate at near light speed in your 20X6 BMW Millenium Falcon. It's still completely embedded because you don't ask it to do your homework like you would the NCC-1701D. B) By the standards of size constraints, a current desktop computer is embedded into the corner of your room, since it isn't a football stadium of tubes(valves). Obviously this isn't the case, because most of the first machines are embedded by todays standards, not vice-versa. The first machines didn't do as much as a TI-85, and had about the same purpose. If the TI-85 is an embedded system, then surely, since the specs are about the same, the ENIAC was embedded.
Summary:
Measuring embedded's definition the way the average person does would be looking at orthagonal tendancies to place the word embedded on a trend instead of finding the definition of embedded.
Systems aren't embedded or general purpose. They just have tendancies one way or the other, some stronger than others. It's particularly important to measure the correct variables (not speed, size, etc) when placing an item as embedded or not.
Karma Clown