In a recent blog post, Microsoft describes how it works to reduce memory usage even further in , undermining those out-of-date complaints from haters who think Windows is too big for iPad-like tablet devices.
"In building Windows 8 we set out to significantly reduce the overall runtime memory requirements of the core system," Microsoft president Steven Sinofsky notes in the post. "This is always good for everyone and especially in a world where people want to run more and more apps at the same time or run on systems with only 1 or 2GB of memory."
As you may recall, Windows 8 has the same system requirements as its predecessor, Windows 7, but in fact uses even fewer resources on the same hardware, a first for any Windows version. But Windows 8 is also being engineered to run on very low-end SoC ("system on a chip") type designs like those based on ARM, which feature much lower power consumption than typical PCs. So this OS needs to be finely tuned to use very little RAM, leaving even more resources for apps.
"RAM is constantly consuming power," Microsoft group program manager Bill Karagounis explains in the post. "If an OS uses a lot of memory, it can force device manufacturers to include more physical RAM. The more RAM you have on board, the more power it uses, the less battery life you get. Having additional RAM on a tablet device can, in some instances, shave days off the amount of time the tablet can sit on your coffee table looking off but staying fresh and up to date."
With this in mind, Windows 8 is being designed to require just 200 MB of RAM, not counting the display adapter needs. The post describes a few ways in which Microsoft is achieving this goal:
Memory de-duplication. Since many parts of memory contain the same value, Windows 8 frees up duplicates and keeps a single copy. If an application attempts to change the value of one of those locations, Windows will then give it a private copy it can modify. "All of this happens under the covers in the memory manager, with no impact on applications," Karagounis claims. "This approach can liberate 10s to 100s of MBs of memory (depending on how many applications are running concurrently)."
Changes to system services. Microsoft removed 13 startup services in Windows 8, changed others to "manual start," and made others "start on demand," dramatically reducing the startup time and memory usage of Windows 8-based PCs. "Plug and Play, Windows Update, and the user mode driver framework service are all trigger-started in Windows 8, in contrast to Windows 7, where these services were always running," Karagounis writes.
Doing more with less. Shortly after shipping Windows 7, Microsoft began an investigation of how low level OS components--including some dating back to the original 1993-era NT--utilize memory. The result necessitating a "re-architecture of code" to make it more efficient. "By densely consolidating the hot items, we brought down the overall runtime memory cost," Karagounis explains. "We've seen consistent results showing memory usage reduced by tens of MB on an average machine."
A lazier desktop. Since the Windows desktop is no longer the Windows shell, it's not loaded into memory when Windows starts up. This saves about 23 MB of RAM, Microsoft says.
Better memory prioritization. "Windows 8 can make better decisions about what memory to keep around and what memory to remove sooner," Karagounis says. "[It] has a better scheme for the prioritization of memory allocations made by applications and system components."
Karagounis notes that improvements to the Windows 8 application model and process lifecycle make new Windows 8 apps more "memory friendly," but that's a topic for another day. In the meantime, check out this most recent post: It's a great peek at one of the many reasons why Windows 8 is so much more efficient than previous versions and so much more capable of working well on a wider range of hardware.