AmigaDOS

Sistema operativo de disco de AmigaOS
Sistema operativo
AmigaDOS
ReveladorCorporación Amiga
Escrito enAmigaOS 1.x: BCPL
AmigaOS 2.x en adelante: C
Familia de sistemas operativosTRIPOS
Modelo fuenteCódigo cerrado
Lanzamiento inicial1985 ; hace 39 años ( 1985 )

Interfaz de usuario predeterminada
Interfaz de línea de comandos
LicenciaPropiedad

AmigaDOS es el sistema operativo de disco de AmigaOS , que incluye sistemas de archivos , manipulación de archivos y directorios, la interfaz de línea de comandos y redirección de archivos .

En AmigaOS 1.x, AmigaDOS se basa en un puerto TRIPOS de MetaComCo , escrito en BCPL . BCPL no utiliza punteros nativos, por lo que la funcionalidad más avanzada del sistema operativo era difícil de usar y propensa a errores. El Proyecto de recursos de terceros AmigaDOS [1] (ARP, anteriormente el Proyecto de reemplazo de AmigaDOS ), [2] un proyecto iniciado por el desarrollador de Amiga Charlie Heath, reemplazó muchas de las utilidades BCPL con equivalentes más pequeños y sofisticados escritos en C y ensamblador , y proporcionó una biblioteca contenedora , arp.library. Esto eliminó los problemas de interfaz en las aplicaciones al realizar automáticamente conversiones de punteros nativos (como los utilizados por C o ensamblador) a equivalentes BCPL y viceversa para todas las funciones de AmigaDOS.

A partir de AmigaOS 2.x, AmigaDOS se reescribió en C, manteniendo la compatibilidad con 1.x siempre que fue posible. A partir de AmigaOS 4, AmigaDOS abandonó su legado con BCPL. A partir de AmigaOS 4.1, AmigaDOS se ha ampliado con compatibilidad con acceso a archivos de 64 bits .

Consola

La consola de Amiga es un dispositivo virtual estándar de Amiga , normalmente asignado a CON: y controlado por console.handler . Fue desarrollado a partir de una interfaz primitiva en AmigaOS 1.1, y se volvió estable con las versiones 1.2 y 1.3, cuando comenzó a ser conocido como AmigaShell y su manejador original fue reemplazado por newconsole.handler ( NEWCON: ).

La consola tiene varias características que se consideraban actualizadas cuando se creó en 1985, como la ayuda de plantilla de comandos, la redirección a null (" NIL: ") y la terminal de color ANSI . El nuevo controlador de consola, que se implementó en la versión 1.2, permite muchas más funciones, como el historial de comandos , las canalizaciones y la creación automática de archivos cuando se redirige la salida . Cuando se lanzaron pilas TCP/IP como AmiTCP a principios de los años 90, la consola también podía recibir redirección de los controladores de dispositivos Amiga habilitados para Internet (por ejemplo, TCP: , copy file TO TCP:Site/Port ).

A diferencia de otros sistemas lanzados originalmente a mediados de la década de 1980, AmigaDOS no implementa un conjunto de caracteres propietario; los desarrolladores eligieron utilizar el estándar ANSI- ISO ISO-8859-1 (Latin 1) , que incluye el conjunto de caracteres ASCII . Al igual que en los sistemas Unix , la consola Amiga acepta solo el salto de línea (" LF ") como carácter de fin de línea (" EOL "). La consola Amiga tiene soporte para caracteres acentuados , así como para caracteres creados por combinaciones de "teclas muertas" en el teclado.

Sintaxis de los comandos de AmigaDOS

Este es un ejemplo de sintaxis de comando típica de AmigaDOS:

1> Dir DF0:
Sin ingresar al árbol de directorios, esto muestra el contenido de un directorio de un disquete y también enumera los subdirectorios .
1> Dir SYS: ALL
El argumento " ALL " hace que el comando muestre todo el contenido de un volumen o dispositivo, ingresando y expandiendo todos los árboles de directorios. " SYS: " es un nombre predeterminado que se asigna al dispositivo de arranque, independientemente de su nombre físico. [3]

Redirección de comandos

