stringtranslate.com

Sistema de archivos rápido Amiga

El Amiga Fast File System (abreviado AFFS , o más comúnmente históricamente como FFS ) es un sistema de archivos utilizado en la computadora personal Amiga . El sistema de archivos Amiga anterior nunca recibió un nombre específico y originalmente se conocía simplemente como "DOS" o AmigaDOS. Tras el lanzamiento de FFS, el sistema de archivos original pasó a ser conocido como Amiga Old File System (OFS). OFS, que fue diseñado principalmente para su uso con disquetes, había demostrado ser lento para mantenerse al día con los discos duros de la época. FFS fue diseñado como un reemplazo completo del sistema de archivos original de Amiga. FFS se diferencia de su predecesor principalmente en la eliminación de información redundante. Los bloques de datos no contienen más que datos, lo que permite que el sistema de archivos administre la transferencia de grandes cantidades de datos directamente desde el adaptador host al destino final.

Características

OFS fue el predecesor de FFS. Antes de que se lanzara FFS, AmigaOS tenía un único sistema de archivos llamado simplemente AmigaDOS: utiliza 24 bytes por sector para datos redundantes, lo que permite reconstruir datos estructurales en medios menos confiables, como disquetes. Cuando los medios de mayor velocidad (es decir, los discos duros) estuvieron más disponibles para Amiga, estos datos redundantes plantearon un cuello de botella ya que todos los datos debían realinearse para pasar a la aplicación. La redundancia se eliminó con FFS y los datos leídos desde los medios se pasan directamente a la aplicación. El sistema de archivos anterior, AmigaDOS, pasó a llamarse OFS, Old File System, para diferenciarlo de FFS. FFS era compatible con versiones anteriores y podía acceder a dispositivos formateados con OFS.

Dadas estas ventajas, FFS fue rápidamente adoptado como el sistema de archivos más común utilizado por casi todos los usuarios de Amiga, aunque OFS continuó siendo ampliamente utilizado en disquetes de terceros proveedores de software. (Esto fue puramente por compatibilidad con sistemas anteriores a AmigaOS 2 en juegos y aplicaciones que en realidad no requerían AmigaOS 2+, ya que las máquinas que ejecutaban versiones anteriores del sistema operativo sin FFS en la ROM no podían arrancar desde estos disquetes, aunque aún podían leer ellos si tenían FFS instalado).

Amiga FFS es simple y eficiente, y cuando se introdujo fue más que adecuado y tenía muchas ventajas en comparación con los sistemas de archivos de otras plataformas. Sin embargo, como había hecho OFS antes, envejeció; A medida que las unidades se hicieron más grandes y la cantidad de archivos en ellas aumentó, su uso como sistema de archivos diario se volvió más problemático en términos de dificultad de mantenimiento y competitividad del rendimiento general. A pesar de esto, todavía se usa en sistemas AmigaOS y se envía tanto con MorphOS como con AmigaOS 4 .

En la última versión Commodore de AmigaOS, 3.1, FFS seguía siendo el único sistema de archivos incluido como estándar en Amiga, pero ya estaba mostrando su edad a medida que avanzaba la tecnología. FFS (y OFS) almacena un "mapa de bits" del sistema de archivos en un solo sector. Al escribir, esto primero se marca como no válido, luego se completa la escritura y luego el mapa de bits se actualiza y se marca como válido. Si una operación de escritura se ve interrumpida por un fallo o por la extracción del disco, esto permite que el programa 'validador de disco' deshaga el daño. Esto parecía una forma muy simple de registro en diario del sistema de archivos . Para permitir que el disco se utilice nuevamente con un sistema de archivos OFS o FFS invalidado, se debe escanear completamente todo el disco y reconstruir el mapa de bits, pero solo se perderán los datos que se modifican durante la escritura. Durante este escaneo, no se puede escribir en el disco (excepto por el validador de disco mientras realiza su función) y el acceso de lectura es muy lento.

AmigaOS originalmente incluía un validador de disco en cada disco de arranque, que era propenso a ser reemplazado por virus para permitir su propagación (por ejemplo, el virus "Saddam Hussein"). Posteriormente pasó a formar parte de la ROM desde Kickstart 2.x en adelante, protegiéndola de reemplazos maliciosos. El validador de disco intentó reparar el mapa de bits en una unidad invalidada protegiéndola contra escritura y escaneándola; Esto podía llevar mucho tiempo y hacía que el acceso al disco fuera muy lento hasta que estuviera terminado, especialmente en medios más lentos. A medida que los discos duros crecían y contenían más archivos, el proceso de validación podía tardar muchas horas. Además, es posible que se pierdan archivos y directorios (a menudo sin que el usuario sea notificado o incluso sin que se dé cuenta) durante el proceso si sus hashes de datos estuvieran dañados. En algunos casos, el validador podría fallar y dejar el disco en un estado no validado, lo que requeriría que el usuario utilice una herramienta de disco de terceros como DiskSalv para que se pueda escribir en el volumen nuevamente, o simplemente guardar los archivos copiándolos en una partición nueva. —un proceso muy lento.

