(El primer error en la historia del software)
A las 3:45 pm del 9 de septiembre de 1947, Grace Murray Hopper escribió el primer error de la historia Computer Bug Una polilla encontrada en la computadora Harvard Mark 2. Ella escribió sobre la polilla en su diario y la describió como "el primer caso real en el que se descubre un error de este tipo". Este descubrimiento estableció el estatus de la palabra Bug en el mundo de la informática y la convirtió en una pesadilla para innumerables programadores. Desde entonces, la palabra error se ha utilizado en el mundo de la informática para referirse a errores u omisiones en los programas informáticos que pueden hacer que el programa calcule resultados inexplicables o incluso provocar que el programa se bloquee. Grace Murray Hopper fue una de las primeras programadoras de la historia y también fue una programadora. Sirvió en la Marina de los Estados Unidos desde oficial hasta comodoro.
Esta es la historia más popular sobre errores informáticos, pero la verdad histórica es que la palabra error se utilizaba ampliamente para referirse a fallos de funcionamiento de las máquinas ya en la época del inventor Thomas Edison, como el propio Edison señaló en 1870. También se puede ver en las notas de izquierda y derecha. El IEEE, el Instituto de Ingenieros Eléctricos y Electrónicos, también atribuye a Edison la introducción de la palabra error.
2. Millennium Bug, un carnaval de exageraciones.
(1999 fue un tema excelente para revistas y tabloides sensacionales)
En el siglo pasado, la industria del software nunca imaginó que su código y sus productos entrarían en el nuevo milenio. Por lo tanto, para ahorrar memoria, muchas empresas de software omiten los dos primeros dígitos "19" que representan el año, o de forma predeterminada los dos primeros dígitos son "19".
A medida que el calendario se acerca a 1999 65438 + 31 de febrero, la gente está cada vez más preocupada de que los sistemas informáticos de todos colapsen en la víspera del Año Nuevo del Milenio porque la fecha del sistema se actualizará a 1900 1 en lugar de 1 en 2000.
Hoy podemos bromear con esta divertida historia, porque el misil nuclear no se lanzó automáticamente, el avión no perdió el control y cayó del cielo, y el banco no perdió grandes sumas de depósitos del país. y sus usuarios.
El problema del año 2000 es real y se han gastado cientos de millones de dólares en todo el mundo para actualizar los sistemas. Además, se produjeron algunos accidentes menores:
En España, el parquímetro se rompió; en Francia, Méteo France anunció una previsión meteorológica de 001 para octubre de 1965438+65438; colapsó. Eso es todo. El resultado final fue que las empresas de software hicieron fortuna, las ventas de tabloides aumentaron significativamente, el Partido del Milenio de muchos programadores se arruinó y varias ancianas analfabetas en China fueron defraudadas en sus pensiones. Esto no es grave.
3. Incidente del misil de Dhahran, error de milisegundos.
En la primera Guerra del Golfo, en febrero de 1991, un misil Scud lanzado por Irak impactó con precisión la base estadounidense en Dhahran, Arabia Saudita, matando a 28 soldados estadounidenses en el lugar y más de 100 personas resultaron heridas, provocando la Estados Unidos perderá más de 100 bajas en la única Guerra del Golfo.
Una investigación posterior reveló que el sistema antimisiles Patriot de la base no pudo interceptar misiles Scud en el aire debido a un simple error informático. En ese momento, el sistema antimisiles Patriot encargado de proteger la base llevaba trabajando ininterrumpidamente 100 horas. Cada hora de trabajo, el reloj del sistema tendrá un ligero retraso de milisegundos, lo que es el origen de la tragedia de este fallo. El registro de reloj del sistema antimisiles Patriot está diseñado para ser de 24 bits, por lo que la precisión del tiempo está limitada a 24 bits. Después de trabajar durante mucho tiempo, este pequeño error de precisión se amplifica gradualmente. Después de trabajar durante 100 horas, el tiempo del sistema se retrasa un tercio de segundo.
Para la gente corriente, se pueden ignorar 0,33 segundos. Pero para un sistema de radar que necesita rastrear y destruir misiles aéreos, esto es catastrófico: la velocidad del aire del misil Hussein Scud alcanza Mach 4,2 (1,5 kilómetros/segundo), y estos "insignificantes" 0,33 segundos equivalen a 600. El error es unos metros. En el incidente del misil en Dhahran, el radar detectó el misil en el aire, pero debido a un error de reloj no pudo ser rastreado con precisión y el antimisil de la base no fue lanzado.
(Ilustración del incidente del misil de Dhahran)
4. ¿Metros o pies? Viaje interestelar del Mars Climate Explorer
El Mars Climate Explorer se lanzó en 1997 para estudiar el clima de Marte, pero no logró completar la misión, que costó más de 300 millones de dólares.
Después de varios meses en el espacio, Explorer finalmente se desintegró en la atmósfera marciana debido a un error de navegación. El equipo de control del rover envía comandos de navegación utilizando unidades imperiales, mientras que el sistema de software del rover lee comandos utilizando unidades métricas. Este error cambia significativamente la ruta de los controles de navegación. Finalmente, la sonda entró en una órbita baja de Marte (con un error de unos 100 km) y se desintegró bajo la excesiva presión atmosférica y la fricción de Marte.
(¿Metros o pies? ¡A 100 km!)
Vehículo de lanzamiento Ariane 5, copia simple y costosa
Los programadores deben definir qué se utiliza en las variables del programa y la memoria de la computadora requerida por estas variables, que están definidas por bits.
Las variables de 16 bits pueden representar valores entre -32,768 y 32,767. ¿Qué puede representar una variable de 64 bits? Un valor entre 9.223.372.036.854.775.808 y 9.223.372.036.854.775.807.
Después del primer lanzamiento del cohete portador Ariane-5 el 4 de junio de 1996, el cohete comenzó a desviarse de su rumbo y finalmente se vio obligado a detonar y autodestruirse. Todo el proceso sólo lleva 30 segundos. El vehículo de lanzamiento Ariane 5 se desarrolló sobre la base del cohete Ariane 4 de la generación anterior. En el sistema de cohetes No. 4, un valor de medición de velocidad horizontal utiliza una variable y memoria de 16 bits, porque se ha verificado repetidamente en el sistema de cohetes No. 4 que este valor no excederá una variable de 16 bits, y el desarrollo del cohete No. 5 El personal simplemente copió esta parte del programa sin verificar el valor del nuevo cohete, lo que resultó en un desbordamiento numérico fatal. Después del lanzamiento, esta variable de 64 bits con punto decimal se convirtió en una variable de 16 bits sin punto decimal, provocando una serie de errores, que afectaron a todos los ordenadores y hardware del cohete, paralizando todo el sistema, y hubo que elegir. para autodestruirse 400 millones de dólares se convirtió en unos enormes fuegos artificiales.
(400 millones de dólares por los fuegos artificiales de Ariane 5, producidos por un error de software)
Huevo de Pascua: Pantalla azul de la muerte de Windows 98 (Bill Gates y el público presenciaron juntos la Pantalla azul de la muerte).