AmigaDOS puede redirigir la salida de un comando a archivos, tuberías, una impresora, el dispositivo nulo y otros dispositivos Amiga.

1> Dir > SPEAK: ALL
Redirecciona la salida del comando " dir " al controlador de síntesis de voz. El carácter de dos puntos " : " indica que SPEAK: apunta a un dispositivo AmigaDOS. Si bien un uso típico de un dispositivo es el de los sistemas de archivos , los nombres de dispositivos de propósito especial como este se usan comúnmente en el sistema.

Plantilla de comando

Se espera que los comandos de AmigaDOS proporcionen una "plantilla" estándar que describa los argumentos que pueden aceptar. Esto se puede utilizar como una función de "ayuda" básica para los comandos, aunque los controladores y shells de consola de reemplazo de terceros , como Bash o Zshell (portados desde Unix ), o KingCON, a menudo proporcionan una ayuda más detallada para los comandos integrados.

Al solicitar la plantilla para el comando " Copiar ", se obtiene el siguiente resultado:

1> Copy ?
FROM, TO/A, ALL/S, QUIET/S
Esta cadena significa que el usuario debe utilizar este comando junto con los argumentos FROM y TO , donde el último es obligatorio ( /A ). Las palabras clave de los argumentos ALL y QUIET son modificadores ( /S ) y cambian los resultados del comando Copy ( ALL hace que se copien todos los archivos de un directorio, mientras que QUIET hará que el comando no genere ningún resultado).

Al leer esta plantilla, un usuario puede saber que la siguiente sintaxis es aceptable para el comando:

Copy DF0:Filename TO DH0:Directory/Filename

Comandos de interrupción y pausa de la salida de la consola

Un usuario puede finalizar un programa invocando la combinación de teclas Ctrl+ Co + . Al presionar o cualquier carácter de impresión en el teclado se suspende la salida de la consola. La salida se puede reanudar presionando la tecla (para eliminar toda la entrada) o presionando (lo que hará que la entrada se procese como un comando tan pronto como el comando actual deje de ejecutarse).CtrlDspace← Backspace↵ Enter

Caracteres comodín

Al igual que otros sistemas operativos, AmigaDOS también proporciona caracteres comodín que sustituyen a cualquier carácter o secuencia de caracteres aleatorios en una cadena. A continuación, se muestra un ejemplo de caracteres comodín en los comandos de AmigaDOS:

1> Dir #?.info
busca en el directorio actual cualquier archivo que contenga ".info" al final como sufijo y muestra sólo estos archivos en la salida.

El análisis de esto es el siguiente. El comodín "?" indica "cualquier carácter". Si se antepone un "#", se indica "cualquier número de repeticiones". Esto puede considerarse análogo a la expresión regular ".*".

Creación de guiones

AmigaDOS también tiene la característica de manejar programación por lotes , a la que llama programación de "scripts", y tiene una serie de comandos como Echo, If, Then, EndIf, Val, y Skippara manejar programación de scripts estructurados. Los scripts son archivos basados ​​en texto y pueden crearse con el programa editor de texto interno de AmigaDOS, llamado Ed (sin relación con Ed de Unix ), o con cualquier otro editor de texto de terceros. Para invocar un programa de script, AmigaDOS usa el comando Execute.

1> Ejecutar myscript

Esto ejecuta el script llamado "myscript".

Este método de ejecución de scripts mantiene ocupada la ventana de la consola hasta que el script haya finalizado su trabajo programado. Los usuarios no pueden interactuar con la ventana de la consola hasta que el script finalice o hasta que lo interrumpan.

Mientras:

1> Ejecutar Ejecutar myscript

El comando AmigaDOS Runejecuta cualquier comando DOS o cualquier tipo de programa y mantiene la consola libre para futuras entradas.

Bits de protección

