Windows 8 To Use Less Memory Than Windows 7by Andrew Cunningham on October 7, 2011 4:00 PM EST
One of Microsoft's stated goals for Windows 8 is for it to run on any system capable of running Windows 7, which at a minimum will require the its resource usage to remain the same as its predecessor's. Today on the Building Windows 8 blog, Microsoft's Bill Karagounis details how the company has worked not just to maintain memory usage relative to Windows 7, but to reduce it, with an eye toward making it run acceptably on ARM-based tablets that lack the beefy processors and multi-gigabyte RAM banks of today's PCs.
One improvement to the memory manager allows it to search for duplicated items in memory, and to unload all but a single copy to save space (the Windows installer and image deployment tools for enterprises do something similar to reduce the size of the install media, keeping one copy of a given file and a record of everywhere that file needs to go on the hard drive rather than, say, five copies of the same file). Another allows developers to designate certain parts of programs and processes as "low priority," meaning that when the OS needs more memory it can maintain system responsiveness by removing those less-important bits from RAM first.
The OS's other major memory-saving trick comes not from reprogramming major programs and services, but changing how and when they run. Many services in Windows 8 - Windows Update, the Plug and Play service, and others - run only when they're needed, while in Windows 7 they run in the background more or less constantly. By changing some traditional Windows services to run only when triggered and making many new-to-Windows 8 services behave the same way, the OS can save RAM without actually shedding features.
For more, Microsoft's blog post is as always more exhaustive and detailed than what we've reported here - it's linked below for your convenience.
Source: Building Windows 8 Blog
Post Your CommentPlease log in or sign up to comment.
View All Comments
SleepyFE - Friday, October 7, 2011 - linkI don't get something. They say here that it will use les memory because it will close what you are not using, or is duplicated. However, months before they said that no program will really close, it will just minimize to a tile (how is that less resourse hungry).
inighthawki - Saturday, October 8, 2011 - linkThat is for the metro apps, the things that close automatically are services. The other feature is to reduce memory by finding already loaded copies of things and reusing memory until it needs to write to the memory.
Targon - Sunday, October 9, 2011 - linkThere are many tricks that can be used to save on processor and memory usage. iOS for example has background applications effectively "suspended", with only a few function calls that continue to operate in the background. For services, Windows NT through Windows 7 have services that many don't really use that are always running, just in case an application MAY need them. Switching to a system where services are not running unless they are actually needed would help quite a bit.
JonnyDough - Saturday, October 8, 2011 - linkI wonder what patches and updates will do to Windows 8 though...is it secure and bug free? If its great and stays great until SP1 I will certainly be getting it. I've held off on Vista, and only bought one copy of Win 7 (my older PCs run Home Server and XP still) so I will be upgrading all to Win 8 if it all holds true! :D
name99 - Friday, October 7, 2011 - linkI'm confused. Is your skepticism regarding Microsoft, or regarding OSs in general?
Apple, certainly, have a pretty good track record of increasing performance (including VM performance) and reducing disk footprint (not mentioned in the article above, but another aspect of the issue) from one OS to the next. The one notable regression in recent times has been with Safari 5.1, though that is sure to be fixed soon --- it is certainly a bug, not an architectural issue.
The same has been largely true of the recent free unixes.
There are times when the memory usage of an OS jumps substantially --- but for good reason. For example, switching from a single-core to a multi-core OS, or switching the imaging model so that every window gets backing store, or (for disk footprint) shipping a world-ready OS that has every asset in multiple languages --- a primary reason OSX and its apps are so much larger than people who whine about the good old days of OS9.
But it's not like the people in charge of these OSs are fools. Those jumps happen for a reason, and chances are, if you have an opinion about the requirements of modern OSs, this reflects NOT their stupidity, but rather that you (interested in your personal experience) want a different set of tradeoffs from what the manufacturers and packagers (who actually KNOW their customers) want.
Exodite - Friday, October 7, 2011 - linkNone of these things is a reason for any notable increase in memory usage, or even storage space. Let alone a good one.
The fast and short of it is that the desktop OSs of today include too much crap that have nothing to do with OS tasks.
name99 - Friday, October 7, 2011 - linkJesus Christ.
If you're going to have a separate backing store for each window, where do you THINK that store is going to reside?
If you're going to store separate resources for every language, how is that NOT going to impact the size of an app? Look at something like iTunes. I don't know the Windows situation, but on a Mac more than 50% of the size is in language-specific resources.
There is NOTHING stopping you running Windows 3 on your PC if you are so convinced everything was better back in 1985. Sure you won't have much of an internet connection or much of a browser, but I suspect the rest of us would consider that a feature more than a bug.
Look, you can contribute to the debate like a mature human being, or you can make statements that are childish and clearly stupid. Choose wisely.
OCedHrt - Saturday, October 8, 2011 - linkThat point is what isn't used shouldn't be installed. It's fine if the installer has support for it. And, you're not being any more mature either.
Exodite - Sunday, October 9, 2011 - linkTo be fair I'm not the one making the argument personal here.
Things were better in the mid-80s, from an OS perspective anyway.
It's easy to overlook what software evolution brings to the end user experience, most of the time it's not nearly as much as one would think.
If we chose to focus on Windows in particular I'd argue that nothing has happened since W95. Sure there's a lot of technical mumbo-jumbo, which - being a software engineer - I have moderate appreciation for myself.
Has it really improved the user experience though? And has it done so in line with the resource requirements?
The answer is an emphatic no, not anywhere near that.
To illustrate my point I'll fall be to my favorite example, AmigaOS 3.x.
My now 20 year old Amiga still offers a snappier, more responsive experience - to say nothing about a more intuitive interface - than my current i7 2600K-based desktop.
And it achieves this with, quite literally, less than a thousandth of the resources.
That there's a lot to be done with Windows before something like this is impressive. Cutting memory requirements down to half should be relatively trivial, down to a tenth - desirable.
Targon - Sunday, October 9, 2011 - linkAre you serious? The way multi-tasking is handled under NT/2000/XP/Vista/7 is far better than what Windows ME and earlier had provided. The real problem that we have is that as the capability of computers has increased, the more we have running at any one time, and THAT is what has caused the lack of true increases in overall system performance. Your Amiga probably doesn't have anti-virus continually monitoring things in the background(why bother with anti-virus for an old platform that virtually no one uses anymore?).
This is really the thing that it SOUNDS like Windows 8 is addressing, how to reduce the impact of all the background stuff and how much is really being done in the background.
The one thing that was done better back in the 1980s and early 1990s was that due to limited resources(RAM and HD space), programmers had to focus on more efficient code. Instead of 8 versions of the same subroutine/function for slightly different needs, back then, we would code a single subroutine/function that might have one extra parameter to make it work for all of those 8 different situations.
Intel did not help with all of those SSE instructions that were primarily intended to keep AMD from keeping up(AMD tried to fight back with 3DNow! but gave up when it didn't take off), and Microsoft has bloated DirectX with a lot of stuff that was not really needed. But, what's done is done.
The only way to REALLY fix the problem is to start over with a design that is LESS complicated and "open" to modifications. If the base OS is fairly small and you let the user select what to run/install, it will provide better performance than a monolithic design that does every possible thing that anyone might want. Windows 8 is a step in the right direction by cutting down on what services are running.