stringtranslate.com

AmigaDOS

AmigaDOS es el sistema operativo de disco de AmigaOS , que incluye sistemas de archivos , manipulación de archivos y directorios, 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 AmigaDOS [1] (ARP, anteriormente AmigaDOS Reemplazo Proyecto ), [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 de 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 sea 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

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

La consola tiene varias características que se consideraban actualizadas cuando se creó en 1985, como ayuda de plantilla de comando, 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 se lanzaron pilas TCP/IP como AmiTCP a principios de la década de 1990, la consola también podía recibir redirección desde controladores de dispositivos Amiga habilitados para Internet (por ejemplo, TCP:, copiar archivo A TCP:Sitio/Puerto ).

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 optaron por utilizar el estándar ANSI- ISO ISO-8859-1 (Latin 1) , que incluye el juego de caracteres ASCII . Como en los sistemas Unix , la consola Amiga sólo acepta salto de línea (" LF ") como carácter de fin de línea (" EOL "). La consola Amiga admite caracteres acentuados, así como caracteres creados mediante 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:

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.

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 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 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:

Romper comandos y pausar la salida de la consola

Un usuario puede finalizar un programa invocando la combinación de teclas Ctrl+ Co + . Al presionar o imprimir cualquier carácter 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. Aquí hay un ejemplo de caracteres comodín en los comandos de AmigaDOS:

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

secuencias de comandos

AmigaDOS también tiene la función de trabajar con programación por lotes , a la que llama programación "script", y tiene una serie de comandos como Echo , If , Then , EndIf , Val y Skip para lidiar con la programación de scripts estructurados. 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 script, AmigaDOS usa el comando Ejecutar .

Este método de ejecutar 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 finalice el script o hasta que lo interrumpan.

Mientras:

Puntas 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 usar el comando Proteger o usar la entrada Información del menú Iconos en Workbench en los archivos seleccionados. AmigaDOS admite el siguiente conjunto de bits de protección (abreviado como HSPARWED):

A menudo se ha malinterpretado el bit H con el significado de "Ocultar". En Smart File System (SFS), los archivos y directorios con bits H configurados están ocultos del sistema. Todavía es posible acceder a archivos ocultos, pero no aparecen en ningún directorio.

Demostración del bit H en acción:

AmigaPrompt> cual listaBanco de trabajo: C/ListaAmigaPrompt> lista del banco de trabajo:c/listDirectorio "workbench:c" el jueves 30-oct-08lista 6464 --p-rwed 25-feb-02 22:30:001 archivo - 14 bloques usadosAmigaPrompt> cual listaBanco de trabajo: C/ListaAmigaPrompt> proteger el banco de trabajo: c/list +h AmigaPrompt> qué listaBanco de trabajo: C/ListaAmigaPrompt> lista del banco de trabajo:c/listDirectorio "workbench:c" el jueves 30-oct-08lista 6464 hp-rwed 25-feb-02 22:30:001 archivo - 14 bloques usadosAmigaPrompt> cual listalista 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 maneja variables de entorno tal como se usan en la programación por lotes.

Hay 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 colisión de nombres, las variables locales tienen prioridad sobre las variables globales. Las variables globales se pueden configurar usando el comando SetEnv , mientras que las variables locales se pueden configurar usando 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 sencillo:

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>  escribir ENV:foo blapp 1> setenv guardar foo $foo 1>  escribir ENV :foo bar 1>  tipo ENVARC:foo bar
Tenga en cuenta el indicador 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 una asignación predeterminada a RAM:Env y ENVARC: es una asignación a SYS:Prefs/Env-archive donde SYS: se refiere al dispositivo de arranque. Al arrancar, el contenido de ENVARC: se copia a ENV: para mayor accesibilidad.

Al programar scripts de AmigaDOS, se debe tener en cuenta que las variables globales afectan a todo el sistema. Todas las variables internas del script se configurarán utilizando variables locales, o se corre el riesgo de conflictos sobre variables globales entre scripts. Además, las variables globales requieren acceso al sistema de archivos, lo que normalmente hace que su acceso sea más lento que 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. Ejemplos de tales 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 entre mayúsculas y minúsculas

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 indicador 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 del mundo Un*x que 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 normalmente solo usarán el indicador 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 cambiar las mayúsculas y minúsculas de los nombres de archivos, directorios y volúmenes utilizando métodos habituales; 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" genera 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

Las particiones y las unidades físicas normalmente se denominan 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:, el Los nombres de los discos, volúmenes y particiones individuales son totalmente arbitrarios: por ejemplo, una partición del disco duro podría llamarse Trabajo o Sistema , o cualquier otro nombre en el momento de su creación. Se pueden usar nombres de volúmenes en lugar de los nombres de dispositivos 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 solicitud o en AmigaShell.

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

Además, los nombres de 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 textos 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 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 múltiples directorios, que serán tratados como una unión de sus contenidos. Por ejemplo, FONTS: podría asignarse a SYS:Fonts y luego ampliarse para incluir, por ejemplo, Work:UserFonts usando la opción agregar del comando de asignación de AmigaDos . El sistema entonces 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 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 por PC. Cuando se inserta cualquier disquete formateado en PC en la unidad de disquete, el ícono DF0: floppy Amiga 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 estándar "desconocido", mientras que aparecerá el icono PC0: revelando el nombre del disco formateado en la PC. Cualquier cambio de disco con discos formateados en Amiga invertirá este comportamiento.

Sistemas de archivos

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 los disquetes, el arranque se realizaba utilizando el 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" FileSystem (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 amplió para reconocer particiones en caché, particiones internacionales que permiten caracteres acentuados en los nombres de archivos y particiones y, finalmente (con MorphOS y AmigaOS 4 ) nombres de archivos largos, 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, incluidos, 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 ampliar 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 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 del sistema fácilmente instalables (arrastrar y soltar) o módulos de terceros como FAT95 [8] (funciones de soporte de lectura/escritura), que se pueden encontrar en Repositorio de software 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 terceros fabricantes incluyen Professional FileSystem , que es un sistema de archivos de 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 Smart FileSystem , que es un sistema de archivos con registro en diario 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 Amiga

Sistema de archivos antiguo / Sistema de archivos rápido

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

Tanto DOS6 como DOS7 incluyen nombres de archivos internacionales que aparecen en DOS2 y DO3, pero no Directory Caching, que se abandonó debido a errores en la implementación original. Por este motivo, no se recomienda el uso de DOS4 y DOS5.

Los dostipos son compatibles con versiones anteriores entre sí, pero no con versiones anteriores. Un disco formateado en DOS7 no se puede leer en un Amiga FFS original y un disco en 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 que distribuían 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. Cuando el software necesitaba AmigaOS 2 de todos modos, generalmente se usaba DOS3.

Complementos FastFileSystem2

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

Extensiones de nombre de archivo

AmigaDOS tiene una sola 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 iconos también registra metadatos del programa, como opciones y palabras clave, su propia posición en el escritorio (AmigaOS puede "capturar instantáneas" de los 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 tipos de archivos usando extensiones, sino que examina el ícono asociado con un archivo o el encabezado binario del archivo mismo para determinar el tipo de archivo.

Ver también

Referencias

  1. ^ "El proyecto de recursos 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/Archive".
  3. ^ Comodoro-Amiga Inc. 1986
  4. ^ "disco/misc/HappyENV.lha". Amineta . Consultado el 15 de julio de 2016 .
  5. ^ "util/sys/envhandler.lha". Amineta . 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). Usando C-Kermit: Software de comunicación . pag. 549.ISBN _ 978-1-55558-164-0.
  8. ^ "disco/misc/fat95.lha". Amineta . Consultado el 15 de julio de 2016 .

Otras lecturas

enlaces externos