De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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 AmigaDOS de terceros [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 de 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.

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

Consola [ editar ]

La consola 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 controlador original fue reemplazado por newconsole.handler ( NEWCON :) .

La consola tiene varias características que se consideraron actualizadas cuando se creó en 1985, como ayuda de la plantilla de comandos, redirección a nulo (" NIL: ") y terminal de color ANSI . El nuevo controlador de consola, que se implementó en la versión 1.2, permite muchas más funciones, como historial de comandos , canalizaciones y creación automática de archivos cuando se redirige la salida . Cuando pilas TCP / IP como AmiTCP fueron puestos en libertad a principios de 1990, la consola también podría recibir redirección desde habilitados para Internet manejadores de dispositivos de Amiga (por ejemplo, TCP: , copiar el archivo al TCP: Sitio / Puerto ).

A diferencia de otros sistemas lanzados originalmente a mediados de la década de 1980, AmigaDOS no implementa un juego de caracteres propietario; los desarrolladores eligieron usar el ANSI ISO estándar ISO-8859-1 (Latin 1) , que incluye el ASCII juego de caracteres. Al igual que en los sistemas Unix , la consola Amiga acepta sólo 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 personajes creados por combinaciones de 'teclas muertas' en el teclado.

Sintaxis de los comandos de AmigaDOS [ editar ]

Este es un ejemplo de la sintaxis de comandos típica de AmigaDOS:

Redirección de comandos [ editar ]

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

Plantilla de comando [ editar ]

Se espera que los comandos de AmigaDOS proporcionen una "plantilla" estándar que describa los argumentos que pueden aceptar. Esto se puede usar como una función básica de "ayuda" 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 brindan una ayuda más detallada para los comandos integrados.

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

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

Rompiendo comandos y pausando la salida de la consola [ editar ]

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

Caracteres comodín [ editar ]

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. Aquí hay un ejemplo de caracteres comodín en los comandos de AmigaDOS:

El análisis de esto es el siguiente. La "?" El comodín indica "cualquier carácter". El prefijo "#" indica "cualquier número de repeticiones". Esto puede verse como análogo a la expresión regular ". *".

Secuencias de comandos [ editar ]

AmigaDOS también tiene la característica de lidiar con la programación por lotes , a la que llama programación de "script", y tiene una serie de comandos como Echo , If , Then , EndIf , Val y Skip para trabajar con la programación de script estructurado. Los scripts son archivos basados ​​en texto y se pueden crear con el programa editor de texto interno de AmigaDOS, llamado Ed (no relacionado con Ed de Unix ), o con cualquier otro editor de texto de terceros. Para invocar un programa de script, AmigaDOS usa el comando Ejecutar .

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

Tiempo:

Bits de protección [ editar ]

Los bits de protección son banderas que los archivos, enlaces y directorios tienen en el sistema de archivos. Para cambiarlos, uno puede usar el comando Proteger o usar la entrada Información del menú Iconos en Workbench en archivos seleccionados. AmigaDOS admite el siguiente conjunto de bits de protección (abreviado como HSPARWED):

  • H = Hold (comandos de reentrada con el conjunto P bits se convertirán automáticamente en residente en la primera ejecución. Requiere E, P y R bits se pusieron a trabajar. ¿El no media "Ocultar". Véase a continuación.)
  • S = Script (Archivo por lotes. Requiere que los bits E y R funcionen). Si este bit de protección está activado, AmigaDOS puede reconocer y ejecutar automáticamente un script simplemente invocando su nombre. Sin S bit, los scripts todavía se pueden ejecutar utilizando el comando Ejecutar .
  • 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 de medios. Requiere que los bits E y R funcionen).
  • A = Archivo (bit de archivo, utilizado por varios programas de copia de seguridad para indicar que se ha realizado una copia de seguridad de un archivo)
  • R = Leer (Permiso para leer el archivo, enlace o contenido del directorio)
  • W = Write (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 conjunto de bits o no se ejecutarán. Requiere el conjunto de bits R para funcionar).
  • D = Eliminar (permiso para eliminar el archivo, enlace o directorio)

