Will Windows 10 Finally Address OS Decay?
colinneagle (2544914) writes The real question on my mind is whether Windows 10 will finally address a problem that has plagued pretty much every Windows OS since at least 95: the decay of the system over time. As you add and remove apps, as Windows writes more and more temporary and junk files, over time, a system just slows down. I'm sure many of you have had the experience of taking a five-year-old PC, wiping it clean, putting the exact same OS on as it had before, and the PC is reborn, running several times faster than it did before the wipe. It's the same hardware, same OS, but yet it's so fast. This slow degeneration is caused by daily use, apps, device drive congestion (one of the tell-tale signs of a device driver problem is a PC that takes forever to shut down) and also hardware failure. If a disk develops bad sectors, it has to work around them. Even if you try aggressively to maintain your system, eventually it will slow, and very few people aggressively maintain their system. So I wonder if Microsoft has found a solution to this. Windows 8 was supposed to have some good features for maintaining the OS and preventing slowdown. I wouldn't know; like most people, I avoided Windows 8 like the plague. It would be the most welcomed feature of Windows 10 if I never had to do another backup, disk wipe, and reinstall.
Sadly the way updates work with MS they become the far bigger problem. You can easily see this by installing a "clean" system, examine its timing (please don't even think about using system internal benchmarks...), then patch it and notice just how much speed you suddenly miss.
That's a problem you probably won't solve quickly...
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
If the problem was really in the OS, then windows server which shares many of the same underpinnings as Windows desktop(s), would suffer the same fate. Since servers like domain controllers and exchange servers run for years without that issue, the problem seems to be from the crAPP that gets installed, as the parent explained, as well as the article. Bad headline to suggest the bad apps are M$'s problem
Like on a modern mobile device, sandbox your apps so they don't clutter the whole system and when they're erased, they're completely gone.
Not really. It's just bad design.
Your server isn't getting games installed on it, which put all kinds of settings in the registry, then removed later when the game is old and tired, leaving behind cruft (including DRM bullsit) in the registry.
When a program is UNinstalled, all traces of it should be gone. Apple took a different approach, which arguably works far better. Even if stuff is left behind, it just takes up a bit of disk space, and doesn't affect the system at all.
You may find this interesting:
http://en.wikipedia.org/wiki/P...
If Pandora's box is destined to be opened, *I* want to be the one to open it.
If your disk develops bad sectors, the OS most certainly does not "have to work around them". Any modern drive will self correct its own bad sectors upon identifying them. If a disk is developing so many bad sectors that this is a constant problem, then the disk is about to fail, and you should expect performance to be degraded. This has nothing to do with Windows.
Here is the kind of answer I do not want to hear: "The typical cost of hard drives is less than .15 Cents per Gigabyte. This means that a WinSxS folder that is 6GB costs around .90 Cents, and uses slightly more than 1 Percent of the drive. That's about the same cost as a large bag of potato chips. " (cite). Yeah, so? Maybe I'm on a laptop with a small SSD? Maybe it's a VM that I have a dozen copies of? Don't waste my resources and then try to talk me out of caring.
Will Slashdot finally admit to being paid by Microsoft for positive press?
... let alone understand it ? /sarcasm Naive ...
The continual bloat of _registry_ is the cause of the problem. That is not going away anytime soon.
Hmm, so why don't Unix machines have this problem ... gee, maybe because they don't use a single bloated binary config file.
XP was fast as hell until you patched it up to SP3. Microsoft borked the hell out of that OS. Windows 7 I have not had the gradual slowdown problem at all.
Do not look at laser with remaining good eye.
This means that a WinSxS folder that is 6GB costs around .90 Cents, and uses slightly more than 1 Percent of the drive.
I think you just don't understand what WinSxS is, how it works, and what the problem is that it is designed to address, suggest you start reading a bit more.
The reason the old Sxs assemblies need to be kept, is that installed software may require the usage of an old assembly.
Just because an update has superceded a certain library version, does not mean that all applications that still rely on it should be broken.
The SxS assembly backups have a vital role, and they don't actually use as much disk space as you think, due to hard linking --- Windows Explorer gives you an impression that more disk space is consumed by this folder than actually is.
The reason is... various installed files throughout the system will be hardlinked here, causing an appearance that a lot of space is in use here, but in reality --- these hard links are just a second Zero-usage copy of files that are installed elsewhere.
Only a couple gigabytes worth of files that have been updated and no longer have other hard links here, should actually be considered usage of the SxS system.
Hi,
You're incorrect.
As I stated, the registry as an optimized database. A few extra records do not affect query time.
I will be happy to met money that my 3 year old install of Windows 7 will not have any speed decrease over a new install on the same hardware.
If the OS slows down, it is because there is something causing it that you can remove. It isn't due to "decay".
If you ignore ACs because they are anonymous - you're an idiot.
for their business model to function...and they won't break it.
Everything in the Universe sucks: It's the law!
Even with an SSD, if applications are leaving behind shit in the various places shit can run on startup, you might be losing CPU or memory to some task that doesn't need to be there.
You can have this problem on other OSes like OSX and Linux too, but Windows is the only OS where the SOP is to make a mess of things. Don't like an app on OSX or linux? Just delete them. most of the garbage goes with it.
Non impediti ratione cogitationus.
Not really. It's just bad design.
Your server isn't getting games installed on it, which put all kinds of settings in the registry, then removed later when the game is old and tired, leaving behind cruft (including DRM bullsit) in the registry.
When a program is UNinstalled, all traces of it should be gone. Apple took a different approach, which arguably works far better. Even if stuff is left behind, it just takes up a bit of disk space, and doesn't affect the system at all.
Yes it is bad design. It is bad design by the people who create applications. The level of incompetence is staggering and this includes all the big name vendors.
Funny you should mention Apple. The Windows version of iTunes (the shittiest piece of software ever written) installs support files for 34 different languages. There is no option to only select the language you want at install time and the user is completely unaware that iTunes has just dropped approximately 4,400 un-needed files onto his hard drive.
But wait! It gets better! iTunes also creates a registry entry FOR EVERY SINGLE FUCKING FILE!! I am not making this up. ~4,400 files AND registry entries that can be deleted with absolutely no effect on the functioning of iTunes.
When I install Windows, I work hard to set up everything exactly as I like on install day. Then I make a backup of the OS partition - which has only programs, no photos, videos, etc. - using Acronis TrueImage. Then I proceed as normal, and when something gets screwed up, I just restore from backup. This completely undoes any effects of winrot, and the system immediately feels like it was installed that day. What I usually do then is update my applications and settings, and immediately make a new backup. A full restore takes about 4 minutes, and a backup with max compression takes something like 12. I find this so convenient that I use no antivirus. When I start to suspect that I may have installed malware, I just restore from a backup, and four minutes later, my system is perfect. I've been doing this since Win2K days, and if this method weren't available to me, I wouldn't be using Windows.
I remember in the transition between INI files and the registry (how I miss the days when applications had their own discrete text-based configuration files... oh wait, *nix still does!), and Microsoft sent out countless missives all but ordering developers to move to the registry. The registry was the approved place to store configurations, likely, I'm sure, because sticking all user settings in a single hive that could be passed around from workstation to workstation for roaming profiles.
Of course, the down side has always been that the registry just becomes cluttered with crap, particularly on a system that sees a lot of software installed, updated, reinstalled and uninstalled. Throw in there nearly two decades' worth of COM objects being incremented and decremented unsuccessfully, and a computer that's been running for five or six years, and fragmentation of the file system, and it can lead to just awful response times.
The world's burning. Moped Jesus spotted on I50. Details at 11.
You should be able to install 1000 programs, uninstall them all, and your system should be identical to what it was before. Anything else is a failure.
The very existence of the registry is wrong. Operating systems like Unix, Linux, MacOS, Solaris, etc. don't have a registry, and don't have any significant "OS Decay".
No idea what TFA is talking about.. Only "decay" I've noticed is caused by people getting suckered into installing malware.
Holy shit.
I mean, it's general knowledge that iTunes for Windows is most likely the worst piece of software ever written... But what you describe takes it to a whole new level of stupidity.
Hell, it almost makes it sound like they're trying to slow down Windows on purpose...
Microsoft went further than just having a bad registry, they essentially forced developers to use it if they wanted to get the approved sticker (ie, to say "works with Windows 95" or such).
Then again, winsxs is only one of several directories that often have people asking, "can I delete this?" See also C:\Windows\SoftwareDistribution, System Restore, and Windows.old, and c:\windows\installer. They are a mix of necessary and junk. From end to end, Windows is designed to keep everything, forever, just in case, instead of keeping track of things properly in the first place.
I'm well aware of the hardlinking that Microsoft does. I've also done some actual analysis measuring the real disk usage of WinSxS by using tools that count the hardlink references. On my Windows 7 installation that had a 16GB WinSxS folder, 14GB of that was unique to WinSxS with no other hardlinks. It isn't as efficient as Microsoft claims it to be.
I'd like to see package dependencies too. Microsoft applications are every much as convoluted as Linux apps when it comes to the files they depend upon. DLLs, shared directories, etc. But when uninstalling the applications they don't always uninstall the shared stuff cleanly. Ie, an app wants vbrun300.dll or such, so you visit the relevant Microsoft site and get it, but then you uninstall the original application but the dll is left behind; and there is no uninstaller for these libraries, they don't appear in the control panel.
I used to have a utility that would monitor all system changes during installation so that it could clean up later when uninstalling. Almost every time there would be some junk left over even after a successful uninstall. There would even be junk left over if you installed and immediately uninstalled without ever using the application.
As for the registry, there's a great front end that fully resembles a file system view...
I've called regedit.exe a lot of things over the years, and great was never one of them.
Celebrity worship is a poor substitute for Deity worship and costs more to boot.
Compile and install a program on linux with ./configure, make and make install? then you will likely be left with no means to uninstall it at all. And I have no idea why there are non-library files in /usr/lib.
Hell, it almost makes it sound like they're trying to slow down Windows on purpose...
Bingo
Apocalypse Cancelled, Sorry, No Ticket Refunds
I just looked through my registry, and find no sign of these 4,400 entries you mention.
Not saying iTunes hasn't dumped a lot of gratuitous crap into my registry, because it has. But this "entry for every file" thing? Not... in evidence.
Even with an SSD, if applications are leaving behind shit in the various places shit can run on startup, you might be losing CPU or memory to some task that doesn't need to be there.
Win Rot is alive and well in Windows 7.
Both my gaming machine and personal laptop have serious performance issues after 8 or so months (OK, the laptop is 2 years old but I use that infrequently). Both have SSD's, both were blisteringly fast when first installed.
Surprisingly enough, my work laptop is fine but I dont install much on there.
As a sysadmin, the biggest issue I have with Linux servers are the servers running out of space (mostly because some slovenly developer or DBA didn't bother writing a script to clean up log files or other output so it just grows until the disk runs out of space). Clogging up disk space with garbage is sort of *nix rot. Whilst Linux and OS X have no registry to clog up things, running out of disk space is a lot more painful on *nix than it is on Windows.
Very few *nix machines ever get used in the same abusive fashion as most people treat their windows boxen though.
Calling someone a "hater" only means you can not rationally rebut their argument.
Betteridge's law of headlines:
Any headline which ends in a question mark can be answered by no.
I'll believe it when I see it. It's not just Windows that has this problem, after all. Android and Mac suffer from it, and even Linux isn't immune (or there'd be no Paco).
This means that a WinSxS folder that is 6GB costs around .90 Cents, and uses slightly more than 1 Percent of the drive.
I think you just don't understand what WinSxS is, how it works, and what the problem is that it is designed to address, suggest you start reading a bit more.
The reason the old Sxs assemblies need to be kept, is that installed software may require the usage of an old assembly.
Just because an update has superceded a certain library version, does not mean that all applications that still rely on it should be broken.
When you've got a 19 GB Win SxS folder on a 40 GB HDD (which is plenty for a server and expensive on Tier 0 SSD's) it's a serious issue. 19 GB is not ridiculous, it's not even usual for a 2 yr old server that's been updated regularly. 19 GB across 250 virtual servers is a serious waste of space. Even 6 GB is a massive costs in infrastructure. Not every update needs to keep dozens of updates. Fortunately Microsoft has addressed this problem (as of April this year, so relatively quick in Microsoft time) so that the WinSxS folder can be cleaned up.
Calling someone a "hater" only means you can not rationally rebut their argument.
make uninstall Also compiling from source should rarely be necessary. Most modern distributions will include a ports like system that will allow you to compile source into a fake root, use the information gathered to build a package, and then install the package with your package manager. This ensures everything is cleaned up properly upon package removal. Of course even building a package for the software is probably unnecessary as it's very likely someone has already done it for you. Linux' package management is vastly superior to both Windows and osx (don't you just drag a folder into the garbage can? Give me a break). You just have to know what you're doing.
If it ain't broke, don't fix it.
The ironic thing is that third party companies have been able to repackage Windows programs so only one file is needed to run it. Not an installer... just an executable that provides a virtual environment for the program, and redirects all file and Registry changes to a specific directory in the user's homedir. A couple examples: VMWare ThinApp or Evalaze.
Yes, it takes a bit to create a clean system (VMs are perfect for this with snapshots), pop a "before" run, install the software, then click that it is done. The result is a single file that takes every single change the installer did, and puts it in a sandbox/partition.
If third party companies can do this, why can't MS extend their virtual redirects (which are used with some legacy applications to redirect stuff that would be stored in Program Files to the user's homedir) to include everything the program does? Container functionality is a core part of some other operating systems (RedHat 7), so why not Windows? That way, uninstallation of a program is just tossing the file it is in.
Sandboxes are not new either. I use sandboxie to ensure that what is in my web browser stays in my web browser and doesn't get out. This isn't a 100% solution since an undocumented MS API call would allow a program to "leak" out, but it is usable.
So.... what, then?
This is a serious question. I'm a user of MSFT products. Until certain apps get ported to Linux, I'm likely to continue to be a user of MSFT products. But the OS to me has never been the app. It's a program loader and resource manager in which I run the apps that I actually use. I have no interest in new versions of the OS, as long as it'll still run my programs. I was one of the people who didn't leave XP until forced. And I won't leave Win7 until forced. I don't look forward to OS upgrades, I want to get work done. It seems to me that this frame of mind directly contradicts Microsoft's business model of endless costly upgrades. How are endless non-costly upgrades going to work for them? (It certainly works for me, but I don't really believe it yet.)
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
"Both my gaming machine and personal laptop have serious performance issues after 8 or so months"
Meanwhile I've been running the same Windows 7 install since the tail end of 2009. That's with a fuckton of install, uninstall, and the occasional defrag and registry cleaning, especially on this tiny 120GB disk. Still runs exactly as it did back then.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Except there wasn't. Well, there was. A bit. Sometimes. Naturally, this half-baked approach actually made the problems worse.
Even today and with native Windows applications, many aren't very well behaved in following the "standards" here, because Microsoft did such a terrible job of promoting good practices.
Anything that isn't a native Windows application -- including almost every darling of the open source world, for a start -- probably ignores not only the application data directory but also the program files directories and insists on spewing its crap all over your filesystem and environment. Oh, and $DEITY help you if you need to do anything with Cygwin, and $CHORUS_OF_DEITIES help you if you have more than one ported application that requires Cygwin.
It is telling that you can't even schedule a backup of the "official" place to store documents without considerable effort, because Windows itself sets up so many links that most backup tools can't handle them.
And that's before you get idiots like the Chrome team at Google who think it's clever to install executable software in your data directory in order to deliberately circumvent Windows' normal security model, just so their auto-updater can do things it shouldn't without anything silly like troubling the user for permission. I'm always a little surprised that Microsoft hasn't, with considerable and legitimate justification, flagged Chrome's installer/updater software as malware and automatically removed it at some point.
On the bright side, if Microsoft can actually manage to produce an operating system with a sensible filesystem structure and application installation/update/uninstallation tools that actually enforce that structure, they might yet salvage the Windows brand and convince significant parts of their potential market to upgrade again.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Registry bloat is not a problem, it's clueless users who cannot maintain their system.
In other words, it's a problem. A solution that requires all users to have technical knowledge isn't a solution, it's a fantasy.
I don't care if it's 90,000 hectares. That lake was not my doing.
Meanwhile I've been running the same Windows 7 install since the tail end of 2009. That's with a fuckton of install, uninstall, and the occasional defrag and registry cleaning, especially on this tiny 120GB disk. Still runs exactly as it did back then.
Its entirely possible you're slowing down at the same pace as your machine.
Calling someone a "hater" only means you can not rationally rebut their argument.
As a counterpoint to this; I had a reasonable machine for work. Win7 Pro, then IT got hold of it and connected it to the new domain etc; now it is much slower. Booting, shutting down, launching programs...everything is slower then the day before.
Well known problem. Once attached to a domain, Windows attempts to do all kinds of stupid things. One of the most common problems is the open/save file dialog. The OS attempts to display it, then blocks until it contacts the domain servers to look up the user's actual name. Then there are similar delays that happen as it goes out and probes each drive, which is a problem if they are mapped network drives as the display waits until everything is built before the UI appears.
On a machine that is disconnected from the domain, perhaps a laptop away from the office, it gets even worse. Internally there is a 45 second delay on each of the network probes, and between Windows 2000 through Windows 7 they all fired sequentially. So if you had your own friendly name plus three mapped drives, that's three minutes of waiting for network connections to time out. It is somewhat faster under Windows 8, but in bad cases can still take ages.
For these specific issues they will not fix the root problems of the shell blocking until after data is loaded or probing the domain for security settings as it would break many shell plugins. It can be made partially better by disabling some of the features; they include disabling certain group policies on shell extensions, turning off certain domain security and SCAPI settings, and disabling drive mappings whenever possible. When disconnected, removing all VPN lookups and disabling proxy detections can also help. Even with those improvements, attaching a machine to a domain introduces an immediate performance penalty on everything shell-related.
Another similar set of problems is apps that try to probe the MRU file list when files are on the network. Many parts of the OS try to cache things based on prior use, and once you're wired in to the corporate network these probes (which stupidly are often blocking tasks) can take seconds to run while on the network, or minutes to run when they time out when off the corporate network.
//TODO: Think of witty sig statement
Windows changes a lot of its behavior as soon as you change that radio button from "Workgroup" to "Domain". Before you even get to the log in prompt, Windows has to connect to a domain controller to download Group Policy settings and the like. Having to run login credentials through a DC and load config from it as well will add at least a slight amount of lag - possibly a lot, depending on how responsive the network and the DC are. Then, there's the matter of which Group Policy settings the admins have chosen, many of those can slow down the computer on their own.
If IT "had their way" with it, they might have also loaded it up with antivirus or some other bloatware.
Either way, if you want anything that hasn't got into your distribution's package management system yet, you're almost invariably forced into compiling your own software and manually installing it with makefiles. Those might, if you're really lucky, also offer a make uninstall option that actually does cleanly uninstall. That might, if you're even luckier, still work six months later, as long as no-one inadvertently installed a new version of the manually compiled code over the top to "upgrade" it, or just ran make distclean without thinking leaving you with no idea what make uninstall should have done. In any case, Linux is going to enforce absolutely no system hygiene at any point in this process.
If you want to install software that hasn't got into your distribution's package management system - you should compile it, make package and install package. How do you expect your OS to enforce system hygiene if you do not use correct procedures to install packages? If you install by 'make install' you are basically just copy bunch of files somewhere.
As you add and remove apps, as Windows writes more and more temporary and junk files, over time, a system just slows down.
Yeah, it's a damn hard problem to solve. No surprise it's taken them 20 years to figure out that you could just put all of the files that belong to one application into a few folders exclusive to that application and then wipe them when the app is removed. Instead of, say, the absolute dumbest thing you can do, which is scattering them all over the place without keeping a record so you are absolutely guaranteed to never, ever, find them again.
Assorted stuff I do sometimes: Lemuria.org
I know it is a database, and slightly optimized. "A few records" would not affect query time, especially if they were not in the query path.
What about a lot of records? And how about a lot of records that are in the query path?
It's a database. IIRC it uses B* trees. Search time is proportional to the logarithm of total number of records. Even "a lot" of records may not cause the height of the tree to increase. You generally need to *square* the number of records to double to search time.
At the same time, the registry hives are really, really robust. Windows keeps to redundant copies and even protects writes through the kernel transaction manager as well as the journal of the file system. Corruption is virtually impossible until the hard drive decays to a state where even the redundancy cannot make up for it anymore. Unlike text files, both metadata *and* data are guaranteed to either succeed in an atomic transaction.
(compare to the Unix way, where config files can be corrupted if the system/power fails during a write: File system do not guarantees *data* consistency for regular files, only *metadata* consistency, i.e. the fs guarantees that its internal structures will not cause it to go haywire on your files afterwards)
I suspect that this is actually the reason why there's a myth about corruption of the registry: With all of the redundancy, the registry is often the last component to fail when a drive succumbs. At the same time, Windows will refuse to start *if* the registry is corrupted. At that point the drive is in such a bad state, that even restoring/repairing the registry corruption will not save the drive.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*