Los bits de protección son indicadores que tienen los archivos, enlaces y directorios en el sistema de archivos. Para cambiarlos, se puede utilizar el comando Protect o la entrada Information del menú Icons en Workbench en los archivos seleccionados. AmigaDOS admite el siguiente conjunto de bits de protección (abreviados como HSPARWED):

  • H = Mantener (los comandos reentrantes con el bit P establecido se volverán residentes automáticamente en la primera ejecución. Requiere que los bits E, P y R estén establecidos para funcionar. No significa "Ocultar". Ver a continuación).
  • S = Script (archivo por lotes. Requiere que los bits E y R estén activados para funcionar). Si este bit de protección está activado, AmigaDOS puede reconocer y ejecutar automáticamente un script con solo invocar su nombre. Sin el bit S, los scripts pueden ejecutarse utilizando el Executecomando.
  • P = Puro (indica comandos reentrantes que pueden hacerse residentes en la RAM y luego ya no necesitan cargarse en ningún momento desde unidades flash , discos duros o cualquier otro dispositivo multimedia. Requiere que los bits E y R estén configurados para funcionar).
  • A = Archivo (Bit archivado, utilizado por varios programas de respaldo para indicar que se ha realizado un respaldo de un archivo)
  • R = Leer (Permiso para leer el archivo, enlace o contenido del directorio)
  • W = Escribir (Permiso para escribir el archivo, enlace o dentro de un directorio)
  • E = Ejecutar (Permiso para ejecutar el archivo o ingresar al directorio. Todos los comandos necesitan este bit configurado, o no se ejecutarán. Requiere que el bit R esté configurado para funcionar).
  • D = Eliminar (Permiso para eliminar el archivo, enlace o directorio)

El bit H se ha entendido a menudo erróneamente como "ocultar". En el Sistema de archivos inteligente (SFS), los archivos y directorios con el bit H activado están ocultos para el sistema. Aún es posible acceder a los archivos ocultos, pero no aparecen en ninguna lista de directorios.

Demostración de H-bit en acción:

AmigaPrompt> ¿Qué lista?Banco de trabajo: C/ListaAmigaPrompt> banco de trabajo de lista:c/listDirectorio "workbench:c" el jueves 30-Oct-08lista 6464 --p-rwed 25-feb-02 22:30:001 archivo - 14 bloques utilizadosAmigaPrompt> ¿Qué lista?Banco de trabajo: C/ListaAmigaPrompt> proteger workbench:c/list +h AmigaPrompt> qué listaBanco de trabajo: C/ListaAmigaPrompt> banco de trabajo de lista:c/listDirectorio "workbench:c" el jueves 30-Oct-08lista 6464 hp-rwed 25-feb-02 22:30:001 archivo - 14 bloques utilizadosAmigaPrompt> ¿Qué lista?Lista de RES
Observe cómo el comando de lista se vuelve residente después de la ejecución cuando se establece el bit H.

Variables locales y globales

Como cualquier otro DOS, Amiga trata con variables de entorno tal como se utilizan en la programación por lotes.

Existen variables globales y locales, y se hace referencia a ellas con un signo de dólar delante del nombre de la variable, por ejemplo $myvar . Las variables globales están disponibles en todo el sistema; las variables locales solo son válidas en el shell actual. En caso de conflicto de nombres, las variables locales tienen prioridad sobre las variables globales. Las variables globales se pueden configurar utilizando el comando SetEnv , mientras que las variables locales se pueden configurar utilizando el comando Set . También existen los comandos GetEnv y Get que se pueden utilizar para imprimir variables globales y locales.

Los ejemplos siguientes demuestran un uso simple:

1> setenv foo blapp 1>  echo $foo blapp 1>  establecer  foo bar 1>  echo $foo bar 1> getenv foo blapp 1> obtener foo bar 1>  tipo ENV:foo blapp 1> setenv guardar foo $foo 1>  tipo ENV:foo bar 1>  tipo ENVARC:foo bar
Tenga en cuenta la bandera de guardado del comando SetEnv y cómo las variables globales están disponibles en el sistema de archivos [ aclaración necesaria ]


Las variables globales se guardan como archivos en ENV: y, opcionalmente, se guardan en el disco en ENVARC: para sobrevivir al reinicio y al ciclo de encendido . ENV: es, por defecto, una asignación a RAM:Env y ENVARC: es una asignación a SYS:Prefs/Env-archive, donde SYS: hace referencia al dispositivo de arranque . Al iniciar, el contenido de ENVARC: se copia a ENV: para facilitar la accesibilidad.

