📜 ⬆️ ⬇️

Why all drivers in Windows are dated June 21st, 2006


Why in every new version of Windows all drivers are dated the same day of June 21, 2006? Does Microsoft ever update drivers or are they just a bunch of idlers gathered there? Finally, we learned the answer to this question from a note in the unofficial blog The Old New Thing on the Microsoft website.

One of the developers of Microsoft under the nickname zac_l explained what was the matter. The sacred date of June 21, 2006 even extends to drivers like Storage Spaces and modern processors that did not exist at all ten years ago, so there is no talk of developers being lazy. The reason is different.

There is one very important reason for setting an ancient date, which has nothing to do with the actual release date of the driver.

The fact is that Windows has a Plug and Play system (PnP) that allows you to quickly identify and automatically configure devices in your computer. It automatically recognizes the presence of a new device, and then selects the drivers, installs them, so that everything functions normally without installing and configuring manually. Automatically allocated resources, I / O ports, device memory maps, and more.
')
So, when the PnP system in Windows performs driver ranking, it first checks the hardware device ID and driver. If two drivers have the same identifier, then the system should select one of the two drivers. In this case, the main factor is the driver date .

Imagine a situation that the file dates are real and correspond to the time of file creation. What happens? Suppose your device can use a standard Windows driver, but you installed a proprietary specialized driver for it. In this situation, with each new Windows update, a new standard Windows driver will roll in, instead of your proprietary driver, because in the new version of Windows, the driver will have a more recent date. You will have to manually return the normal drivers back each time.

To avoid such a conflict, a simple and effective decision was made. All drivers in all versions of Windows are assigned a standard date that corresponds to the release date of Vista RTM . This fixed date does not depend on the driver version or the actual file creation date. At the same time, the driver version number is updated - this is the next factor that is taken into account when choosing a driver, after the date the file was created.

By default, the PnP system will always select branded specialized device drivers if they are present. If they are not there, then the built-in driver from Microsoft will be installed, with the driver from the latest OS version. It will have the highest version number, although the same date as the old Microsoft drivers.

With new versions of Windows, only drivers that are no older than Vista are compatible. Third-party drivers from the time of Windows XP are usually not compatible with them, so there are no problems with date conflicts.

Thus, the PnP system works without problems, although the situation looks a little ridiculous. Until now, all drivers are installed with the date of June 21, 2006, and this will continue. The aforementioned developer Zack of Microsoft said: "This is a great example of what seems dumb and insignificant at first glance, but in reality it has a deep and solid purpose."

As popular wisdom says: “If something is stupid, but it works, then it is not stupid” (or still stupid, but we are lucky).

Such a mechanism of work can hardly be called ideally literate programming, because the file date is an attribute that is not intended to compare drivers. But the system works de facto, so why not? Yes, and how else to solve the problem with the correct driver update? If you have ideas on this subject, then Microsoft programmers did not find a simpler and more reliable option. Who knows, maybe they didn’t even think about the problem themselves - and fixing the date was forever the first thought that they immediately implemented? Maybe the problem was solved with such a “fix” by developers who did not have the authority to implement a more competent system, for example, checking the driver’s publisher (if the publisher is Microsoft, set the driver the lowest priority).

It's bad that for many years this mechanism of PnP operation remains one more undocumented function of Windows, and this is one of the main reasons for criticizing this operating system with closed source code - it has too many undocumented features that we don’t know.

Such a date verification mechanism may well work even further if new versions of Windows see the light. It is only necessary to ensure that the proprietary drivers do not accidentally specify a date older than 06/21/2006, because in this case, Windows will constantly roll in its own general-purpose driver instead of the proprietary driver, regardless of version. If that, in Windows 10 it is possible to temporarily disable the driver update for Windows Update.

Source: https://habr.com/ru/post/401445/


All Articles