Powered By Blogger

Sunday, October 9, 2011

Comparison Between Windows 7 and Windows 8 Memory Management System

We all know that Windows 8 is under development and a Developer Preview build is available free to download for public.
We have shared a detailed review of Windows 8 Developer Preview build which can be read here. Microsoft has also talked a lot about Windows 8 new features and enhancements at Windows 8 blog.
Today Microsoft has shared some interesting details about Windows 8 memory management system at official Building Windows 8 blog.
According to Microsoft, their goal with Windows 8 from the beginning was to ship with the same system requirements as Windows 7. An important task for Windows 8 was to make room for new functionality while looking for opportunities to reduce the memory consumed by existing functionality and consumed across the board.
Windows 7 vs. Windows 8 Memory Consumption:
The easiest way to make a ballpark comparison of Windows 8 vs. Windows 7 memory use is to install both operating systems on a 1GB RAM machine (minimum OS RAM requirement) and compare them when they’ve been rebooted multiple times, and then idled for a while.
The below graphics compare memory consumption on an old netbook running Windows 7 at idle, and then with the same machine running Windows 8.
Windows_7_Windows_8_Memory_Consumption.png
As you can see though, Windows 8 is doing well relative to Windows 7.
NOTE: For Windows 8, a clean install also contains the extended Windows Defender technology, which, for the first time incorporates complete antimalware functionality – also optimized for memory and resource use. (This functionality does not exist on a clean install of Windows 7 where we would recommend that you add security software).
Memory Combining:
When assessing the contents of RAM in a typical running PC, many parts of memory have the same content. The redundant copies of data across system RAM present an opportunity to reduce the memory footprint even for services and OS components.
Memory combining is a technique in which Windows efficiently assesses the content of system RAM during normal activity and locates duplicate content across all system memory. Windows will then free up duplicates and keep a single copy. If the application tries to write to the memory in future, Windows will give it a private copy. All of this happens under the covers in the memory manager, with no impact on applications. This approach can liberate 10s to 100s of MBs of memory (depending on how many applications are running concurrently).
Service changes and reductions:
OS services configured to run all the time are a significant source of ambient memory use. When assessing the set of OS services during Windows 8 planning, Microsoft decided to remove a number of them (13), move a different set of services to "manual" start, and also made some of the "always running" services move to a "start on demand" model. This is where a "trigger" in the OS (like device arrival or the availability of a network address) causes the following to occur:
  • The service starts.
  • The service does its thing (whatever that happens to be).
  • It hangs around for a while to make sure there isn’t anything else to do, and
  • The service goes away.
You'll notice that Plug and Play, Windows Update, and the the user mode driver framework service are all trigger-started in Windows 8, in contrast to Windows 7, where these services were always running.
More granular prioritization of memory:
Windows 8 has a better scheme for the prioritization of memory allocations made by applications and system components. This means that Windows can make better decisions about what memory to keep around and what memory to remove sooner.
For example, antivirus programs (AV) do various checks on files when they are being opened by other programs. The memory that the AV program allocates to check virus signatures is usually a one-time allocation (it is unlikely that specific memory will be needed again). On Windows 7, the memory is treated as if it had the same priority in the system as other memory (say, memory allocated by a running instance of Microsoft Excel). If memory became scarce, Windows 7 could end up removing the memory that helps another running application (like Excel) stay responsive for the user, which wouldn’t be the best choice for system responsiveness in this case.
In Windows 8, any program has the ability to allocate memory as “low priority.” This is an important signal to Windows that if there is memory pressure, Windows can remove this low priority memory to make space, and it doesn’t affect other memory required to sustain the responsiveness of the system.
Now that's an impressive thing to know about Windows 8. It seems we'll not need to change services type to manual to speed up Windows 8 like previous Windows versions or will we need?

No comments:

Post a Comment