4 ms·
One of the ways Windows would corrupt itself was an optimization it used to reduce the size of the VM swap file. On many OS, when a program is loaded into memor
by pdkl95 7y ago
One of the ways Windows would corrupt itself was an optimization it used to reduce the size of the VM swap file. On many OS, when a program is loaded into memory the executable code pages of memory are the same as any other memory page: the VM might write the page to the swap file, and later reload that memory from the swap file to restore the memory page.
On windows, code pages were not sent to the swap file, because that data already had a copy of that data in the program's original .exe file! Instead of writing the memory page to the swap file, simply freeing the memory was much faster and saved a lot of space on the disk reserved for the swap file. The code pages were supposed to be read-only, but some kind of bug(s) would cause the memory pages to be seen as normal memory, where writes would mark the page as "dirty" and eventually the VM would write those changes to the swap file. Unfortunately, for code pages, the "swap file" was the original .exe, so the changes to the memory page would corrupt the .exe, probably requiring it to be reinstalled.
> always divide the bootable system install off to its own untouched C: partition
They might have been using 'ghost' to restore the C: partition over the LAN at boot time. This was very common in professionally-managed settings.
- anticensor 7y ago> Unfortunately, for code pages, the "swap file" was the original .exe, so the changes to the memory page would corrupt the .exe, probably requiring it to be reinstalled. Do you mean Windows modified user programs without warning? It seems like it was a serious bug.
- pdkl95 7y agoYes, it could overwrite any program, but (if I recall correctly) it hit OS file most of the time simply because they were always open. It was a very rare bug, because it had to combine both corruption of the VM to allow the write to happen, and a bug (e.g. a pointer error) that would write to the program's code page. The actual modification would usually be very small, and wouldn't change the file size. And yes, it was a serious bug, that might have been responsible for why Windows seemed to have a "half life". Over a given period of time, each system had a chance of corrupting itself. Some systems would be fine for years, but many needed to be reinstalled after a ~year.