FFS también estaba originalmente limitado a direccionamiento de 32 bits y, por lo tanto, a unidades de 4 GB, o al menos los primeros 4 GB en una unidad más grande. Intentar utilizar particiones FFS más allá de este límite provocó una corrupción grave de los datos en todo el disco. FFS obtuvo tardíamente algunos parches de 64 bits de terceros y luego actualizaciones oficiales (pero no de Commodore) para permitirle eludir estas limitaciones. Estos últimos se suministraron con AmigaOS 3.5 y 3.9, de Haage & Partner. Los primeros a menudo se suministraban con controladores de disco de terceros, como los de Phase5 , donde la capacidad de utilizar discos de gran capacidad era un punto de venta. Los dos sistemas no eran mutuamente compatibles.

En términos de herramientas de soporte, aunque Commodore solo se envió con una aplicación llamada DiskDoctor (y luego la eliminó de los discos AmigaOS), FFS tenía una pequeña selección de herramientas de terceros, en particular DiskSalv, para mantener el sistema de archivos y reparar y validar. recuperar archivos o invertir "formatos rápidos" (inicializaciones del sistema de archivos). Un volumen OFS o FFS tenía que bloquearse para desfragmentarlo o convertirlo a diferentes modos FFS para evitar la corrupción y esto lo hacía inaccesible a todo excepto a la herramienta que lo desfragmentaba. La mayoría de estas herramientas no se actualizaron cuando FFS llegó a ser capaz de direccionamiento de 64 bits y sólo podía funcionar en particiones de menos de 4 GB; no podían leer particiones de más de 4 GB y, por lo general, corrompían particiones "más allá" del límite de 4 GB. Cuando los discos duros utilizados por los usuarios de Amiga alcanzaron un tamaño de 4 GB, esto se convirtió en un problema.

Por todas estas razones, los usuarios a menudo reemplazaban FFS a mediados de la década de 1990 con alternativas más actualizadas como Smart File System (SFS) y Professional File System (PFS), que no tenían estas limitaciones y se consideraban más seguro, más rápido y más eficiente. SFS en particular continuó desarrollándose y ahora [ ¿ cuándo? ] tan parecido a un sistema de archivos AmigaOS genérico como FFS, y es el sistema de archivos predeterminado para AROS .

Historia

FFS se introdujo con la versión 1.3 de AmigaOS [1] en 1988, [2] y reemplazó tanto la ROM Kickstart (o disquete Kickstart para A1000) como el disquete Workbench con software actualizado. Llevaba el número de versión v34, como el resto de componentes de AmigaOS 1.3.

Kickstart 1.3 proporcionó soporte de inicio automático para que la máquina ahora pudiera iniciarse desde un disco duro o un disco RAM a prueba de reinicio ("RAD:"), mientras que las versiones anteriores de Kickstart solo podían iniciarse desde un disquete. Workbench 1.3 proporcionó el controlador de dispositivo del sistema de archivos FFS en el disco, que se podía copiar en el bloque de disco rígido (RDB) en los discos duros. Los dispositivos de bloque compatibles luego cargarían e instalarían el controlador del sistema de archivos antes de que se montaran los sistemas de archivos y, por lo tanto, harían posible el uso de sistemas de archivos cargables en discos duros. Kickstart 1.2 podía arrancar Workbench 1.3 desde un disquete (y viceversa), pero necesitaba tanto Kickstart como Workbench 1.3 para arrancar automáticamente los discos duros formateados con FFS.

La compatibilidad con FFS se fusionó con el sistema de archivos basado en ROM desde Kickstart 2.0 en adelante, por lo que ya no era necesario instalar FFS en la RDB. La capacidad de cargar sistemas de archivos desde RDB aún estaba disponible en caso de que uno deseara corregir errores de ROM, obtener nuevas funciones de FFS o utilizar un sistema de archivos de terceros.

