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° 42 - Abril 1993
Amiga World

EXPLORACION DEL AMIGADOS 2.0


Por Sheldon Leemon


(3º Parte)

Una serie que explora la versión 2 del sistema operativo del Amiga. El mes pasado, vimos algunas reglas del nuevo juego de instrucciones del Shell del Workbench 2. En esta tercera parte, descubriremos algunas mejoras en el Shell.

Una de estas mejoras, es la posibilidad de introducir el texto de salida de un comando como texto de entrada de otro. Supongamos que se quiere utilizar el comando ECHO para mostrar la cantidad total de memoria libre en una línea como ésta: "La cantidad total de memoria disponible es x bytes", donde x es el número de bytes. El comando AVAIL nos facilita este número. Encerrando este comando entre un par de acentros graves (el acento grave se encuentra situado justo debajo del ESC), se incluye AVAIL, dentro del comando ECHO de la siguiente forma:

ECHO "La cantidad total de memoria libre es 'AVAIL TOTAL' bytes".

Cuando el Shell ejecuta esta línea, lleva a cabo, primero, el comando AVAIL TOTAL, e incluye los resultados en la cadena mostrada por ECHO:

La cantidad total de memoria libre es 965,432 bytes.

Cuando se usa un comando con acento grave en un alias o en una orden desde el prompt, los comandos encerrados se ejecutan en el momento en que el alias o el prompt se define, no cuando se ejecuta. Si usted intenta crear un alias para el ejemplo anterior con el siguiente comando:

ALIAS free ECHO "La cantidad total de memoria disponible es 'AVAIL TOTOL' bytes"

Introduciendo la salida de un comando en un ECHO, a tra-
vés de acentos graves, está permitido mostrar sólo parte
de una orden

pronto se dará cuenta que el comando AVAIL TOTAL se ejecuta sólo una vez, justo en el instante en que el alias es definido. Si hay 955,432 bytes disponibles en ese momento, ésa es la cifra que se verá siempre que llame a su nuevo comando FREE, sea cual sea la memoria que esté libre en dicho instante. Para que el comando encerrado entre acentos graves se ejecute cada vez que se use el alias (o desde el prompt), se debe utilizar el asterisco delante de cada acento grave. Al cambiar el ALIAS a:

ALIAS free ECHO "La cantidad total de memoria disponible es *'AVAIL TOTAL*' bytes"

recibirá la cantidad exacta de cantidad de memoria libre cuando use el alias FREE.

Se puede emplear la utilidad del acento grave, siempre que un comando necesita datos de entrada que vienen dados por los datos de salida de otro. Por ejemplo, si desea enviar una señal de BREAK a un proceso que ejecute el comando WAIT para detenerlo, pero no conoce su número de proceso, puede emplear el comando STATUS para hallar dicho número y enviarlo a la señal de BREAK:

BREAK 'STATUS Com=WAIT'

Introduciendo la salida de un comando en un ECHO, a través de acentros graves, está permitido mostrar sólo parte de una orden. Por ejemplo, se puede almacenar el número de modelo del microprocesador en una variable de entornom CPU, con el comando:

ECHO FIRST 9 LEN 5"'CPU'"TO Env:CPU

que descarta todos los caracteres, excepto los cinco correspondientes al número del procesador del comando CPU. Es importante destacar que el comando 'CPU' debe estar encerrado entre acentros para que trabaje apropiadamente.


EN EL INTERIOR

Por primera vez, la versión 2.0 convierte algunos comandos de AmigaDOS en comandos internos. Más de treinta comandos, entre ellos RUN, PATH y NEWCLI, están ahora en la Kickstart ROM y, por tanto, no es necesario cargarlos de disco.

Incluso, se puede eliminar o reemplazar un comando interno, usando las opciones REMOVE o REPLACE del comando RESIDENT. Con sólo teclear RESIDENT, obtendremos una lista completa de comandos internos. Aunque el comando CD está aún residente, es completamente innecesario gracias a este nuevo Shell. Esto es debido a que en la versión 2.0, al teclear el nombre del directorio en el prompt del Shell, se convierte dicho directorio en el de uso. Muchos otros comandos han adoptado nuevas funciones, similares a algunas ofrecidas por ciertos programas de dominio público. Por ejemplo, cuando se usa el parámetro FLUSH con el comando AVAIL, se eliminan todas las librerías, devices y fonts que estuviesen cargados en memoria pero que ya no están siendo utilizados, tal y como lo hace el programa de dominio público Flush. De la misma forma, el comando SEARCH tiene una nueva opción, FILE, que, igual que el programa FileFind, permite buscar en el disco duro un determinado archivo e, incluso, una cadena de texto en un archivo,