Al programar scripts de AmigaDOS, hay que tener en cuenta que las variables globales son de todo el sistema. Todas las variables internas de los scripts se deben configurar utilizando variables locales, o se corre el riesgo de que surjan conflictos entre scripts por las variables globales. Además, las variables globales requieren acceso al sistema de archivos, lo que normalmente hace que su acceso sea más lento que el de las variables locales.

Dado que ENVARC: también se utiliza para almacenar otras configuraciones del sistema además de variables de cadena (como configuraciones del sistema, íconos predeterminados y más), tiende a crecer con el tiempo y copiar todo a ENV: ubicado en el disco RAM se vuelve costoso. Esto ha llevado a formas alternativas de configurar ENV: mediante el uso de controladores de disco RAM dedicados que solo copian archivos desde ENVARC: cuando se solicitan los archivos. Algunos ejemplos de dichos controladores son [4] y [5] .

Un ejemplo que demuestra el abuso creativo de las variables globales, así como de Lab y Skip , es la variante AmigaDOS del infame GOTO . [6]

Sensibilidad a mayúsculas y minúsculas

En general, AmigaDOS no distingue entre mayúsculas y minúsculas . [7] Indicar un dispositivo como "Dh0:", "DH0:" o "dh0:" siempre se refiere a la misma partición ; sin embargo, para los nombres de archivos y directorios, esto depende del sistema de archivos, y algunos sistemas de archivos permiten distinguir entre mayúsculas y minúsculas como una bandera al formatear. Un ejemplo de un sistema de archivos de este tipo es Smart File System . Esto es muy conveniente cuando se trabaja con software portado desde el mundo Un*x , que en su mayoría distingue entre mayúsculas y minúsculas , pero causa mucha confusión para las aplicaciones nativas de Amiga, que asumen que no distinguen entre mayúsculas y minúsculas. Por lo tanto, los usuarios avanzados normalmente solo usarán la bandera de distinción entre mayúsculas y minúsculas para los sistemas de archivos utilizados para el software originado en Un*x.

Se permite cambiar el formato de los nombres de archivos, directorios y volúmenes usando métodos comunes; los comandos "rename foo Foo" y "relabel Bar: bAr:" son válidos y hacen exactamente lo que se espera, a diferencia de, por ejemplo, Linux , donde "mv foo Foo" da como resultado el mensaje de error "mv: `foo' y `Foo' son el mismo archivo" en sistemas de archivos que no distinguen entre mayúsculas y minúsculas, como VFAT .

Convenciones de nombres de volúmenes

Las particiones y unidades físicas se denominan normalmente DF0: (unidad de disquete 0), DH0: (disco duro 0), etc. Sin embargo, a diferencia de muchos sistemas operativos, fuera de los dispositivos de hardware físicos integrados como DF0: o HD0: , los nombres de los discos individuales, volúmenes y particiones son totalmente arbitrarios: por ejemplo, una partición de disco duro podría llamarse Work o System , o cualquier otra cosa en el momento de su creación. Los nombres de volumen se pueden utilizar en lugar de los nombres de dispositivo correspondientes, por lo que se podría acceder a una partición de disco en el dispositivo DH0: llamada Workbench con el nombre DH0: o Workbench: . Los usuarios deben indicar al sistema que " Workbench " es el volumen " Workbench: " escribiendo siempre los dos puntos " : " cuando ingresan información en un formulario de solicitud o en AmigaShell.

Si no se puede encontrar el nombre del volumen al que se accedió, el sistema operativo solicitará al usuario que inserte el disco con el nombre de volumen dado o le permitirá cancelar la operación.

Además, los nombres de dispositivos lógicos pueden configurarse con el comando "assign" a cualquier directorio o dispositivo; los programas a menudo asignan un nombre de volumen virtual a su directorio de instalación (por ejemplo, un procesador de texto ficticio llamado Writer podría asignar Writer: a DH0:Productivity/Writer ). Esto permite una fácil reubicación de los programas instalados. El nombre predeterminado SYS: se utiliza para referirse al volumen desde el que se inició el sistema. Se proporcionan otros nombres predeterminados para referirse a ubicaciones importantes del sistema. Por ejemplo, S: para scripts de inicio, C: para comandos de AmigaDOS, FONTS: para fuentes instaladas, etc.