Los disquetes son dispositivos no particionados sin un RDB y tampoco utilizan el mecanismo de arranque automático, por lo que solo se pueden arrancar si el tipo de disco del disco era uno que el sistema de archivos basado en ROM entendiera. Como resultado, los disquetes con formato FFS no se podían arrancar hasta el lanzamiento de Kickstart 2.0, y montarlos en Workbench 1.3 implicaba algunos trucos feos y no compatibles. De manera similar, las variantes de "Directory Cache" no eran arrancables ni admitidas hasta Kickstart 3.0.

Las distintas versiones de FFS no tuvieron ningún problema de compatibilidad con el software de Amiga, ni siquiera aquellos que se consideraron "no amigables con el sistema". El software usaría las llamadas al sistema y, por lo tanto, funcionaría con cualquier sistema de archivos, o sería "cargador de pistas" y no usaría ningún sistema de archivos.

FFS operó en varios modos, definidos por "dostipos". Los sistemas de archivos AmigaOS se identifican mediante un descriptor de cuatro letras que se especifica en la RDB o en una lista de montaje o dosdriver; alternativamente (como era el caso en dispositivos similares a trackdisk, como los disquetes), el disco en sí podría formatearse en cualquier tipo de dos especificado.

Los dostipos de FFS fueron los siguientes: [3]

DOS\ 0 : El sistema de archivos original de Amiga (OFS). Esto se dejó por motivos de compatibilidad, y la mayoría de los disquetes enviados por compañías de software o como discos de portada de revistas usaban este tipo de dos para poder arrancar en máquinas anteriores a 2.x como el Amiga 500. También significó que los usuarios con OFS- las unidades formateadas podrían leerlos una vez que hubieran instalado FFS en el RDB.

DOS\ 1 : El nuevo sistema de archivos, FFS. Las primeras versiones de FFS basadas en disco no tenían modos adicionales.

AmigaOS 2.04 hizo que FFS (ahora v37) formara parte de la ROM Kickstart e introdujo nuevos modos para manejar caracteres internacionales en nombres de archivos, [4] y para un caché de directorio en disco. Cada nuevo modo estaba disponible con dostipos OFS y FFS. Este extraño sistema buscaba la paridad: los modos OFS aparte de DOS\0 casi nunca se usaban, pero de todos modos estaban disponibles. (Aunque OFS, todavía no eran compatibles con los sistemas Amiga sin FFS).

Los cuatro nuevos tipos de dos introducidos con la versión 37 de FFS:

DOS\ 2 : El modo "Internacional" (OFS-INTL) permite a OFS manejar nombres de archivos con "caracteres internacionales", es decir, aquellos que no se encuentran en inglés (juego de caracteres latinos), como ä y ê.

DOS\ 3 : Modo internacional, para FFS (FFS-INTL). Este era el modo FFS más utilizado. (Todos los tipos de dos superiores tienen el modo internacional siempre habilitado).

DOS\ 4 : Modo "Directory Cache" (OFS-DC) habilitado para caché primitivo mediante la creación de listas de directorios dedicadas en lugar de tener que seleccionar las entradas de directorios/archivos vinculados que se encuentran esparcidos por el disco. Se asigna una cierta (pequeña) cantidad de espacio en disco para almacenar los datos del directorio. [5] La opción DirCache mejoró drásticamente la velocidad de lectura del directorio, pero la creación, eliminación y cambio de nombre de archivos se volvió más lenta. No aumentó la velocidad de lectura de archivos individuales.

Se convirtió en una opción popular en los discos duros de Amiga, pero según Olaf Barthel, autor de FFS2, el uso de modos dircache probablemente era mejor para los disquetes que para los discos duros, donde causaría una degradación general del rendimiento en comparación con la falta. de dircache. [ cita necesaria ] A pesar de esto, rara vez se usaba en disquetes, particularmente debido a que el caché consumía un espacio precioso y, en primer lugar, al espacio limitado que impedía que se almacenara en caché una gran cantidad de archivos. El modo dircache carece de un mecanismo de "recolección de basura", lo que significa que los bloques de caché parcialmente llenos nunca se consolidan y seguirán ocupando espacio. [6]

DOS\ 5 : Almacenamiento en caché de directorios con FFS (FFS-DC). Ambos modos de dircache no eran compatibles con versiones anteriores de FFS.

La versión 40.1 fue la última versión de FFS lanzada por Commodore y vino con AmigaOS 3.1, tanto en los discos del sistema operativo como en la ROM. Después de esto, aparecieron varios parches no oficiales que permitían su uso en unidades posteriores a los primeros 2 GB de un disco duro usando un sistema de direccionamiento de 64 bits llamado TrackDisk64 o TD64 (aunque el límite de 2 GB en tamaño de archivo y el límite de 127 GB en tamaño de partición permaneció, ya que era una limitación de AmigaOS dos.library y todo el software Amiga vigente en ese momento) y llevaba el número de versión v44. La versión de FFS que vino con AmigaOS 3.5 y 3.9 era la v45 y se diferenciaba en que usaba un sistema de direccionamiento de 64 bits diferente, New Style Device o NSD.