Por ejemplo, se puede usar el siguiente comando para mostrar el path de todos los archuvos que terminen en .doc en el volumen SYS:

SEARCH Sys: #?.doc FILE ALL

El comando ASSIGN tiene algunas nuevas opciones muy útiles. Una de las cuales, el parámetro ADD, tiene una función idéntica a la del programa de dominio público PathAssign, que permite asignar el nombre de un dispositivo lógico a varios directorios. Esto permite, por ejemplo, asignar la designación FONTS a varios directorios adicionales:

ASSIGN FONTS: Work:PublishingFonts Work:VideoFonts ADD

Con esta opción, se pueden reorganizar los fonts en distintos grupos mientras permanecen accesibles al sistema. Comandos como DIR y COPY, que usan un solo directorio de destino por defecto, se realizan sobre el primer directorio en el que se hizo la asignación lógica. Sin embargo, si se desea que un programa con instalación en disco duro sitúe fonts en un directorio distinto del SYS:Fonts, se puede añadir una línea como ésta al archivo user-startup:

ASSIGN Fonts: Work:ExtraFonts Sys:Fonts

otras opciones de ASSIGN favorecen a los usuarios que utilizan disquettes. El parámetro DEFER, retrasa la asignación hasta que un comando se refiere a un device lógico. Esto eprmite hacer, automáticamente una asignación al archivo user-startup, sin esperar un prompt para insertar el volumen especificado. El parámetro es, incluso, más útil. Crea una asignación que se revalúa cada vez que e usa. Por ejemplo, el comando:

ASSIGN C: DF0:C PATH

hace que el AmigaDOS acepte el directorio C de cualquier disco que introduzcamos. Esto permite reemplazar el disco de arranque con cualquier disco que contenga un directorio C, y usar los comandos en ese directorio C como si estuvieran en el disco desde el que se arrancó.


COMANDOS TOTALMENTE NUEVOS

Además de mejorar comandos existentes, la versión 2.0 añade comandos nuevos. uno de éstos, el comando CPU, realiza todas las funciones del programa de dominio público SETCPU. Permite controlar las posibilidades avanzadas de los procesadores 68030 y 68040. CPU permite también activar los caches de datos e instrucciones, para aumentar la velocidad, y desactivarlos para obtener compatibilidad. La versión 2.1 facilita controlar el modo copy-back del cache de datos del 68040). También, con la opción FASTROM, se hacer una copia dela Kickstart ROM a memoria de 32-bit, obteniéndose una Unidad de Control de Memoria. Esto aumenta ligeramente la velocidad total.

Con sólo teclear RESIDENT, obtendremos una lista com-
pleta de comandos internos. Aunque el comando CD está
aún residente, es completamente innecesario gracias a
este nuevo Shell

Con otro nuevo comando, MAKELINK, se puede crear un puntero de archivo en un directorio, el cual marca un archivo en otro directorio del mismo volumen. Esto hace que un programa se encuentre en varios directorios a la vez, sin ocupar un espacio excesivo. Por ejemplo, los iconos para los documentos que vienen con los programas de dominio público o ShareWare, pueden especificar uno de entre varios prorgamas de visualización de textos, C:More, C:MuchMore, C:Less, etc. Se pueden modificar los iconos de esos documentos para que reflejen el prorgama de visualización del que se dispone, o más fácilmente crear enlaces en el archivo User-startup:

MAKELINK C:More SYS:Utilities/More
MAKELINK C:MuchMore SYS:Utilities/More
MAKELINK C:Less SYS:Utilities/More

De esta forma, un icono del tipo project que busque alguna de las herramientas nombradas anteriormente será dirigido hacia el programa SYS:Utilities/More. Así, en lygar de necesitar cuatro programas de visualización, sólo se necesita uno. Sin embargo, recuerde que por ahora sólo se pueden crear enlaces entre directorios pertenecientes al mismo volumen.

Esto son sólo algunos de los importantes cambios hechos al Shell de AmigaDOS en la versión 2.0. Por cada mejora que he mencionado, hay una o dos para las que no ha habido espacio en este artículo. Para los fans del CLI, hay mucho de lo que alegrarse en la versión 2. No sólo eso, sino que lasmejoras siguen llegando. ¡Sólo espere a ver los comandos RequestChoice y RequestFile del Workbench 3.0!. Pero eso es una historia para otro día.


Volver menú revistas Volver página anterior