La asignación de etiquetas de volumen también se puede configurar en varios directorios, que se tratarán como una unión de sus contenidos. Por ejemplo, FONTS: se puede asignar a SYS:Fonts y luego extender para incluir, por ejemplo, Work:UserFonts utilizando la opción add del comando de asignación de AmigaDos . El sistema permitiría entonces el uso de fuentes instaladas en cualquiera de los directorios. Al incluir FONTS: se mostrarían los archivos de ambas ubicaciones.

Convenciones de nombres y comportamiento típico de los dispositivos virtuales

El dispositivo físico DF0: comparte la misma mecánica de unidad de disquete con PC0:, que es el dispositivo virtual CrossDOS capaz de leer disquetes formateados para PC. Cuando se inserta cualquier disquete formateado para PC en la unidad de disquete, el icono de Amiga DF0: floppy cambiará para indicar que el disco es desconocido para el dispositivo Amiga normal, y mostrará cuatro signos de interrogación ???? como el nombre de volumen "desconocido" estándar, mientras que el icono PC0: aparecerá revelando el nombre del disco formateado para PC. Cualquier cambio de disco con discos formateados para Amiga invertirá este comportamiento.

Sistemas de archivos

AmigaDOS soporta varios sistemas de archivos y variantes. El primer sistema de archivos se llamaba simplemente Amiga FileSystem y era adecuado principalmente para disquetes, ya que no soportaba el arranque automático desde discos duros (en disquetes, el arranque se hacía usando código desde el bloque de arranque). Pronto fue reemplazado por FastFileSystem (FFS), y por lo tanto el sistema de archivos original era conocido con el nombre de "Old" FileSystem (OFS). FFS era más eficiente en cuanto a espacio y bastante más rápido que OFS, de ahí el nombre.

Con AmigaOS 2.x, FFS se convirtió en una parte oficial del sistema operativo y pronto se expandió para reconocer particiones en caché, particiones internacionales que permiten caracteres acentuados en nombres de archivos y particiones y, finalmente (con MorphOS y AmigaOS 4 ) nombres de archivos largos, de hasta 108 caracteres (de 31).

Tanto AmigaOS 4.x como MorphOS presentaron una nueva versión de FFS llamada FastFileSystem 2. FFS2 incorporó todas las características del FFS original, incluyendo, como dijo su autor, "algunos cambios menores". Para preservar la compatibilidad con versiones anteriores, no hubo cambios estructurales importantes. (Sin embargo, FF2 en AmigaOS 4.1 se diferencia en que puede expandir sus características y capacidades con la ayuda de complementos ). Al igual que con FFS2, la versión de AmigaOS 4 y MorphOS de Smart FileSystem es una bifurcación del SFS original y no es 100% compatible con él.

Otros sistemas de archivos como FAT12 , FAT16 , FAT32 de Windows o ext2 de Linux están disponibles a través de bibliotecas de sistema fácilmente instalables ( arrastrar y soltar ) o módulos de terceros como FAT95 [8] (cuenta con soporte de lectura/escritura), que se puede encontrar en el repositorio de software de Aminet . MorphOS 2 tiene soporte integrado para sistemas de archivos FAT.

AmigaOS 4.1 adoptó un nuevo sistema de archivos llamado JXFS capaz de soportar particiones de más de un terabyte de tamaño.

Los sistemas de archivos alternativos de fabricantes externos incluyen Professional FileSystem , que es un sistema de archivos con una estructura sencilla, basada en metadatos , que permite una alta coherencia interna, capaz de desfragmentarse sobre la marcha y no requiere ser desmontado antes de ser montado nuevamente; y Smart FileSystem , que es un sistema de archivos con registro que realiza actividades registradas durante las inactividades del sistema, y ​​ha sido elegido por MorphOS como su sistema de archivos estándar.

Variantes oficiales de los sistemas de archivos de Amiga

Sistema de archivos antiguo / Sistema de archivos rápido

  • OFS (DOS0)
  • Por favor (DOS1)
  • OFS Internacional (DOS2)
  • FFS Internacional (DOS3)
  • Almacenamiento en caché de directorios OFS (DOS4)
  • Almacenamiento en caché de directorios FFS (DOS5)

