¿Por qué en cada nueva versión de Windows todos los controladores están fechados el mismo día 21/06/2006? ¿Alguna vez Microsoft actualizó los controladores, o fueron solo un montón de mocasines? Finalmente, aprendimos la respuesta a esta pregunta de una publicación en el blog no oficial de Microsoft
The Old New Thing .
Uno de los desarrolladores de Microsoft, bajo el apodo
zac_l, explicó cuál era el problema. La fecha sagrada 21/06/2006 se extiende incluso a controladores como Storage Spaces y procesadores modernos que no existían en absoluto hace diez años, por lo que no hay duda de la pereza del desarrollador aquí. El motivo es diferente.
Hay una razón muy importante para establecer la fecha antigua, que no tiene nada que ver con la fecha de lanzamiento real del controlador.
El hecho es que Windows ejecuta el sistema
Plug and Play (PnP), que le permite identificar rápidamente y configurar automáticamente dispositivos en su computadora. Reconoce automáticamente la presencia de un nuevo dispositivo, y luego selecciona los controladores, los instala, para que todo funcione normalmente sin instalación y configuración manual. Recursos asignados automáticamente, puertos de entrada / salida, tarjetas de asignación de memoria del dispositivo y más.
Entonces, cuando el sistema PnP en Windows realiza una clasificación de controladores, primero verifica el identificador de hardware del dispositivo y el controlador. Si dos controladores tienen el mismo identificador, el sistema debe seleccionar uno de los dos. En este caso, el factor principal es
la fecha del controlador .
Imagine la situación en la que las fechas del archivo son reales y corresponden a la hora en que se creó el archivo. Que va a pasar Suponga que su dispositivo puede usar un controlador estándar de Windows, pero instaló un controlador especializado patentado para él. En esta situación, con cada nueva actualización, Windows lanzará un nuevo controlador estándar de Windows en lugar de su controlador propietario, porque en la nueva versión de Windows el controlador tendrá una fecha más reciente. Deberá devolver manualmente los controladores normales cada vez.
Para evitar tal conflicto, se tomó una decisión simple y efectiva.
A todos los controladores en todas las versiones de Windows se les asigna una fecha estándar que coincide con la fecha de lanzamiento de Vista RTM . Esta fecha fija es independiente de la versión del controlador o de la fecha real de creación del archivo. Al mismo tiempo, se actualiza el número de versión del controlador: este es el siguiente factor que se tiene en cuenta al elegir un controlador después de la fecha de creación del archivo.
Por defecto, el sistema PnP siempre seleccionará controladores de dispositivos especializados y propietarios si están presentes. Si no lo están, se instalará el controlador integrado de Microsoft y es el controlador de la última versión del sistema operativo. Tendrá el número de versión más alto, aunque la fecha es la misma que la de los controladores de Microsoft anteriores.
Con las versiones más recientes de Windows, solo los controladores no anteriores a Vista son compatibles. Los controladores de Windows XP de terceros generalmente no son compatibles con ellos, por lo que no hay problemas con los conflictos de fechas.
Por lo tanto, el sistema PnP funciona sin problemas, aunque la situación parece un poco ridícula. Hasta ahora, todos los controladores están instalados con la fecha 21/06/2006, por lo que continuará. El desarrollador antes mencionado Zack de Microsoft dijo: "Este es un gran ejemplo de lo que a primera vista parece tonto e insignificante, pero en realidad tiene un propósito profundo y sólido".
Como dice la sabiduría popular: "Si algo es estúpido, pero funciona, entonces no es estúpido" (o sigue siendo estúpido, pero tuvimos suerte).
Tal mecanismo de trabajo difícilmente puede llamarse programación perfectamente competente, porque la fecha del archivo es un atributo no destinado a comparar controladores. Pero el sistema funciona de facto, entonces, ¿por qué no? ¿Y cómo más resolver el problema con la actualización correcta del controlador? Si tiene alguna idea sobre este tema, los programadores de Microsoft no encontraron una opción más simple y confiable. Quién sabe, tal vez no pensaron mucho en el problema, y fijar la fecha fue para siempre el primer pensamiento que se implementó de inmediato. Tal vez el problema fue resuelto por tal "solución" por los desarrolladores que no tenían la autoridad para implementar un sistema más competente, por ejemplo, verificando el editor del controlador (si el editor es Microsoft, otorgue al controlador la prioridad más baja).
Es malo que este mecanismo de operación PnP haya seguido siendo una función más de Windows indocumentada durante muchos años, y esta es una de las principales razones por las que este sistema operativo de código cerrado es criticado porque tiene demasiadas características indocumentadas que no conocemos.
Tal mecanismo para conciliar fechas puede funcionar aún más si las nuevas versiones de Windows ven la luz. Solo necesita asegurarse de que los controladores no indiquen accidentalmente una fecha anterior al 21/06/2006, porque en este caso Windows rodará constantemente su controlador de uso general en lugar del controlador de marca, independientemente de la versión. En todo caso, en Windows 10 existe la oportunidad de
deshabilitar temporalmente las actualizaciones de controladores para Windows Update.