Volver menú revistas Volver página anterior

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.

N° 40 - Febrero 1993
Amiga World

EXPLORACION DEL AMIGADOS 2.0


Por Sheldon Leemon

Una serie que explora la versión 2.0 del DOS de Amiga.
Esta, nuestra primera entrega, investiga cosas que debe saber
antes de modificar su startup-sequence del AmigaDOS

NOTA: Las fotos con recuadro en azul pueden ser ampliadas para ver detalles. Situando el ratón encima de la foto durante unos instantes, podrás ver una pequeña descripción y lo que ocupa la ampliación.

La versión 2 incorpora, con diferencia, el conjunto de cambios más significativos al Amiga DOS desde que el sistema operativo fue comercializado en la versión 1.0 en 1985. Ciertas modificaciones que no se muestran de forma patente, pueden alterar algunas de las "reglas" que hemos venido tomando como buenas.


Los programas del directorio WBStartup se ejecutan automáticamente cuando arranca, normalmente en el orden en que han sido situados.

Añadiendo el Tooltype DONOTWAIT a un icono de programa, ordenamos al WBStartup no esperar a que el programa termine antes de iniciar el siguiente del directorio.

Un área que incluye muchos de estos cambios, es el procedimiento de arranque. En todas las versiones 1.x del Workbench, el Kickstart lee las preferencias del usaurios del DEVS:, el archivo de conifguración del sistema, antes de abrir la ventana inicial CLI. En este momento, comienza a ejecutar el S:, el script startup-sequence, y para entonces, el Kickstart ya ha abierto una ventana del Workbench configurada según las preferencias del usuario, como el tipo de pantalla (interlazada o no interlazada) y el font (Topaz 8 ó 9). Editar el archivo startup-sequence en las versiones 1.x, se ha convertido, con el tiempo, en una tradición, ya que no hay demasiadas formas de crear problemas añadiéndole comandos.

Sin embargo en la versión 2 todo el sistema de preferencias ha cambiado drásticamente. La configuración es almacenada en archivos individuales en el disco del Workbench dentro del SYS:, directorio del Prefs/env-archive/sys, que controla el dispositivo lógico ENVARC:. El script startup-sequence crea los directorios env y env/sys en el disco RAM y asigna el directorio env: a RAM:env. Entonces, copia todos los archivos y directorios desde ENVARC: a ENV:, incluyendo los archivos de preferencias, que van a ENV:sys.

Más tarde, en el startup-sequence, se ejcuta el programa IPrefs, IPrefs no sólo lee los archivos de preferencias en ENV:sys y establece la configuración inicial, sino que también revisa dichos archivos y altera la configuración cuando detecta cambios. Cuando se selecciona la opción use en uno de los editores de Preferences, se puede escribir una nueva versión del archivo de preferencias en ENV:sys. Iprefs lee el nuevo archivo en ENV:sys y cambia la configuración. Dado que ENV: está asignado al disco RAM, este cambio se amntiene sólo hasta que se reseta o e apaga el orneador. Sin embargo, cuadno se selecciona la opción Save, el archivo también se copia en el directorio ENVARC:, convirtiendo el cambio en permanente.

Este nuevo procedimiento funciona muy bien y tiene además una serie de beneficios. Permite a Commodore añadir fácilmente objetos de preferencia, como el sonido o el Postscript Preferences, sin necesidad de mejora de la ROM. Este esquema también sirve como modelo para fabricantes de hardware y programadores. Siguiendo el ejemplo de Commodore, cualquier compañía puede crear su propio editor de preferencias con el mismo aspecto y espíritu que el de Commodore, y usar sus propios programas para controlar los archivos de preferencias creados por dichos programas.

Ya que el kickstart copia automáticamente los contenidos del directorio env-archive a ENV:, se puede incluso salvar copias de archivo de variables de entorno en este direcotrio. Asi se crean versiones permanentes de estas variables, no habiendo necesidad de crearlas en cada sesión con el comandos SETENV.


EL SCREEN

Como en el viejo Kickstart, IPrefs debe ajustar las preferencias de pantalla (tales como modo, font y overscan) antes de abrir ninguna pantalla o ventana. Si se abre una pantalla del Workbench antes de que las nuevas preferencias sean establecidas, Kickstart cerrará dicha pantalla para que IPrefs pueda abrir primero el archivo de preferencias. El problema consiste en que el Workbench no puede cerrar una pantalla que contenga ventanas que no controle directamente (como la ventana de Shell). para evitar esta situación, el nuevo Kickstart no abre ningún dispositivo hasta que sea absolutamente necesario para mostrar un texto de un programa, un mensaje de erorr o un requester. Esa es la razón por la que la pantalla permanece en blanco más tiempo con la versión 2.0 que con la 1.3.

Si examina el archivo startup-sequence de la versión 2.0, verá que los mensajes de los comandos que estén antes de IPrefs serán eliminados, ya sea con un switch Quiet o redirigiendolos hacia NIL:. Si escribe un comando propio al comienzo del 2.0 startup-sequence y éste genera algún texto antes de que IPrefs ajuste las preferencias de pantalla y de font, Shell se verá forzado a abrir una ventana en una pantalla por defecto. Cuando Iprefs se ejecute, será incapaz de cerrar la pantalla anterior del Workbench que conteine la ventana del Shell, y se quejará emitiendo este misterioso mensaje en un requester:

