El sistema de archivos Amiga Fast File System (abreviado AFFS , o más comúnmente conocido históricamente como FFS ) es un sistema de archivos utilizado en la computadora personal Amiga del fabricante de computadoras Commodore Int'l. El sistema de archivos anterior de Amiga nunca recibió un nombre específico y originalmente se conocía simplemente como "DOS" o AmigaDOS . Tras el lanzamiento de FFS y con fines de diferenciación, el sistema de archivos original pasó a conocerse retrospectivamente como Amiga's Old File System , abreviado OFS. El sistema de archivos anterior, OFS, que fue diseñado principalmente para usarse con disquetes, había demostrado ser lento para seguir el ritmo de los discos duros de la época.
FFS fue diseñado para reemplazar por completo el 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 contienen únicamente datos, lo que permite al sistema de archivos gestionar la transferencia de grandes cantidades de datos directamente desde el adaptador del host hasta el destino final.
Características
OFS fue el predecesor de FFS. Antes del lanzamiento de FFS, AmigaOS tenía un único sistema de archivos llamado simplemente AmigaDOS: este utilizaba 24 bytes por sector para datos de redundancia, lo que permitía reconstruir datos estructurales en soportes menos fiables, como los disquetes. Cuando los soportes de mayor velocidad (es decir, los discos duros ) se hicieron más accesibles para Amiga, estos datos redundantes supusieron un cuello de botella, ya que todos los datos debían realinearse para pasarlos a la aplicación. La redundancia se eliminó con FFS y los datos leídos de los soportes 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 retrocompatible y podía acceder a dispositivos formateados con OFS.
Dadas estas ventajas, FFS se adoptó rápidamente como el sistema de archivos más común utilizado por casi todos los usuarios de Amiga, aunque OFS continuó utilizándose ampliamente en disquetes de proveedores de software externos. (Esto se debía exclusivamente a la compatibilidad con sistemas anteriores a AmigaOS 2 en juegos y aplicaciones que en realidad no requerían AmigaOS 2 o superior, 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 sí podían leerlos si tenían FFS instalado).
El sistema de archivos FFS de Amiga es simple y eficiente, y en su momento fue más que suficiente, con muchas ventajas respecto a los sistemas de archivos de otras plataformas. Sin embargo, al igual que OFS antes que él, quedó obsoleto; a medida que las unidades se hicieron más grandes y aumentó el número de archivos en ellas, su uso como sistema de archivos cotidiano 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 viene incluido con MorphOS y AmigaOS 4 .
En la última versión de AmigaOS para Commodore , la 3.1, FFS seguía siendo el único sistema de archivos incluido de serie con la Amiga, pero ya mostraba signos de obsolescencia con el avance de la tecnología. FFS (y OFS) almacena un " mapa de bits " del sistema de archivos en un único sector. Al escribir, este se marca primero como inválido, luego se completa la escritura, y finalmente el mapa de bits se actualiza y se marca como válido. Si una operación de escritura se interrumpe por un fallo o la extracción del disco, esto permite que el programa "validador de disco" deshaga el daño. Esto se asemejaba a una forma muy simple de registro de sistema de archivos . Para permitir que el disco se vuelva a usar con un sistema de archivos OFS o FFS invalidado, es necesario escanear completamente el disco y reconstruir el mapa de bits, pero solo se perderían 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 incluía originalmente un validador de disco en cada disco de arranque, el cual era propenso a ser reemplazado por virus para propagarse (por ejemplo, el virus "Saddam Hussein"). Posteriormente, a partir de Kickstart 2.x, se integró a la ROM, protegiéndolo de reemplazos maliciosos. El validador de disco intentaba reparar el mapa de bits de una unidad invalidada protegiéndola contra escritura y analizándola; esto podía tardar mucho tiempo y ralentizaba considerablemente el acceso al disco hasta su finalización, especialmente en medios de almacenamiento lentos. A medida que los discos duros aumentaban su capacidad y contenían más archivos, el proceso de validación podía durar varias horas. Además, era posible perder archivos y directorios (a menudo sin que el usuario fuera notificado) durante el proceso si sus hashes de datos estaban dañados. En algunos casos, el validador podía fallar y dejar el disco en un estado no validado, lo que obligaba al usuario a utilizar una herramienta de terceros como DiskSalv para que el volumen volviera a ser escribible, o simplemente a guardar los archivos copiándolos a 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 aproximadamente 4 GB, o al menos a los primeros 4 GB en una unidad más grande. [ 2 ] Intentar usar particiones FFS más allá de este límite causó una grave corrupción de datos en toda la unidad. FFS recibió tardíamente algunos parches de 64 bits de terceros y luego actualizaciones oficiales (pero no de Commodore) para permitirle sortear estas limitaciones. Estas últimas se suministraron con AmigaOS 3.5 y 3.9, de Haage & Partner. Las primeras a menudo se suministraban con controladores de disco de terceros, como los de Phase5 , donde la capacidad de usar discos de gran capacidad era un punto de venta. Los dos sistemas no eran mutuamente compatibles.
En cuanto a herramientas de soporte, aunque Commodore solo incluía una aplicación llamada DiskDoctor (que posteriormente eliminó de los discos de AmigaOS), FFS contaba con una pequeña selección de herramientas de terceros —principalmente DiskSalv— para mantener el sistema de archivos, repararlo y validarlo, recuperar archivos eliminados o revertir los "formatos rápidos" (inicializaciones del sistema de archivos). Un volumen OFS o FFS debía bloquearse para desfragmentarlo o convertirlo a diferentes modos FFS y así evitar la corrupción, lo que lo hacía inaccesible para todo excepto para la herramienta que lo desfragmentaba. La mayoría de estas herramientas no se actualizaron cuando FFS adquirió capacidad de direccionamiento de 64 bits y solo podían operar en particiones menores de 4 GB; no podían leer particiones mayores de 4 GB y, por lo general, corrompían las particiones que superaban ese límite. Cuando los discos duros utilizados por los usuarios de Amiga alcanzaron los 4 GB de tamaño, esto se convirtió en un problema.
Por todas estas razones, a mediados de la década de 1990, los usuarios solían reemplazar FFS por alternativas más modernas como Smart File System (SFS) y Professional File System (PFS), que no presentaban estas limitaciones y se consideraban más seguras, rápidas y eficientes. SFS, en particular, continuó desarrollándose y ahora es prácticamente un sistema de archivos genérico de AmigaOS, al igual que FFS, y es el sistema de archivos predeterminado para AROS .
Historia
FFS se introdujo con la versión 1.3 de AmigaOS [ 3 ] en 1988, [ 4 ] y reemplazó tanto la ROM Kickstart (o el disquete Kickstart para los A1000) como el disquete Workbench con software actualizado. Tenía el número de versión v34, al igual que el resto de los componentes de AmigaOS 1.3.
Kickstart 1.3 proporcionó soporte para el arranque automático, de modo que la máquina ahora podía arrancar desde el disco duro o el disco RAM a prueba de reinicios ("RAD:"), mientras que las versiones anteriores de Kickstart solo podían arrancar desde el disquete. Workbench 1.3 proporcionó el controlador del sistema de archivos FFS en el disco, que podía copiarse en el Bloque de Disco Rígido (RDB) de los discos duros. Los dispositivos de bloques compatibles cargarían e instalarían el controlador del sistema de archivos antes de que se montaran los sistemas de archivos, lo que permitiría usar sistemas de archivos cargables en discos duros. Kickstart 1.2 podía arrancar Workbench 1.3 desde el disquete (y viceversa), pero necesitaba tanto Kickstart como Workbench 1.3 para el arranque automático de discos duros formateados en FFS.
A partir de Kickstart 2.0, la compatibilidad con FFS se integró en el sistema de archivos basado en ROM, por lo que ya no era necesario instalar FFS en la RDB. La posibilidad de cargar sistemas de archivos desde la RDB seguía estando disponible para quienes desearan corregir errores de la ROM, obtener nuevas funciones de FFS o utilizar un sistema de archivos de terceros.
Los disquetes son dispositivos sin particiones, sin RDB y que tampoco utilizan el mecanismo de arranque automático, por lo que solo podían arrancar si el tipo de disco era compatible con el sistema de archivos basado en ROM. En consecuencia, los disquetes con formato FFS no eran arrancables hasta el lanzamiento de Kickstart 2.0, y montarlos en Workbench 1.3 requería soluciones chapuceras poco elegantes y sin soporte. Del mismo modo, las variantes de "Caché de directorio" no eran arrancables ni compatibles hasta Kickstart 3.0.
Las distintas versiones de FFS no presentaban problemas de compatibilidad con el software de Amiga, incluso con aquellos considerados "poco compatibles con el sistema". El software utilizaba las llamadas al sistema y, por lo tanto, funcionaba con cualquier sistema de archivos, o bien era un "cargador de pistas" y no utilizaba ningún sistema de archivos.
Modos FFS
FFS funcionaba en varios modos, definidos como "tipos DOS". Los sistemas de archivos de AmigaOS se identifican mediante un descriptor de cuatro letras que se especifica en la RDB o en una lista de montaje o controlador DOS ; alternativamente (como ocurría en dispositivos tipo trackdisk como los disquetes), el disco mismo podía formatearse en cualquier tipo DOS especificado.
Los tipos FFS-DOS introducidos con AmigaOS v1.3 (v34) fueron los siguientes: [ 5 ]
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 archivo, [ 7 ] y para una caché de directorio en disco . Cada nuevo modo estaba disponible con OFS-DOSTypes y FFS-DOSTypes. Este sistema peculiar se debía a razones de paridad: los modos OFS, salvo uno, DOS\0casi nunca se usaban, pero estaban disponibles de todos modos.
Los nuevos tipos FFS-DOS introducidos con AmigaOS v2.04 (v37):
La última versión principal publicada de FFS por Commodore (v39) introdujo los siguientes tipos de FFS-DOS con AmigaOS v3.0:
La versión v40.1 fue la última versión de FFS lanzada por Commodore, y venía con AmigaOS 3.1, tanto en los discos del sistema operativo como en la ROM.
Posteriormente, aparecieron varios parches no oficiales que permitían su uso en unidades posteriores a los primeros 2 GB de un disco duro, utilizando un sistema de direccionamiento de 64 bits llamado TrackDisk64 o TD64 (aunque el límite de 2 GB en el tamaño de los archivos y el límite de 127 GB en el tamaño de las particiones se mantuvieron, ya que era una limitación de AmigaOS dos.libraryy de todo el software Amiga vigente en ese momento) y llevaban el número de versión v44.
La versión de FFS que venía con las últimas versiones oficiales de AmigaOS con licencia del distribuidor alemán Haage & Partner , AmigaOS 3.5 y v3.9 respectivamente, era la v45. Se diferenciaba de las versiones anteriores en que utilizaba un sistema de direccionamiento alternativo de 64 bits, llamado New Style Device o NSD.
Más recientemente, en 2003, MorphOS y AmigaOS 4 introdujeron soporte para una versión ligeramente actualizada de "FFS2", creada por Olaf Barthel (FFS v46 y v50 respectivamente). Esta versión es compatible con la versión anterior de FFS. Es nativa de PowerPC e introdujo dos tipos de DOS adicionales:
Sin embargo, a pesar de haber obtenido posteriormente funciones adicionales y, finalmente, la capacidad de usar nombres de archivo largos, para cuando se implementaron estas mejoras, FFS ya 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, existen pocas o ninguna diferencia funcional entre FFS y FFS2 (aunque es posible que se hayan corregido algunos errores antiguos no especificados) y aún así no debería usarse excepto para fines de compatibilidad con versiones anteriores. La validación del disco sigue siendo necesaria en FFS2 (y aún puede resultar en pérdida de datos), al igual que en FFS, a pesar de las creencias iniciales en sentido contrario.
En septiembre de 2018, Hyperion Entertainment lanzó Amiga OS 3.1.4, basado en el código fuente de Amiga OS 3.1. Incluía una versión actualizada de FastFileSystem V46 en la ROM Kickstart. El FFS V46 admite de forma nativa las API para TD_64 , NSD y/o las llamadas de almacenamiento TD_ clásicas de 32 bits . Esto permite que Amiga OS v3.x utilice y arranque desde medios de almacenamiento grandes (>4 GB) de forma nativa, y admita particiones de más de 2 GB.
En julio de 2019, se incluyó una actualización adicional basada en archivos para FFS en la actualización 3.1.4.1. [ 13 ] En mayo de 2021, se lanzó una versión actualizada de Amiga OS 3.2 [ 14 ] y proporcionó una actualización V47 FFS basada en ROM que obtuvo algunas características y correcciones menores.
Otras implementaciones
Existían pocas implementaciones capaces de leer sistemas de archivos FFS, que normalmente requerirían un emulador de Amiga y una copia de las ROM del sistema operativo para su lectura. Cabe destacar que la compatibilidad con affs (Amiga Fast File System) se puede compilar en los núcleos 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 extremadamente raros).
En Amiga, la aplicación gratuita xfs [ 15 ] 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 del propio FFS/FFS2, que lo hacía. No era compatible con DOS\6 ni DOS\7, a los que precedió, ni con el formateo de dispositivos.
Véase también
Referencias
- ↑ "Sistema de archivos" . www.AmigaWiki.net . 2019. Consultado el 23 de enero de 2025 .
- ↑ Rapp, Thomas (5 de septiembre de 2009). "Página web de Tom: Preguntas frecuentes sobre el problema de los 4 GB" . thomas-rapp.hier-im-netz.de . Consultado el 12 de mayo de 2026 .
- ↑ Donner, Gregory. "wb_13chg.txt" . gregdonner.org . Consultado el 12 de noviembre de 2012 .
- ↑ Lanzamiento de la versión 1.3 confirmado el 16 de septiembre de 1988 por Carolyn Scheppner de CATS en amiga.dev en BIX . Copia del anuncio de BIX de USENET.
- ↑ Manual de usuario de AmigaOS 3.1
- ↑ AMIGA Technologies GmbH (1995). AMIGA OS 3.1 Workbench . Escom AG. pág. 84.
Los discos Fast File System son incompatibles con las versiones de software Workbench anteriores a la 2.0 y no deben seleccionarse para discos que también se utilicen en Amigas anteriores a la versión 2.
- ↑ 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.
- ↑ AMIGA Technologies GmbH (1995). AMIGA OS 3.1 Workbench . Escom AG. pág. 84.
El modo internacional es incompatible con las versiones de software Workbench anteriores a la 2.0 y no debe seleccionarse para discos que también se utilicen en Amigas anteriores a la versión 2.
- ↑ "Guía de historia de Amiga" . www.AmigaHistory.co.uk . Consultado el 1 de mayo de 2017 .
- ↑ "Limitaciones y desventajas en los modos DCFS - Wiki de documentación de AmigaOS" . wiki.amigaos.net . Consultado el 7 de mayo de 2017 .
- 1 2 "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 .
- ↑ AMIGA Technologies GmbH (1995). AMIGA OS 3.1 Workbench . Escom AG. pág. 84.
Los discos que utilizan Directory Cache son incompatibles con las versiones de software Workbench anteriores a la 3.0 y no deben seleccionarse para discos que también se utilicen en Amigas anteriores a la versión 3.
- ↑ "Actualización a AmigaOS 3.1.4 publicada" .
- ↑ "Noticias" .
- ↑ xfs lee esto aminet.net
Enlaces externos
- Sistemas de archivos de disco
- Amiga
- AmigaOS
- MorphOS
- Sistemas de archivos compatibles con el kernel de Linux