Confidencial de Windows: Unos alienígenas se comieron mi software

Cuando alienígenas del espacio retienen el lanzamiento de un producto y otras respuestas creativas por qué se retrasa un producto.

Raymond Chen

Uno de mis colegas que solía trabajar para una empresa que fabrica dispositivos de hardware. Me dijo que el lanzamiento de un producto muy esperado una vez fue sostenido por un error en su parte del controlador del dispositivo. Parece haber algún tipo de condición de carrera que resultó en daños en la memoria. Cosas malas ocurren cuando tienes corrupción de memoria en un controlador de dispositivo.

El desarrollador anterior por parte del conductor fue amable lo suficiente como para dejar un comentario enigmático en el código: "Y luego vienen los extraterrestres". Directivo naturalmente preocupa este uno fallo que estaba retrasando el lanzamiento de su producto. No parece demasiado preocupados por los extraterrestres, solo el hecho de que ellos estaban recibiendo en el camino de la liberación del producto.

Como los directivos no eran los que haciendo el bug investigando, hicieron más altos directivos cuando necesitan algo — mantuvieron escuchas la persona realmente depurar el código. Después de todo, todo el mundo sabe que los desarrolladores depuración problemas más rápido si les importunar para informes de Estado y esconden deliberadamente fuera de su oficina.

En algún momento, los directivos decidieron buscar soluciones creativas al problema en lugar de pedigüeño el pobre desarrollador que estaba intentando conseguir una manija en el fallo de corrupción de memoria esquiva. Encontraron uno.

Su "solución" fue la rampa hasta la fabricación, a pesar de la ausencia de un controlador totalmente depurado. Las fábricas en el extranjero fueron instruidas para producir cuadros totalmente empaquetados con sus nuevos dispositivos, pero con una pequeña pega. Las cajas no incluyen un disquete con el controlador final (siendo este en los días cuando vinieron los controladores de dispositivo en disquetes). En cambio, hubo una pequeña ranura en la parte superior. Las cajas de productos terminados casi serían cargadas en buques y transporten a través del mar.

Tarda unas semanas para un buque de transporte cruzar el océano. La esperanza era que nuestro héroe el desarrollador depuración sería identificar y corregir el error, mientras que los dispositivos eran todavía en camino. Si todo funcionó, el disquete con el controlador actualizado sería había fabricado localmente, cargado en camiones y enviado a cumplir el barco llegó a la orilla.

Cuando los dispositivos fueron descargados desde el barco, los trabajadores serían abrir las cajas, inserte un disco en cada cuadro a través de la ranura en la parte superior, luego sellar las cajas hacia arriba y enviarlos a donde necesitan ir. Afortunadamente, nuestros desarrolladores de héroe identificar el error. Fue capaz de solucionarlo en el tiempo, y el resto del plan procedió sin demora.

Hardware interrumpido

Si tienes curiosidad acerca de la naturaleza del error real, aquí es lo que sucedió. Cuando se ejecuta el fragmento de código en cuestión, el dispositivo activa a veces una interrupción de hardware. El manejador de interrupción de hardware tenía un error que causó no restaurar los registros debidamente antes de devolver el control al código original. Desde el punto de vista del código interrumpido, de hecho era como si Extraterrestres habían llegado y dañado los registros de la CPU. Para que el desarrollador original no estaba lejos.

Me han dicho del fabricante de un equipo que se considera una vez sacar una versión más extrema de este truco cuando una nueva versión de Windows fue fecha de estreno. Con el fin de obtener sus equipos al mercado rápidamente, su plan era fabricarlos con una copia de una versión preliminar y cargarlos en buques.

En lugar de simplemente cumplir los buques llegaron a la orilla, su idea era interceptar cada buque de carga que cruzó el océano, al igual que en las películas de espionaje. Desplegaría un equipo de personas que abría cada caja de la computadora y actualizar el sistema operativo a la versión final de Windows allí en el barco.

No sé cuán seriamente consideraron este plan audaz, pero finalmente fue abandonado. Decidieron esperar hasta que la versión final fue lanzada antes de empacar los equipos en cajas. Sólo te da una idea de las longitudes que unos van a acelerar en llegar su producto a tiempo.

Raymond Chen

Raymond Chenidénticamente titulada libro (Addison-Wesley, 2007) y del sitio Web, la cosa nueva, ocuparse de la historia de Windows y la programación de Win32. No decirle a nadie, pero eres su lector favorito.

Contenido relacionado