Sistema de archivos rápido 2 (AmigaOS4.x/MorphOS)

  • Nombres de archivos largos OFS (DOS6)
  • FFS Nombres de archivos largos (DOS7)

Tanto DOS6 como DOS7 incluyen nombres de archivo internacionales presentes en DOS2 y DO3, pero no la función de almacenamiento en caché de directorios, que se abandonó debido a errores en la implementación original. Por este motivo, no se recomienda el uso de DOS4 y DOS5.

Los Dostypes son compatibles entre sí con versiones anteriores, pero no con versiones posteriores . Un disco formateado con DOS7 no se puede leer en el FFS original de Amiga, y un disco con DOS3 no se puede leer en un Amiga KS1.3. Sin embargo, cualquier disco formateado con DOS0 usando FFS o FFS2 se puede leer en cualquier versión del sistema operativo Amiga. Por esta razón, DOS0 tendía a ser el formato elegido por los desarrolladores de software que distribuían en disquete, excepto cuando se usaba un sistema de archivos y un bloque de arranque personalizados, una práctica común en los juegos de Amiga. Cuando el software necesitaba AmigaOS 2 de todos modos, generalmente se usaba DOS3.

Complementos de FastFileSystem2

Con la actualización de julio de 2007 de AmigaOS 4.0 , se lanzaron los dos primeros complementos para FFS2:

  • fs_plugin_cache : aumenta el rendimiento de FFS2 al introducir un nuevo método de almacenamiento en búfer de datos.
  • fs_plugin_encrypt : complemento de cifrado de datos para particiones que utilizan el algoritmo Blowfish .

Extensiones de nombre de archivo

AmigaDOS tiene una única extensión de nombre de archivo obligatoria: ".info", que debe añadirse al nombre de archivo de cada icono. Si existe un archivo llamado myprog , entonces su archivo de icono debe llamarse myprog.info . Además de los datos de imagen, el archivo de icono también registra metadatos del programa , como opciones y palabras clave, su propia posición en el escritorio (AmigaOS puede "capturar" iconos en lugares definidos por el usuario) y otra información sobre el archivo. La información sobre el tamaño y la posición de la ventana del directorio se almacena en el archivo ".info" asociado con el directorio, y la información sobre el icono del disco se almacena en "Disk.info" en la raíz del volumen.

Con la excepción de los íconos, el sistema Amiga no identifica los tipos de archivos mediante extensiones, sino que examinará el ícono asociado con un archivo o el encabezado binario del archivo en sí para determinar el tipo de archivo.

Véase también

Referencias

  1. ^ "El proyecto de recursos de AmigaDOS". Archivado desde el original el 11 de marzo de 2007. Consultado el 18 de julio de 2006 .
  2. ^ "Índice de /Pub/Amiga/Ancient/Ex-amiga-s/Archivo".
  3. ^ Commodore-Amiga Inc. 1986
  4. ^ "disk/misc/HappyENV.lha". Aminet . Consultado el 15 de julio de 2016 .
  5. ^ "util/sys/envhandler.lha". Aminet . Consultado el 15 de julio de 2016 .
  6. ^ "Código de Stephen Morley" . Consultado el 5 de abril de 2016 .
  7. ^ Cruz, Frank da; Gianone, Christine (1997). Uso de C-Kermit: software de comunicación . p. 549. ISBN 978-1-55558-164-0.
  8. ^ "disk/misc/fat95.lha". Aminet . Consultado el 15 de julio de 2016 .

Lectura adicional

  • Commodore-Amiga Inc. (1986). Manual del usuario de AmigaDOS. Bantam Computer. ISBN 0-553-34294-0.
  • Commodore-Amiga Inc. (1991). Manual de AmigaDOS, tercera edición. Bantam Computer. ISBN 0-553-35403-5.
  • Tim King. "Historia de Amiga". Tim-king.com . Consultado el 15 de julio de 2016 .
  • Tim King. "CV". Tim King . Consultado el 15 de julio de 2016 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=AmigaDOS&oldid=1251280189"