2

When comparing the Windows, macOS, and Linux kernel to each other, do some make better use of hardware in terms of cache efficiently, page lookups, or power consumption?

I noticed this after comparing macOS to Linux on my machine side-by-side where Linux ran significantly warmer than macOS, and consumed more power. Which lead me to thinking that perhaps operating systems (and their kernels) implement hardware usage differently.

So is it the case that some low-level operating system or scheduling operations are more efficient on kernels with a company backing? Are certain algorithms for memory management or cache management perhaps 'trade secrets' by either Apple or Microsoft, for example? Or is the most efficient solution to these issues mainly public knowledge?

  • 2
    "do some make better use of hardware in terms of cache efficiently, page lookups, or power consumption?" It's extremely improbable that all operating systems would have the exact same efficiency. Beyond that I don't see a clear question here. What are you looking for? A comparative analysis of how major operating systems use the hardware? That would be unbelievably complicated. – user82096 Oct 28 '16 at 14:54
  • What I'm asking is just a general sense if scheduling procedures or cache efficiencies are something that can be considered a 'trade secret' among operating systems developers. Or if the most efficient practices are considered common-knowledge, putting most OSes on par with each other. – Cole Oct 28 '16 at 14:59
  • 1
    @dan1111That's not a all true. Some operating systems are more efficient. There are many factors to balance when designing an operating system, including usability, flexibility, performance, scalability, ease of implementation, etc. Some will be more performance-focused than others. – gardenhead Oct 28 '16 at 15:14
  • 4
    The issue you're seeing is likely due to Linux not supporting all power saving features of your hardware. – CodesInChaos Oct 28 '16 at 15:57
  • 4
    There are many assumptions in your question that are very shaky at best. E.g. the fact that the machine runs warmer does not necessarily mean that it is used less efficiently. It could also mean that the OS chose to run the fans at slower speed to save power. (Extreme example: Google runs their datacenters a couple of degrees hotter than most of their competitors, because they have measured that they save more on AC power than they pay in increased replacement of failed components.) Also, the differences may not be attributable to the different kernels but rather different system settings. – Jörg W Mittag Oct 28 '16 at 16:30
2

It actually has very little to do with the efficiency of scheduling algorithms. Linux is a very flexible kernel. It's used in everything from smartphones to supercomputers. Obviously, those have very different power needs, and there are quite a few configuration options available to meet those needs.

Chipsets on motherboards have various modes to save power. Taking advantage of new power modes in new chipsets requires writing drivers, which can take a while to make it into the tip of the kernel, and then even longer to make it into the kernel your distro uses, and even then you have to be configured to actually take advantage of it. Most distros try to configure for a balance of low power and performance by default. If you know it's a laptop, you can push it further toward the low power end of the spectrum.

So the 'company backing' does provide the advantage of a head start. The drivers can be timed to be released for the supported operating system at the same time the hardware is. Also, they can be pre-installed in the ideal configuration for the hardware, which reduces the risk of user error. However, the first advantage is temporary and the second is not intrinsic.

  • This is excellent. I've been very interested lately the difference between free software and software with a company subsidizing its development – Cole Oct 29 '16 at 4:15
  • 1
    @Cole It's not about Microsoft doing anything. It's about the Windows market share compelling hardware vendors to support it well (by shipping windows drivers). – CodesInChaos Oct 29 '16 at 8:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.