Informática
Efecto 2000
EL EFECTO 2000
El efecto 2000 es, sin duda uno de los fenómenos más fascinantes de las últimas décadas. Pese a que su origen se remonta a principios de los años sesenta, habría bastado un comportamiento mínimamente profesional por parte de la industria informática y electrónica, o de los propios gobiernas, para que el problema hubiese estado resuelto a finales de los ochenta. El Efecto 2999 es, en buena parte, fruto de las debilidades del ser humano: la pereza, la desidia o la ignorancia. Sus consecuencias serán sufridas por aquellas personas o países que no disponen del único bálsamo capaz de superar todas las desgracias: el dinero.
Gracias a las campañas que han sucedido durante los últimos meses en nuestro país, todo el mundo sabe que el Efecto 2000 es un problema derivado del uso de tan sólo des dígitos para representar el año, en sistemas informáticos y electrónicos. El mayor inconveniente para superarlo es que, en contra de lo que se supone, no afecta sólo a las grandes empresas que disponen de programas o de base de datos muy antiguos. El Efecto 2000 también está presente en los ordenadores domésticos, incluso en los equipos adquiridos hace apenas unos meses. Según diversos estudios, el 93% de los ordenadores vendidos antes del 1996, y el 11% de los comercializados en el año 1998, no superan las pruebas del cambio de siglo.
Otra creencia falsa es la que asocia el problema únicamente con el tamaño de la fecha, cuando también presenta un efecto colateral igual de peligroso: el año 2000 será un año bisiesto, pero no porque es divisible por cuatro, sino porque cumple una regla adicional aplicable sólo una vez cada cuatrocientos años, y que no todos los programas que utilizan fechas emplean. Si a ello unimos la “casualidad” de que el día 1 de enero es sábado -muchos errores en sistemas que trabajan de forma automática las 24 horas del día no podrán descubrirse hasta el lunes, cuando puede que ya sea demasiado tarde-, es fácil deducir que estamos ante un fenómeno al que todo el mundo debe prestar atención, pues si sus consecuencias en el ámbito empresarial pueden ser terribles -cancelaciones de pedidos, caducidad de seguros, retraso en el cobro de sueldos y pensiones, anulaciones de vuelos, etc.-, no serán menos molestas para el usuario doméstico. Un ordenador que no reconozca correctamente el año 2000 estará incapacitado para mandar un correo electrónico, acceder a la página de su banco, realizar tablas o gráficas que utilicen comparación de fechas, emplear bases de datos y hojas de cálculo, etc. Además, caducarán todos los programas con licencias temporales.
Pese a todo, los numerosos inconvenientes no deben dar lugar a situaciones catastróficas. Aunque diversas profecías se empeñen en afirmar lo contrario, el 1 de enero no va a suponer el fin del mundo. Los organismos encargados de gentionar los sectores críticos, como el agua, la luz y el teléfono, los sueldos o los hospitales, ya hace meses que han solucionado el problema. Según el estudio Millenium Indez, realizado por Cap Gemini, el gasto del Efecto 2000 en España se acerca a los 1`6 billones de pesetas.
A lo largo de este artículo se plantean las soluciones generales para resolver el problema del cambio de siglo. Sin embargo, la saturación de información es tan grande, que es imposible abarcar todos los campos. Existen cientos de programas, técnicas y planes de actuación para enfrentarse a cualquier situación. El lector interesado en conocer con detalle el problema, debe visitar las páginas Web que se citan en uno de los recuadros adjuntos, donde se pone a su disposición, literalmente, decenas de miles de páginas de texto relacionadas con el llamados “Bug del Milenio”.
EL PRECIO DE LA MEMORIA
Se ha comentado ya en la introducción, que el Efecto 2000 es un problema derivado del uso de dos dígitos para almacenar fechas. El año 1999, por ejemplo, se codifica como 99. Este método de trabajo se puso en práctica a principios de los años sesenta. Los ordenadores de aquella época disponían de una cantidad de memoria muy limitada, APENAS UNOS Kilobytes, por lo que intentaban reducir al máximo el tamaño de los números, y el año era propicio para ello. Además, incorporar unos pocos Kb a esos sistemas costaba varios millones de pesetas, tanto en memoria de proceso como de almacenamiento -cintas, tarjetas perforadas, disquetes-, por lo que el uso de dos dígitos se convirtió en una costumbre. Los informáticos de la época conocían perfectamente la caducidad del método en el 2000 pero nadie podía imaginar que sus programas o técnicas de trabajo iban a mantenerse durante los próximos 40 años.
¿Cuál es la razón para que, varias décadas después, los dos dígitos se sigan manteniendo?
En primer lugar, el uso de programas antiguos. Muchas empresas o gobiernos, especialmente en países pobres, no disponen de dinero para renovar sus equipos, y aún trabajan con ordenadores con más de veinte años de antigüedad.
La vagancia o el pragmatismo de muchos programadores también ha sido un factor importante. Desarrollar subrutinas y programas cuesta mucho tiempo y dinero, por lo que es una práctica común en el gremio, especialmente si se trata de tareas básicas, utilizar porciones de código ya escrito que se incorpora directamente a los programas nuevos. Eso es lo que ocurre con el tratamiento de fechas.
Las actualizaciones de los programas también contribuyen a ello. Casi todas las aplicaciones parten de una primera versión, y después ofrecen una actualización cada pocos meses, cuyo código interno mantiene las características del primer programa. Los sistemas operativos MS-DOS y Windows, por ejemplo, llevan en el mercado más de diez años y lo mismo ocurre con algunos procesadores de textos, bases de datos, etc., de prestigio mundial. En muchos casos, la gestión de las fechas no se ha cambiado.
Finalmente, también de considerarse la compatibilidad y la comodidad. Muchas empresas y gobiernos disponen de datos, como el censo de población o de clientes, recopilados hace décadas. Cuando adquieren un programa nuevo, mantienen el uso de los dos dígitos para poder utilizar dichos datos con él, y así se ahorran la conversión de los mismos. De igual forma ocurre cuando una multinacional informatiza su base de datos de clientes o trabajadores, compuestas por miles de persones: teclear los años con dos dígitos ahorra muchas horas frente al teclado.
Observando esta recopilación de errores se puede concluir que casi todos los programas creados en los últimos 30 años utilizan el sistema de dos dígitos. A la hora de calcular la edad de una persona, basta con comparar su fecha de nacimiento con el año actual. En el censo de una persona nacida en 1970, es muy posible que exista un campo que almacene los dígitos “70”. El programa de cálculo realiza una simple resta 99-70, y ofrece la edad de la persona: 29 años.
Este sistema funciona bien con las fechas de este siglo. Pero, ¿qué ocurre si el mismo cálculo se realiza en el año 2000? El ordenador codifica el año 2000 como “00”. Al efectuar la resta correspondiente a 00-70, obtiene el numero negativo -70, que interpreta como un error. Si el programa está bien codificado, notificará este error al usuario, pero lo más seguro es que, o bien se bloquee o siga funcionando sin que se preocupe por el resultado -un error gravísimo se trata de calcular pensiones o la caducidad de ciertos productos, por ejemplo-.
La adopción de “00” no solo produce fallos en la comparación de fechas; muchos sistemas asumen el valor 0 o 99 como imposible, por lo que se niegan a trabajar con él. Igualmente, ciertos números tienen significados especiales para algunos sistemas operativos y lenguajes, como “nunca borrar esta” o “este es un valor de prueba”. Entre ellos se encuentran las fechas 9/9/99, 1/1/11, 6/9/69, 6/6/66, 7/7/77, etc.
Por desgracia, los problemas no terminan aquí. Otro error asociado al año 2000 está relacionado con el calculo de los años bisiestos. Casi todo el mundo, incluido muchos programadores, piensa que todo año divisible por cuatro es bisiesto. Sin embargo, el calendario gregoriano, vigente en la cultura occidental, fija no una, sino tres reglas de cálculo de bisiestos:
*Regla 1: Si el año sólo es divisible por cuatro, es bisiesto.
*Regla 2: Si el año es divisible por cuatro y por cien, entonces no es bisiesto.
*Regla 3: Si el año es divisible por cuatro y por cien y por cuatrocientos, entonces es bisiesto.
Si se aplica la Regla 1, el año 2000 es bisiesto y si se aplica la Regla 3, la que predomina sobre las demás, es bisiesto. Esta última excepción solo ocurre una vez cada 400 años, precisamente, en el año 2000. El problema radica en que muchos programas sólo aplican las dos primeras reglas para el cálculo de bisiestos, por lo que deducen que el año 2000 no es bisiesto y, por tanto, producirán un error el día 29 de febrero, o cuando supongan que el 2000 tiene 365 días, frente a los 366 días reales. A ningún trabajador le gustará encontrarse, a finales de febrero, con un día menos de paga.
CHIPS EMPOTRADOS
En el mundo existen varios cientos de millones de ordenadores. Pero, se calcula que hay más de 7000 millones de chips que trabajan con fechas y, por tanto, también pueden sufrir el “bug” del milenio. Estos chips se llaman empotrados o encapsulados porque suelen soldarse al electrodoméstico o sistema mecánico. Casi todos los aparatos domésticos incluyen un chip de este tipo: los relojes, el vídeo, el fax, los teléfonos móviles, los coches, los contadores del agua y la luz, sistemas de alarma, etc. Otros muchos, aparentemente no relacionados, como los ascensores o el sistema antiincendios, también pueden verse afectado. Muchas máquinas tienen sistemas de seguridad que guardan la fecha de la ultima revisión, y se desactivan si dicha revisión no se efectúa en el plazo previsto. En el caso de que los chips empotrados no estén preparados para trabajar en el año 2000, es muy probable que el 1 de enero, los ascensores dejen de funcionar, el coche active alguna de las alarmas o el vídeo se niegue a grabar la película del próximo fin de semana.
El remedio es complicado, pues estos chips suelen estar soldados a la placa principal y es necesario sustituir el electrodoméstico completo. Antes de que acabe el año, conviene hacer una lista de todos los dispositivos caseros que utilicen fechas y, si es posible, programarlos en una fecha posterior al año 2000, para comprobar que funcionan correctamente. Si alguno falla, hay que ponerse en contacto con el fabricante para exigir un arreglo o, en caso de que aún esté en garantía, la sustitución completa del mismo.
Si se es responsable de una comunidad de vecinos o del mantenimiento de una empresa, también hay que revisar los ascensores, las alarmas, los sistemas de iluminación, riego, y demás mecanismos equivalentes.
EL ORDENADOR DE CASA
Dentro del ámbito informático, el Efecto 2000 se ha convertido en una verdadera pesadilla para la mediana o gran empresa. Este sector dispone de miles de ordenadores conectados en red y datos asociados que deben intercambiarse con otras empresas, por lo que son necesarios planes de actuación que superan el ámbito de este informe. En cualquier caso, se incluye un recuadro que aporta algunos consejos en este sentido.
Los usuarios domésticos y la pequeña empresa pueden enfrentarse al problema de forma personalizada, realizando las acciones necesarias en cada ordenador, para adaptarlo al cambio de siglo.
Las fechas se gestionan en tres lugares independientes: el hardware de ordenador, que recoge los años a través del reloj de la BIOS: el sistema operativo que la ofrece a las aplicaciones: y los programas individuales, capaces de aceptar fechas correctas para después utilizarlas de forma errónea, si no están preparados.
LA BIOS DEL ORDENADOR
Los equipos informáticos controlan el tiempo a través del RTC, es decir, el Reloj en Tiempo Real. Mantiene la fecha y la hora de forma permanente gracias a una pila situada en la placa base. Puesto que la compatibilidad es un tema prioritario en todos los ordenadores, el reloj sigue utilizando el mismo mecanismo empleado en los rimeros equipos de IBM, a principios de los ochenta, que usaban el chip Motorola MC146818 de 8 Bits para almacenar la fecha. Esto obligaba a codificar el año con dos dígitos.
Las primeras dos cifras del año las asigna la memoria no volátil o CMOS, y se guarda en distintas direcciones, 32h o 37h, según los modelos. Este valor, hasta 1996, era permanente: 19. El ordenador lee la fecha del RTC, por ejemplo, 99, y añade el prefijo 19 suministrado por la CMOS, es decir, 1999. Es fácil darse cuenta de que, en el año 2000, un equipo que utilice este sistema creerá que está funcionando en el año 1900, o en el primer año que reconoce, normalmente 1980 o 1984.
Cuando se enciende el ordenador, la BIOS, un chip donde se almacena la ROM, lee la fecha suministrada por el RTC y la CMOS, y se la ofrece al sistema operativo.
A partir de 1997 algunas BIOS reconocen la centuria correctamente, y otras lo hacen cuando el usuario fija manualmente la fecha 1 de enero del 2000.
Aquí reside el primero de los errores derivados del Efecto 2000.
Para comprobar el correcto comportamiento de la BIOS del ordenador, pueden realizarse algunas pruebas manuales. Hay que comprobar si el ordenador es capaz de cambiar de siglo y, lo que sé más importante, si puedo mantener la fecha a partir del 1 de enero.
Basta con acceder al reloj del ordenador -en MS-DOS, mediante las ordenes TIME y DATE, y en Windows, a través del Panel de Control-, y realizar las siguientes pruebas oportunas:
*Prueba 1: Activar la fecha 31-12-99, hora 23:58. Esperar y comprobar si el ordenador cambia de siglo de manera correcta.
*Prueba 2: Activar la fecha 31-12-99, hora 23:58. Apagar el ordenador, esperar al cambio de año, y volver a encenderlo. Comprobar si se ha producido el cambio de siglo.
*Prueba 3: Activar cualquier día y hora dentro del año 2000. Apagar el ordenador, esperar unos minutos, volver a encenderlo, y comprobar si el tiempo se contabiliza correctamente.
Estas pruebas pueden producir resultados diferentes, que exigen soluciones distintas.
*Resultado 1: La fecha es correcta en todos los casos. El hardware del ordenador supera sin problemas el Efecto 2000. Esto ocurre con todos los equipos adquiridos este año 1999.
*Resultado 2: No supera ninguna prueba, es decir, no cambia correctamente de año, ni reconoce el resto de días a partir del 2000. Casi con toda seguridad, la BIOS solo puede actualizarse mediante una solución hardware.
*Resultado 3: No supera la Prueba 1 o 2, pero supera la 3. La BIOS no cambia correctamente de año, aunque funciona bien a partir de 1 de enero. Basta con poner la fecha correcta cuando llegue el día 1 y, a partir de ese momento, todo irá bien.
*Resultado 4: Supera correctamente las pruebas 1 y 2, pero no supera la 3; o bien no supera la prueba 1, pero el año erróneo siempre es el mismo, por ejemplo, 1900 o 1984. Se puede arreglar con una solución hardware o software.
Estas pruebas también pueden llevarse a cabo con unos programas gratuitos que realizan los chequeos sin necesidad de reiniciar el ordenador o esperar los minutos necesarios. Como puede ser el “YMARK2000”, el “TEST2000”, el “ami2000, etc...
SOLUCIONES HARDWARE
Son las más recomendables, pues aseguran la completa solución del Efecto 2000 pero, a excepción de la primera, cuestan dinero.
Actualización de la BIOS.
Consiste en descargar un pequeño programa gratuito de la pagina Web del fabricante y ejecutarlo en el ordenador. Este parche actualiza de forma automática la BIOS, para que funcione sin problemas en el año 2000. Aunque, por definición, es una solución software, se ha incluido aquí porque actúa sobre el hardware -la BIOS- del ordenador. De esta forma, para actualizar la BIOS, es necesario buscar en el manual de la placa base la marca y modelo, y descargar de Internet el parche adecuado, Esta información también aparece en la parte inferior de la pantalla, la encender el ordenador, o en el chip, si se abre el mismo. En último caso, siempre se puede consultar en la tienda donde se adquirió.
Esta es la solución perfecta, pero ocurre que muchas BIOS no se pueden actualizar. Si ese es el caso, entonces será necesario recurrir a otra solución diferente.
Sustitución de la BIOS o la PLACA BASE.
Si la BIOS no puede actualizarse, entonces hay que cambiarla. Puesto que muchas placas base sólo funcionan con una BIOS, será necesario sustituir toda la placa base. Se trata de una solución cara, pero prepara el ordenador para futuras ampliaciones por parte del usuario.
Utilización de una Tarjeta Especializada.
Cuando no se puede actualizar la BIOS, y no se quiere cambiar la placa base, una solución intermedia es adquirir una tarjeta que incorpora su propio reloj. Elimina el problema a un precio reducido, y sin necesidad de cambiar nada. Presenta el inconveniente de que consumen una dirección de Entrada/Salida y un slot ISA, necesario para una tarjeta de sonido antigua o una placa SCSI, por ejemplo.
Solución software.
También es posible utilizar un pequeño programa residente en memoria. Se carga en el fichero AUTOEXEC.BAT, antes del sistema operativo, y convierte la fecha errónea de la BIOS al formato correcto para ofrecérsela a los programas. Tiene la ventaja de que muchas de estas utilidades son gratuitas o cuestan poco dinero. Sin embargo, al tratarse de un programa consume memoria y puede ser borrado accidentalmente o corrompido por un virus. Hay decenas de ellos, por lo que conviene probar varios y decidirse por el que funcione correctamente.
El sistema Operativo.
Arreglar la BIOS no es una garantía de que todo funcione bien en el año 2000. Puede que el ordenador suministre la fecha correcta al sistema operativo, pero si éste no la sabe interpretar, el problema no se ha erradicado. A partir del año 1995, estos programas toman los años de la BIOS y la centuria lo añaden ellos, por lo que todas las funciones criticas superan el Efecto 2000, con algunas excepciones, por supuesto.
El Software.
El último elemento a considerar son los programas instalados en el ordenador. Basta con adelantar la fecha al año 2000 y comprobar si funcionan, pero hay que tener cuidado cuando se trabaja con datos importantes, pues pueden perderse. La mejor solución consiste en consultar la documentación de los mismos o visitar la página Web del fabricante en cuestión.
Si el programa no supera el Efecto 2000 y ha sido creado por una compañía seria, seguramente ya existe un parche que se puede instalar para arreglar el problema. En la página Web de EDS, en la dirección www.vendor2000.com, hay una base de datos de 5.000 compañías y más de 160.000 programas donde se informa si superan el Efecto 2000, y se ofrece el parche correspondiente. Se actualiza diariamente.
También deben actualizarse los programas caseros, o los realizados por encargo. Se necesitan conocimientos de programación para analizar el código fuente y descubrir los bucles donde se procesan las fechas.
Descargar
Enviado por: | Rafael Gismero |
Idioma: | castellano |
País: | España |