Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
scroll top