|
|
|||||||||
| El Amiga Me Encanta ha conseguido el permiso por escrito de IDG Comunications España para ofrecer los artículos de la revista Amiga World España. |
| ¡GURUS FUERA! | ![]() |
Uno de los más exasperantes problemas a los que se enfrentan los usuarios de Amiga son los GURUs. Se trata de la forma que tiene el Amiga de expresar que algo "en su interior" va mal, que se ha producido un fallo grave del que no puede salir. Los GURUs se pueden producir por las más variadas causas, desde un fallo de programación hasta un fallo de hardware... ¡o pueden producirse sin razón! Pero hay una constante, y es que todos tienen el mismo fatídico resultado: se pierde el control del ordenador. Aunque los GURUs son algo espontáneo y, en cierto modo, impredecibles, existen muchas formas de disminuir su aparición, evitando así todos los problemas que ello acarrea. En este artículo encontrarás algunos consejos útiles para intentar evitarlos.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aunque no |
|---|
En el Amiga ha de tenerse muy en cuenta un concepto muy importante: los recursos. Se conocen como recursos ("resources" en inglés) todos aquellos elementos utilizables en la programación, como por ejemplo, la memoria libre, las pantallas, las librerías, las ventanas, los ficheros, los accesos a disco, etc. Es importante saber aprovechar todos los recursos desde los programas, tanto para realizar operaciones de escritura en memoria (como crear una ventana, dibujar una línea o imprimir un texto) como en las operaciones de lectura (leer el valor de una variable, o el contenido de un registro). De este modo, se asegura el correcto funcionamiento interno del programa, así como la compatibilidad con otras tareas que estén corriendo a la vez y con futuras versiones del sistema operativo del ordenador.
CONSEJOS GENERALES PARA EVITAR
|
Tal vez un ejemplo lo aclare mejor: supón que quieres leer la información del teclado. Si lo haces a base de POKEs y PEEKs, todo lo que consigues es información sobre las teclas que se han pulsado (por ejemplo, la tercera tecla de la segunda fila). Esto no sólo es muy incómodo, sino que además pierdes todo tipo de compatibilidad con usuarios que utilicen otro tipo de teclado, con eñes y caracteres por el estilo. Si tu programa utiliza funciones de las librerías, como RawKey(), no sólo será más estándar, sino que además te permitirá evitar GURUs a interferencias con otros programas. De hecho, el sistema de los POKEs no permitiría la utilización de la multitarea correctamente.
Además de los GURUs por fallos de programación hay una serie de cuelgues que son más "misteriosos" de lo normal. Son los que producen en cualquier momento (generalmente en el más inesperado) y sin razón aparente. Puede ser al cerrar o abrir una ventana, al seleccionar una opción de un menú o mientras el ordenador está realizando una serie de cálculos. Lo peor es que, con el paso del tiempo, se está comprobado que le suceden a TODO el mundo, y todavía no se ha encontrado una explicación satisfactoria sobre su origen.
Se supone (sólo se supone) que todo se debe a "sobrecargas" en algunas partes o zonas específicas del Amiga, como la memoria, la velocidad de proceso, el acceso a disco (sobre todo el disco RAM) o el abuso de la multitarea. Si estás trabajando con muchas ventanas abiertas, pasando iconos de una a otra, utilizando el disco RAM y haciendo operaciones similares, el GURU puede pasarse por ahí en cualquier momento. Esto no quiere decir que no deba hacerse, sino sólo que... no es conveniente.
En el cuadro tienes una pequeña serie de consejos, basados en la experimentación, para evitar que esto te suceda, o al menos para disminuir el número de veces que el GURU aparezca en tu pantalla.
Pese a todos estos consejos, es muy probable que sigas teniendo problemas con los GURUs. El mejor consejo preventivo que puedes utilizar lo conocen bien muchos usuarios: graba todos tus datos frecuentemente. Aunque pierdas unos segundos grabando cada cinco minutos, siempre será mejor que perder varias horas de trabajo por intentar ahorrarte los segundos que tardas en grabar.
El mejor |
|---|
Un simple aviso de GURU no serviría para nada si simplemente dijera "¡Eh, algo va mal aquí dentro!". La función principal del GURU es indicar dónde y por qué se ha producido el fallo. El Amiga comunica los GURUs haciendo aparecer una alerta roja en la que se indica la GURU MEDITATION ("Meditación GURU" o "número en el que tienen que pensar los maestros..." mediante dos números de ocho dígitos, como por ejemplo:
GURU MEDITATION:
8201000A.22A026CE
Generalmente este aviso viene precedido, en la mayoría de los casos por una ventana que aparece en el Workbench, en el que se indica lo siguiente:
Software Error. Task Held
|
|---|
Al seleccionar CANCEL, el piloto rojo de encendido parpadea, y a los pocos segundos aparece el GURU. Si no se selecciona CANCEL, sino RETRY, no sucede absolutamente nada. Si se ignora el aviso y se sigue trabajando, algunas veces (sólo algunas veces) se puede continuar con los programas que estén corriendo, para grabar la información antes del "cuelgue" que acecha al ordenador.
Junto con el GURU MEDITATION aparecen dos números. El primero contiene la información sobre el error y el segundo la dirección absoluta de memoria en la que se encontraba la tarea en el momento de detenerse (no tiene por qué ser exactamente la dirección en la que se ha producido el fallo). Este es el significado de estos dígitos:
GURU MEDITATION: 00 00 0000. 0000000 ID del Subsistema __| | | | Error General _____| | | Error Especifico _________| | Dirección de la Tarea _________________| |
Cada una de estas secciones de los números del GURU tiene unos códigos estándar asociados, que indican la fuente del error. Estos códigos son los siguientes:
| IDs de Subsistema | ||||
|---|---|---|---|---|
| Librerías | Otros | |||
| CPU | 00 | Arranque | 30 | |
| Exec | 01 | Workbench | 31 | |
| Gráficos | 02 | DiskCopy | 32 | |
| Layers | 03 | |||
| Intuition | 04 | Errores Generales | ||
| Matemático | 05 | No aplicable | 00 | |
| Lista Copper | 06 | Memoria insuficiente | 01 | |
| DOS | 07 | Error en MakeLibrary | 02 | |
| RAM | 08 | Error en OpenLibrary | 03 | |
| Iconos | 09 | Error en OpenResource | 05 | |
| Expansión | 0A | Error de Entrada/Salida | 06 | |
| Sin Señal | 07 | |||
| Periféricos | ||||
| Sonido | 10 | Errores Específicos | ||
| Consola | 11 | (Por cuestiones de espacio no podemos publicar todos los errores específicos; éstos son los dígitos de los importantes.) | ||
| Port Juegos | 12 | EXEC.LIBRARY | 8100xxxx | |
| Teclado | 13 | GRAPHICS.LIBRARY | 8201xxxx | |
| Trackdisk | 14 | LAYERS.LIBRARY | 8301xxxx | |
| Temporizador | 15 | INTUITION.LIBRARY | 8400xxxx 8401xxxx 0400xxxx |
|
| Recursos | ||||
| CIA | 20 | |||
| Disco | 21 | |||
| Varios | 22 | |||
Si el primer dígito del GURU es mayor de 3, entonces el error es del tipo no-recuperable, y a continuación se producirá un RESET. Casi todos los GURUs son de este tipo. En estos casos se debe restar 8 a ese primer dígito para obtener el valor correcto del ID del subsistema.
|
En el caso del ejemplo, el significado del GURU 820100A.22a026CE sería el siguiente: 82, de un error no recuperable, Por ser el primer dígito mayor de 3 hay que restarle 8 al primer dígito, y queda 02, que indica que el error se ha producido en la librería de gráficos. Los siguientes dígitos son 01, el código de error general, que indica un fallo por memoria insuficiente. Los últimos cuatro dígitos del primer número indican el error especifico, en este caso, 000A que es "no hay memoria suficiente para el bitmap del blitter".
El ejemplo, en palabras más profanas, significa que el Amiga se ha quedado sin memoria para visualizar una pantalla y, en consecuencia, la librería de gráficos ha producido un error grave que se ha convertido en GURU.
Aunque el número del GURU indica, aproximadamente, qué ha sucedido, realmente no suele servir para mucho, excepto para los programadores que cuelgan muy a menudo sus programas y quieren saber las razones.
Esta es la pregunta que seguramente se estarán haciendo muchos usuarios de Amiga. ¿Por qué los GURUs? ¿Por qué un ordenador tan avanzado como el Amiga falla tan inexplicablemente? ¿Por que no está bien diseñado? Esta pregunta habría que hacérsela a los Grandes Maestros de Commodore, que fueron quienes diseñaron el Amiga y su sistema operativo, pero es muy probable que ni siqueira ellos lo sepan. Las excusas se encaminan siempre a posibles "bugs" del sistema (debido a su complejidad) o a los programas que se utilizan, incluidos comerciales, también con "bugs".
Lo cierto es que estos problemas sólo surgen en ordenadores complejos como el Amiga. El C-64, por ejemplo, raramente se cuelga "porque sí", a menos que tenga problemas de sobrecalentamiento o un programa que especificamente esté mal y le lleve a un bucle sin fin o algo parecido. Del mismo modo, otros ordenadores igual de avanzados, como el Macintosh, el Atari ST y similares tienen su propia forma de dar GURUs, aunque, para los que no trabajan diariamente con ellos, no se haga evidente.
Es posible que dentro de un tiempo los Amigas sean más fiables, que los GURUs sean una curiosidad "de museo" y que trabajar con ellos sea como caminar sobre un suelo alfombrado con rosas. Pero mientras tanto... ¡cuidado, el GURU está al acecho!
GOMF: EL PROTECTOR
|
| Envía esta página web a un amigo: Esta opción está desactivada temporalmente, rogamos disculpen las molestias |
|