El bit H a menudo se ha malinterpretado como "Ocultar". En Smart File System (SFS), los archivos y directorios con el bit H establecido están ocultos del sistema. Todavía es posible acceder a archivos ocultos, pero no aparecen en ninguna lista de directorios.

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

AmigaPrompt> qué lista Workbench: C / List AmigaPrompt> list workbench: c / list Directory "workbench: c" el jueves 30-oct-08 list 6464 --p-rwed 25-feb-02 22:30:00 1 archivo - 14 bloques usados AmigaPrompt> qué lista Workbench: C / List AmigaPrompt> proteger workbench: c / list + h AmigaPrompt> qué lista Workbench: C / List AmigaPrompt> list workbench: c / list Directorio "workbench: c" el jueves 30 de octubre -08 lista 6464 hp-rwed 25-feb-02 22:30:00 1 archivo - 14 bloques usados AmigaPrompt> qué lista lista RES

Variables locales y globales [ editar ]

Como cualquier otro DOS, Amiga se ocupa de las variables de entorno que se utilizan en la programación por lotes.

Existen tanto variables globales como locales, y se las conoce 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 colisión de nombres, las variables locales tienen prioridad sobre las globales. Las variables globales se pueden configurar con el comando SetEnv , mientras que las variables locales se pueden configurar con el comando Set . También existen los comandos GetEnv y Get que se pueden usar para imprimir variables globales y locales.

Los ejemplos siguientes demuestran un uso simple:

1> setenv foo blapp 1>  echo $ foo blapp 1>  set  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

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

Al programar scripts de AmigaDOS, se debe tener en cuenta que las variables globales son para todo el sistema. Todas las variables internas de la secuencia de comandos se establecerán utilizando variables locales, o se corre el riesgo de conflictos sobre variables globales entre secuencias de comandos. Además, las variables globales requieren acceso al sistema de archivos, lo que normalmente las hace más lentas de acceder que las variables locales.

Dado que ENVARC: también se usa para almacenar otras configuraciones del sistema además de las variables de cadena (como configuraciones del sistema, íconos predeterminados y más), tiende a crecer con el tiempo y copiar todo en 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. Ejemplos de tales manipuladores son [4] y. [5]

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

Sensibilidad a mayúsculas y minúsculas [ editar ]

AmigaDOS, en general , 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 la distinción entre mayúsculas y minúsculas como marca al formatear. Un ejemplo de un sistema de archivos de este tipo es Smart File System . Esto es muy conveniente cuando se trata de software transferido 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 se distinguen entre mayúsculas y minúsculas. Por lo tanto, los usuarios avanzados generalmente solo usarán la marca de distinción entre mayúsculas y minúsculas para los sistemas de archivos utilizados para el software que se origina en Un * x.

Se permite el cambio de mayúsculas y minúsculas de los nombres de archivos, directorios y volúmenes utilizando métodos normales; los comandos "rename foo Foo" y "relabel Bar: bAr:" son válidos y hacen exactamente lo que se espera, a diferencia de, por ejemplo, en 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 nomenclatura de volúmenes [ editar ]

Particiones y unidades físicas se refieren típicamente como DF0: (unidad de disquete 0), DH0: (disco duro 0), etc. Sin embargo, a diferencia de muchos sistemas operativos, fuera de una función de los dispositivos de hardware físicos como DF0: o hd0: la Los nombres de los discos, volúmenes y particiones individuales son totalmente arbitrarios: por ejemplo, una partición de disco duro podría llamarse Trabajo o Sistema , o cualquier otra cosa en el momento de su creación. Los nombres de volumen se pueden usar en lugar de los nombres de dispositivo correspondientes, por lo que se puede 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 solicitante o en AmigaShell.

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

Además, los nombres de los dispositivos lógicos se pueden configurar con el comando "asignar" a cualquier directorio o dispositivo; Los programas a menudo asignaban 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 hacer referencia al volumen desde el que se inició el sistema. Se proporcionan varios otros nombres predeterminados para hacer referencia 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 establecer en varios directorios, que se tratarán como una unión de sus contenidos. Por ejemplo, FONTS: podría asignarse a SYS: Fonts y luego extenderse para incluir, por ejemplo, Work: UserFonts usando la opción de agregar del comando de asignación de AmigaDos . Entonces, el sistema permitiría el uso de fuentes instaladas en cualquiera de los directorios. Listado de FUENTES: mostraría los archivos de ambas ubicaciones.

