Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

applefan289

macrumors 68000
Original poster
Aug 20, 2010
1,705
8
USA
If there was a specialized machine that could utilize either Mac OS X (full OS) or Windows Embedded (Embedded OS), which would run faster??

I'm just trying to understand the difference between a full OS (like Mac OS X) and the Embedded OS (like Windows Embedded and Montavista Linux) used in many specialized machines. What would happen if those specialized machines ran a full Mac OS? Could it function? Would they need better specs to work?
 
Last edited by a moderator:

Makosuke

macrumors 604
Aug 15, 2001
6,663
1,244
The Cool Part of CA, USA
It's going to depend entirely on how low-resource the embedded machine is. In general terms, though, a higher-end embedded system could run a full copy of Windows or OSX on it if there was sufficient RAM and storage space available. It'd just be very slow. (Caveat: There are some embedded systems that are quite powerful, but still use embedded OSes for stability or simplicity's sake, since they don't need a full desktop OS running and/or don't have the disk space on hand for one.)

Embedded OSes usually have everything not absolutely necessary for the purpose stripped out, to minimize the amount of disk space and RAM they need, and to reduce CPU overhead so that all the available power can go to the app being run, but they're otherwise not so different from desktop OSes.

iOS is sort of an example; it's effectively a higher-end embedded OS, but the core codebase comes from MacOSX. Recent model iPods/iPhones have had 600MHz CPUs (with the performance per clock being in the general ballpark as older desktop CPUs) and 256MB RAM, 1GHz and 512MB for the current iPhone, which is very roughly equivalent to maybe a base-model iMac of the G4/lamp shade era. Running a full copy of OSX on those resources is entirely possible, but it would be slow and with 256MB RAM you wouldn't be able to run much in the way of apps, while the very-stripped-down iOS has a decent amount of RAM left over.

More pruned embedded OSes are capable of running on much, much less, of course--I've seen bragging of a fully functional OS, including a network stack, that'll fit in under 2MB of space. The one time I compared a specific application that I'd built using a system that could target very small, lightweight embedded hardware as well as full desktop OSes, the embedded version was about 1/10 the speed of the desktop one.
 

applefan289

macrumors 68000
Original poster
Aug 20, 2010
1,705
8
USA
It's going to depend entirely on how low-resource the embedded machine is. In general terms, though, a higher-end embedded system could run a full copy of Windows or OSX on it if there was sufficient RAM and storage space available. It'd just be very slow. (Caveat: There are some embedded systems that are quite powerful, but still use embedded OSes for stability or simplicity's sake, since they don't need a full desktop OS running and/or don't have the disk space on hand for one.)

Embedded OSes usually have everything not absolutely necessary for the purpose stripped out, to minimize the amount of disk space and RAM they need, and to reduce CPU overhead so that all the available power can go to the app being run, but they're otherwise not so different from desktop OSes.

iOS is sort of an example; it's effectively a higher-end embedded OS, but the core codebase comes from MacOSX. Recent model iPods/iPhones have had 600MHz CPUs (with the performance per clock being in the general ballpark as older desktop CPUs) and 256MB RAM, 1GHz and 512MB for the current iPhone, which is very roughly equivalent to maybe a base-model iMac of the G4/lamp shade era. Running a full copy of OSX on those resources is entirely possible, but it would be slow and with 256MB RAM you wouldn't be able to run much in the way of apps, while the very-stripped-down iOS has a decent amount of RAM left over.

More pruned embedded OSes are capable of running on much, much less, of course--I've seen bragging of a fully functional OS, including a network stack, that'll fit in under 2MB of space. The one time I compared a specific application that I'd built using a system that could target very small, lightweight embedded hardware as well as full desktop OSes, the embedded version was about 1/10 the speed of the desktop one.

Great answer! I'm asking because I was wondering if an arcade board could utilize a full OS. For example, what would run a state-of-the-art arcade game faster: a computer with 1GB DDR1 RAM and a Pentium 4 processor with a Windows Embedded OS, or a computer with a much faster processor, 3GB RAM, and a full OS (like Mac OS X)?
 

Makosuke

macrumors 604
Aug 15, 2001
6,663
1,244
The Cool Part of CA, USA
what would run a state-of-the-art arcade game faster: a computer with 1GB DDR1 RAM and a Pentium 4 processor with a Windows Embedded OS, or a computer with a much faster processor, 3GB RAM, and a full OS (like Mac OS X)?
Assuming we're talking about a modern game with resource-intensive 3D graphics, the faster computer in nearly every case. While there's a fair amount of RAM and disk overhead on a modern OS, they still leave 95% of the resources available to applications. And in the case of any game it's going to be the speed of the GPU that limits performance, so the faster GPU will run the game better.

If we're talking about an old-school, sprite-based arcade game, then it's possible both would run it equally well, but that would only be if the old embedded system was sufficient to begin with--again, the OS doesn't add all that much overhead to how much CPU a single application can access. It's only going to make a difference in terms of the amount of RAM the OS itself is using before you run any program, how fast the system boots (a lot of embedded OSes are designed for very quick on), and how much storage you need.

Phrased differently, if you have a quad-core 3GHz system with 16GB of RAM and 2TB of storage, the desktop OS will probably be faster than the embedded OS, because it's going to have more features for taking advantage of all those resources. If you have a 2GHz system with 2GB of RAM and a 100GB hard drive, and you're only trying to run one application on it, the embedded OS and desktop OS will have little difference once the application is actually running. If you have a 1Ghz system with 256MB of RAM and 8GB of storage, however, the Desktop OS will barely be able to get itself loaded, while an embedded OS would still have plenty of RAM and disk space left over for applications (those are about the specs on an iPod touch, in fact). And if you have a 300MHz processor, 8MB of RAM, and 128MB of storage (system-on-a-chip type deals), an embedded OS is your only option.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.