
ARTDEPARTMENT

En 2009, inmediatamente posteriormente del dispersión de Windows 7, algunos usuarios comenzaron a notar un comportamiento peculiar durante el proceso de inicio de sesión...
...si habían configurado un color sólido como fondo de escritorio en división de una imagen, el sistema mostraba la pantalla de bienvenida durante medio minuto extra antaño de proceder cargar el escritorio, incluso en equipos potentes que no deberían favor tenido ningún problema de rendimiento.
Un comportamiento, sin duda, inusual y que cabreó harto a los usuarios hasta que finalmente fue solventado por Microsoft. Pero... ¿qué lo causaba?
Raymond Chen, ingeniero de las antiguas versiones de Windows, lo explica en su blog... no sin antaño dejar claro que él, "personalmente" usa "un fondo de color sólido", el histórico verde azulado que "fue el valía predeterminado en Windows 95".
En su artículo, Chen detalla que el medio minuto de tardanza se manifestaba exclusivamente bajo ciertas condiciones:
'Sgroogled.com': cuando MICROSOFT lanzaba anuncios ANTI-GOOGLE
Cuando un favorecido inicia sesión, Windows no solo verifica sus credenciales, sino que asimismo debe preparar todo el entorno descriptivo: mostrador de tareas, iconos, servicios, fondo de escritorio, entre otros. Una vez que todos estos componentes informan que están listos, Windows procede a dejarse llevar la pantalla de bienvenida y mostrar el escritorio.
El problema surgía cuando uno (o dos) de estos componentes no envíaba su "señal de preparado". En ese caso, el sistema esperaba un mayor de 30 segundos antaño de continuar de todos modos.
En versiones iniciales de Windows 7, el código responsable de establecer el fondo de escritorio estaba diseñado así:
InitializeWallpaper() {
if (wallpaper bitmap defined) {
LoadWallpaperBitmap();
}
}
Y luego:
LoadWallpaperBitmap() {
locate the bitmap on disk;
load it into memory;
paint it on screen;
Report(WallpaperReady);
}
El problema: tal y como estaba escrito (vinculando la señal de 'WallpaperReady' con el proceso 'LoadWallpaperBitmap'), si no había un archivo de imagen (bitmap) definido (como es el caso cuando se usa un color sólido), el paso 'Report(WallpaperReady)' nunca se ejecutaba. Como resultado, el sistema seguía esperando una señal que en la vida llegaría.

Un segundo problema muy similar se daba cuando se habilitaban políticas como "Ocultar todos los iconos del escritorio". Como en el caso precursor, el inicio de Windows tenía un mecanismo que esperaba una señal de 'estoy inteligente, ya puedes seguir cargando' por parte del componente encargado de cargar los iconos.
Pero al poner la señal 'Report(DesktopIconsReady)' adentro de un liga condicional 'if (desktop icons allowed by policy)', dicha señal nunca llegaba a darse y, como resultado, el sistema seguía esperando una confirmación que nunca llegaba... lo que se traducía en otra calma innecesaria de 30 segundos.
Microsoft abordó el problema mediante una aggiornamento publicada en noviembre de 2009. Esta posibilidad corregía el error en el código para que enviara correctamente la señal de preparación incluso cuando se usaba un color sólido como fondo. Hasta ese momento, los usuarios podían aplicar dos soluciones provisionales:
Al final, lo que parecían ser meros detalles estéticos —usar un fondo de color sólido, u ocultar los iconos del Escritorio— resultaron ser decisiones con un impacto importante en el rendimiento de inicio de Windows 7.
Este incidente resalta una aleccionamiento fundamental en el ampliación de software: el manejo de excepciones y casos atípicos no debe ser una ocurrencia tardía. En este caso, las presuposiciones de los programadores sobre el uso de configuraciones poco convencionales se tradujo en un error de dialéctica por parte del sistema operante.
Imagen | Marcos Merino mediante IA
En 3DJuegosPC | Esta es la historia de Windows, desde 1985 hasta W11. Cómo el sistema operativo de Microsoft ha evolucionado con los años
Compartir este artículo
Consultoria Personalizada
¡Si aun no tienes presencia en internet o
necesitas ayuda con tus proyectos, por favor, escribenos!