Convenciones de nombres y comportamiento típico de dispositivos virtuales [ editar ]

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 en PC. Cuando se inserta cualquier disquete formateado para PC en la disquetera, entonces el ícono DF0: floppy Amiga cambiará para indicar que el disquete es desconocido para el dispositivo Amiga normal y mostrará cuatro signos de interrogación ???? como el nombre de volumen estándar "desconocido", mientras que el icono PC0: aparecerá revelando el nombre del disco formateado para PC. Cualquier cambio de disco con discos formateados de Amiga invertirá este comportamiento.

Sistemas de archivos [ editar ]

AmigaDOS admite varios sistemas de archivos y variantes. El primer sistema de archivos se llamó simplemente Amiga FileSystem y era adecuado principalmente para disquetes, porque no admitía el arranque automático desde discos duros (en disquetes, el arranque se realizaba utilizando código del bloque de arranque). Pronto fue reemplazado por FastFileSystem (FFS) y, por lo tanto, el sistema de archivos original se conocía con el nombre de "Antiguo" Sistema de archivos (OFS). FFS era más eficiente en el 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 almacenadas en caché, particiones internacionales que permiten caracteres acentuados en los nombres de archivos y particiones y, finalmente (con MorphOS y AmigaOS 4 ) nombres de archivo largos, hasta 108 caracteres (desde 31).

Tanto AmigaOS 4.xy 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 AmigaOS 4 y MorphOS de Smart FileSystem es una bifurcación del SFS original y no son 100% compatibles con él.

Otros sistemas de archivos como FAT12 , FAT16 , FAT32 de Windows o ext2 de Linux están disponibles a través de bibliotecas del sistema fácilmente instalables (arrastrar y soltar) o módulos de terceros como FAT95 [8] (características de soporte de lectura / escritura), que se pueden encontrar en Repositorio de software de Aminet . MorphOS 2 tiene soporte incorporado 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 otros fabricantes incluyen Professional FileSystem , que es un sistema de archivos con una estructura sencilla, basado en metadatos , que permite una alta coherencia interna, capaz de desfragmentarse sobre la marcha y no requiere ser desmontado antes de volver a montarlo; y inteligente FileSystem que es un diario del sistema de archivos que realiza por diario actividades durante inactividades del sistema, y ha sido elegido por MorphOS como su sistema de archivos estándar.

Variantes oficiales de los sistemas de archivos Amiga [ editar ]

Sistema de archivos antiguo / Sistema de archivos rápido

  • OFS (DOS0)
  • FFS (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)

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

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

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

Complementos FastFileSystem2 [ editar ]

Con la actualización de julio de 2007 de AmigaOS 4.0 en 2007, 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 [ editar ]

AmigaDOS tiene una única extensión de nombre de archivo obligatoria: ".info", que debe agregarse 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 la 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 del 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 usando extensiones, sino que examina el ícono asociado con un archivo o el encabezado binario del archivo para determinar el tipo de archivo.

Notas [ editar ]

  1. ^ "Copia archivada" . Archivado desde el original el 11 de marzo de 2007 . Consultado el 18 de julio de 2006 .Mantenimiento de CS1: copia archivada como título ( enlace )
  2. ^ [1] [ enlace muerto ]
  3. ^ Comodoro Amiga Inc. 1986
  4. ^ "disco / 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" . Código de Stephen Morley . Consultado el 5 de abril de 2016 .
  7. ^ Uso de C-Kermit: software de comunicación . pag. 549. ISBN 978-1-55558-164-0.
  8. ^ "disco / misc / fat95.lha" . Aminet . Consultado el 15 de julio de 2016 .

Referencias [ editar ]

  • Comodoro Amiga Inc. (1986). Manual de usuario de AmigaDOS . Computadora Bantam .

Enlaces externos [ editar ]

  • 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 .