Intuition is attempting to reset the Workbench screen.

Please close all windows except drawers.

Si obtiene este mensaje cada vez que arranca sus sistema, problablemente habrá añadido una línea de comandos en algún punto del startup-sequence antes que Iprefs. La solución más simple es redirigir el nuevo comando hacia NIL:. Si, por ejemplo, el programa se llamase MICOMANDO, y necesitase los parámetros "parámetros", cambie la línea de comandos de

MICOMANDOS parámetro
a
MICOMANDO >NIL: parámetros

La otra razón por la cual puede ver este mensaje otra vez es que haya cambiado las preferencias de font o de pantalla después de abrir un programa que sitúa una ventana en la pantalla del Workbench hasta que todas las ventanas de los programas "visitantes" sean cerradas.


AQUI, NO ALLI

El nuevo esquema de preferencias no es la única cosa que debemos tener en cuenta al modificar el archivo de startup-sequence. Gran número de funciones del sistema (como la descripción del monitor) están incluidas en el script en la versión 2.0, y Commodore añadirá más en el futuro.Lo esencial es ejecutar los comandos del archivo startup en el orden correcto, y el riesgo más importante es provocar que el sistema se detenga, debido a una edición sin cuidado de este archivo.

Para minimizar el riesgo, la versión 2.0 introduce el concepto de archivo "user-startup". Si se sitúa este archivo script en el directorio S:, el Kickstart lo ejecuta automáticamente como parte del rpocedimiento de arranque. Commodore aconseja a todos sus usuarios añadir nuevos comandos y asignaciones a este archivo "user-startup", en lugar de editar el archivo startup-sequence. Es también una buena idea asegurarse que los programas diseñados para editarel script de arranque (como scripts de instalación de disco duro) actúen sobre el archivo user-startup y no sobre el archivo startup-sequence.

En la versión 2 todo el sistema de preferencias ha cambiado
drásticamente. La configuración es almacenada en archivos
individuales en el disco del Workbench dentro del directorio
denominado SYS

Naturalmente, modificar tanto el user-startup como el startup-sequence requiere alguna familiaridad con editores de texto y con el CLI del AmigaDOS. Dada que uno e los logros del nuevo sistema operativo es liberar al usuario de utilizar interfaces no visuales y complicados para el usuario, la versión 2.0 de AmigaDOS introduce un sistema diseñado completamente para ser utilizado con iconos, ejecutando ciertos programas cada vez que se arranca el ordenador.

El nuevo disco del Workbench contiene un nuevo directorio llamado WBStartup. Para ejecutar automáticamente un porgrama cuando se encienda el sistema, sólo se ha de situar su icono dentro del directorio WBStartup. Así de simple.

Es importante saber que los programas del directorio WbStartup se ejecutan en el orden en que aparecen en el directorio. Este orden corresponde generalmente al orden en que se han dispuesto dentro del directorio. el orden se puede ver mediante el comando LIST.

(LIST Sys:WBStartup) desde el CLI. (DIR no sirve en este caso ya que ordena los programas alfabéticamente).

Si el orden de ejecución es un issue, por ejemplo, un programa no se ejecutará si no se ha arrancado antes ARexx; esto normalmente se puede modificar llevando todos los archivos del directorio WBStartup al disco RAM, borrandolos de WBStartup y situandolos de nuevo en la forma corecta. Si esto no funciona, se puede añadir el comando que se debe ejecutar primero a s:, user-startup script, que se ejecuta antes que los iconos de WBStartup.

otro punto a tener en cuenta es que espera a que cada programa termine antes de ser lanzado el siguiente. Si algún programa no finaliza en un par de segundos, el Workbench muestra el siguiente requester:

Program "Nombre del programa" hast not yet returned.
Should I wait some more?

Se puede ordenar al sistema no esperar a que temrine un programa añadiendo una línea ToolType que diga DONOTWAIT al icono del programa. Sólo haga click una vez sobre el icono, seleccione Information del menú Tools, selecione el botón New bajo ToolTypes, teclee DONOTWAIT, pulse retorno y seleccione Save.

Los programas Commodities como Blanker y ClickToFront (situados en el directorio Tools) son excelentes candidatos para el directorio WBStartup, pero muchos de estos programas despliegan una ventana de parámetros cuando se inician, incluso si los parámetros han sido previamente salvados. Si añade la línea ToolType CX_POPUP=NO al icono de un programa Commoditie, éste no abrirá una ventana de parámetros cuando se ejecute.

Cuando piense sobre ello, probablemente descubrirá cientos de programas que quiera ejecutar automáticamente: ARexx, antivirus, "mejoradores" de teclado (Keyboard enhancers), agendas, un reloj y otros muchos. usando el directorio WBStartup, podrá modificar el procedimiento de arranque con gran sencillez y sin temor de crear algún oscuro error en un archivo script.


Volver menú revistas Volver página anterior