Por @Wicho — 14 de Enero de 2009

Esta página salió en la edición del domingo pasado de La Voz de Galicia, diario en el que nos han fichado como colaboradores para publicar una página sobre tecnología, ordenadores, Internet y esas cosas en la sección de Sociedad.

La Voz de Galicia 12 de enero de 2008Los programas de nuestra vida,
La Voz de Galicia 11 de enero de 2009.

Tenemos una enorme dependencia del «software», presente en casi todos los aspectos de una sociedad moderna

El pasado 31 de diciembre los usuarios de reproductores de música Zune de 30 GB de Microsoft se llevaron la desagradable sorpresa de que estos dispositivos comenzaron a reiniciarse espontáneamente y a quedarse colgados durante el arranque, dejándolos inservibles.

Microsoft reaccionó rápidamente y en pocas horas hacía pública una sencilla solución, que consistía en dejar que las baterías de los reproductores afectados se descargaran y volver a cargarlos a partir de las doce del mediodía del 1 de enero, en horario GMT, para que volvieran a funcionar.

El culpable del problema fue un fallo en la programación del firmware de los Zune que hacía que una rutina que calcula la fecha se quedara en un bucle infinito del que no podía salir al encontrarse con un año bisiesto, y es un fallo que se les había escapado a todos los implicados en el desarrollo y prueba de estos dispositivos.

Obviamente, es de suponer que antes del 31 de diciembre del 2012, el próximo año bisiesto, Microsoft habrá actualizado el firmware de los Zune.

Fallos de programación
Este problema con los Zune no ha sido el primero ni será el último que provoque un fallo de programación. En realidad, todos los días se producen en todo el mundo millones de situaciones en las que se cuelga un ordenador por culpa de un fallo de programación, y los usuarios por lo general nos limitamos a maldecir más o menos floridamente según la cantidad de trabajo perdido, reiniciar y seguir adelante.

A veces los fallos de programación suponen mayores molestias, como, por ejemplo, el 15 de enero de 1990, cuando una actualización de software de los ordenadores que gestionaban las llamadas de larga distancia de AT&T, en Estados Unidos, dejó sin servicio durante unas nueve horas a unos 60.000 abonados, algo muy similar a lo que le sucedió el 20 de enero del 2003 a Vodafone en España, cuando otra actualización fallida dejó a sus entonces 8,6 millones de abonados sin servicio durante unas siete horas.

Vidas en juego
Pero lamentablemente ha habido ocasiones en los que estos fallos han causado muertes, como, por ejemplo, en el caso de las máquinas de radioterapia Therac 25, que sustituyeron las protecciones mecánicas contra fallos de modelos anteriores por protecciones mediante software que se suponía que eran más fiables.

El problema estuvo que esas nuevas protecciones fallaban en determinadas condiciones y hacían que, en esos casos, los pacientes recibieran dosis de radiación hasta cien veces superiores a las prescritas, lo que causó la muerte de tres de los seis pacientes que recibieron estas sobredosis hasta que el problema fue identificado.

También fue un problema de software, aunque en este caso quizá se podría hablar más de un error en su diseño que de un error de programación, el que hizo que el 25 de febrero de 1991 una batería de misiles Patriot no detectara un misil Scud disparado por Irak durante la Guerra del Golfo, lo que costó la vida a 28 personas y causó heridas de diversa consideración a otras 97.

Cuestión de diseño
Otro problema con el diseño de software fue el del conocido efecto 2000, en el que debido a la costumbre de los programadores de utilizar solo dos dígitos para representar el año y asumir que los dos primeros eran 1 y 9 hubo que revisar y reescribir millones de líneas de código en todo el mundo para evitar que el 1 de enero del 2000 se produjeran fallos al considerar estos programas que en realidad se trataba del 1 de enero de 1900.

En el futuro puede haber un problema similar con los programas que corran en sistemas basados en Unix de 32 bits, ya que, por la forma en la que calculan la fecha, el 19 de enero de 2038 a las 3.14.08 UTC se producirá una vuelta atrás similar a la del efecto 2000 y los sistemas no revisados pensarán que están en diciembre de 1901.

Los ejemplos son infinitos porque el software forma parte de nuestras vidas sin que seamos conscientes, pues está presente prácticamente en todo: ordenadores, naves espaciales, microondas, robots de cocina como el Thermomix, teléfonos móviles, aviones...

Compartir en Flipboard Publicar / Tuitear