Más recientemente (desde 2003), MorphOS y AmigaOS 4 han introducido soporte para un "FFS2" ligeramente actualizado, de Olaf Barthel (FFS v46, v50 respectivamente). Esto es compatible con el FFS anterior. Es nativo de PowerPC e introdujo dos tipos de dos más (que no pueden ser leídos por el FFS anterior):

DOS\ 6 : "Nombre de archivo largo" (OFS-LNFS). Esto permitió que los archivos tuvieran un nombre de archivo más largo (hasta 107 caracteres) que el límite habitual de Amiga, que era de 31 caracteres. [6]

DOS\ 7 : Nombres de archivo largos para FFS (FFS-LNFS).

No había modos de almacenamiento en caché de directorio disponibles para los tipos de dos LNFS y el modo internacional siempre estaba habilitado.

A pesar de la capacidad de utilizar nombres de archivos largos, en ese momento FFS se comparaba muy mal con otros sistemas de archivos disponibles en las plataformas para las que estaba disponible. Aparte de estos tipos de dos adicionales, hay poca o ninguna diferencia funcional entre FFS y FFS2 (aunque es posible que se hayan solucionado algunos errores antiguos no especificados) y aún así no debería usarse excepto para propósitos heredados. La validación del disco sigue siendo necesaria en FFS2 (y aún puede provocar pérdida de datos) tal como lo era en FFS, a pesar de que inicialmente se creía lo contrario.

En septiembre de 2018, Hyperion Entertainment lanzó Amiga OS 3.1.4 desde la fuente Amiga OS 3.1. Incluía un FastFileSystem V46 actualizado en la ROM Kickstart. El FFS V46 admitía de forma nativa las API para TD_64, NSD y/o las clásicas llamadas de almacenamiento TD_ de 32 bits. Esto permite que Amiga OS v3.x use y arranque desde medios grandes (>4 GB) de forma nativa y admita tamaños de partición >2 GB. En julio de 2019, la actualización 3.1.4.1 incluía una actualización adicional basada en archivos para FFS. [7] En mayo de 2021, se lanzó un Amiga OS 3.2 actualizado [8] y proporcionó una actualización V47 FFS basada en ROM correspondiente que obtuvo algunas características menores y correcciones.

Otras implementaciones

Hubo algunas otras implementaciones que pueden leer sistemas de archivos FFS, que normalmente requerirían un emulador de Amiga y una copia de las ROM del sistema operativo para poder leerlos. En particular, el soporte para affs (Amiga Fast File System) se puede compilar en kernels de Linux y ofrece soporte completo de lectura, escritura y formato en particiones FFS y OFS de todos los tipos de dos excepto DOS\6 y DOS\7 (que probablemente sean increíblemente raras). ).

En Amiga, la aplicación gratuita xfs [9] podía, entre muchos sistemas de archivos, leer y escribir en dispositivos formateados en OFS o FFS, y probablemente era el único sistema de archivos de Amiga, aparte de FFS/FFS2, que lo hacía. No era compatible con DOS\6 o DOS\7, anteriores, ni con el formateo de dispositivos.

Ver también

Referencias

  1. ^ "wb_13chg.txt" . Consultado el 12 de noviembre de 2012 .
  2. ^ Lanzamiento 1.3 confirmado el 16 de septiembre de 1988 por Carolyn Scheppner de CATS en amiga.dev en BIX . Copia del anuncio BIX de USENET
  3. ^ Manual de usuario de AmigaOS 3.1
  4. ^ Todos los sistemas de archivos de Amiga pueden manejar caracteres internacionales, pero antes de las versiones internacionales trataban las letras mayúsculas y minúsculas como caracteres completamente distintos.
  5. ^ "Guía de historia de Amiga". www.AmigaHistory.co.uk . Consultado el 1 de mayo de 2017 .
  6. ^ ab "Estructuras de datos de bajo nivel DCFS y LNFS - Wiki de documentación de AmigaOS". wiki.amigaos.net . Consultado el 7 de mayo de 2017 .
  7. ^ "Lanzada la actualización a AmigaOS 3.1.4".
  8. ^ "Noticias".
  9. ^ xfs léame aminet.net

enlaces externos