stringtranslate.com

Sistema de archivos rápido de Amiga

El sistema de archivos rápido Amiga (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 anterior de Amiga nunca recibió un nombre específico y originalmente se lo conocía simplemente como "DOS" o AmigaDOS. Tras el lanzamiento de FFS, el sistema de archivos original pasó a conocerse 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 para 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 no contienen nada más que datos, lo que permite que el sistema de archivos administre la transferencia de grandes fragmentos de datos directamente desde el adaptador host hasta el 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 ) se hicieron más accesibles para Amiga, estos datos redundantes plantearon 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 desde el medio se pasan directamente a la aplicación. El sistema de archivos anterior, AmigaDOS, fue renombrado 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 usado por casi todos los usuarios de Amiga, aunque OFS continuó siendo ampliamente usado en disquetes de proveedores de software de terceros. (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 leerlos 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 OFS había hecho 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 del día a día 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 entrega con MorphOS y AmigaOS 4 .

En la última versión de Commodore de AmigaOS, la 3.1, FFS era todavía el único sistema de archivos que venía de serie con Amiga, pero ya estaba mostrando su edad a medida que la tecnología avanzaba. FFS (y OFS) almacenan un " mapa de bits " del sistema de archivos en un único sector. Al escribir, primero se marca como inválido, luego se completa la escritura, luego se actualiza el mapa de bits y se marca como válido. Si una operación de escritura se interrumpe por una falla o la extracción del disco, esto permite que el programa "validador de discos" deshaga el daño. Esto se parecía a una forma muy simple de registro del sistema de archivos . Para permitir que el disco se vuelva a usar con un sistema de archivos OFS o FFS invalidado, se debe escanear por completo todo 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 discos mientras realiza su función), y el acceso de lectura es muy lento.

Originalmente, AmigaOS 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"). Más tarde, se convirtió en parte de la ROM a partir de Kickstart 2.x, lo que lo protegía de reemplazos maliciosos. El validador de disco intentaba reparar el mapa de bits en una unidad invalidada protegiendo la unidad contra escritura y escaneándola; esto podía llevar mucho tiempo y hacía que fuera muy lento acceder al disco hasta que se terminara, especialmente en medios más lentos. A medida que los discos duros se hacían más grandes y contenían más archivos, el proceso de validación podía llevar muchas horas. Además, era posible que se perdieran archivos y directorios (a menudo sin que el usuario fuera notificado o incluso consciente) durante el proceso si sus hashes de datos estaban dañados. En algunos casos, el validador podría fallar y dejar el disco en un estado no validado, lo que requiere que el usuario use una herramienta de disco de terceros como DiskSalv para hacer que el volumen sea escribible nuevamente, o simplemente guardar los archivos copiándolos a una partición nueva , un proceso muy lento.

FFS también estaba limitado originalmente a un direccionamiento de 32 bits y, por lo tanto, a unidades de unos 4 GB, o al menos a los primeros 4 GB de una unidad más grande. Intentar utilizar particiones FFS más allá de este límite causaba 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 eludir 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 utilizar discos de gran capacidad era un argumento de venta. Los dos sistemas no eran mutuamente compatibles.

En términos de herramientas de soporte, aunque Commodore solo incluía una aplicación llamada DiskDoctor (y luego la eliminó de los discos de AmigaOS), FFS tenía una pequeña selección de herramientas de terceros, la más notable DiskSalv, para mantener el sistema de archivos y repararlo y validarlo, recuperar archivos o revertir "formatos rápidos" (inicializaciones del sistema de archivos). Un volumen OFS o FFS tenía que estar bloqueado para desfragmentarlo o convertirlo a diferentes modos FFS para evitar la corrupción y esto lo hacía inaccesible para todo excepto para la herramienta que lo desfragmentaba. La mayoría de estas herramientas no se actualizaron cuando FFS se volvió capaz de direccionamiento de 64 bits y solo podían operar en particiones más pequeñas que 4 GB; no podían leer particiones más grandes que 4 GB y generalmente corrompían particiones "más allá" del límite de 4 GB. Cuando los discos duros en uso 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 los años 90, los usuarios reemplazaron a FFS por 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 seguras, rápidas y eficientes. SFS, en particular, continuó desarrollándose y ahora es [¿ cuándo? ] lo más parecido a un sistema de archivos genérico de AmigaOS 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 el disquete Kickstart para los A1000) como el disquete Workbench con software actualizado. Llevaba el número de versión v34, como el resto de los componentes de AmigaOS 1.3.

Kickstart 1.3 ofrecía soporte para el arranque automático, de modo que la máquina podía arrancar desde el disco duro o desde un disco RAM a prueba de reinicios ("RAD:"), mientras que las versiones anteriores de Kickstart solo podían arrancar desde un disquete. Workbench 1.3 proporcionaba el controlador del dispositivo 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 bloque compatibles cargaban e instalaban el controlador del sistema de archivos antes de que se montaran los sistemas de archivos y, por lo tanto, hacían posible el uso de sistemas de archivos cargables en los 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.

El soporte de FFS se fusionó con el sistema de archivos basado en ROM a partir de Kickstart 2.0, por lo que ya no fue necesario instalar FFS en la RDB. La capacidad de cargar sistemas de archivos desde la RDB siguió estando disponible en caso de que uno quisiera corregir errores de ROM, obtener nuevas características de FFS o usar un sistema de archivos de terceros.

Los disquetes son dispositivos sin particiones, sin una base de datos de recursos y tampoco utilizan el mecanismo de arranque automático, por lo que solo se podían arrancar si el tipo de disco era uno que el sistema de archivos basado en ROM entendía. Como resultado, los disquetes con formato FFS no se podían arrancar hasta el lanzamiento de Kickstart 2.0, y montarlos bajo Workbench 1.3 implicaba algunos trucos desagradables sin soporte. De manera similar, las variantes de "Caché de directorio" no se podían arrancar ni se podían soportar hasta Kickstart 3.0.

Las distintas versiones de FFS no tenían ningún problema de compatibilidad con el software de Amiga, ni siquiera con aquellos que se consideraban "poco compatibles con el sistema". El software o bien utilizaba las llamadas del sistema y, por lo tanto, funcionaba con cualquier sistema de archivos, o bien "cargaba pistas" y no utilizaba ningún sistema de archivos.

FFS operaba en varios modos, definidos por "dostypes". Los sistemas de archivos de AmigaOS se identifican por un descriptor de cuatro letras que se especifica en la RDB o en una lista de montaje o controlador de dos; de manera alternativa (como era el caso de los dispositivos similares a los discos de pistas, como los disquetes), el disco en sí mismo podía formatearse en cualquier dostype especificado.

Los dostipos de FFS fueron los siguientes: [3]

DOS\ 0 : El sistema de archivos original de Amiga (OFS). Se mantuvo así por cuestiones de compatibilidad y la mayoría de los disquetes distribuidos por empresas de software o como discos de portada de revistas usaban este tipo de dos para poder arrancar en máquinas anteriores a la versión 2.x, como la Amiga 500. También significaba que los usuarios con unidades formateadas con OFS podían leerlas una vez que hubieran instalado FFS en la 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) fuera 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 los tipos de archivos OFS y FFS. Este extraño sistema era para la paridad: los modos OFS aparte de DOS\0 casi nunca se usaban, pero estaban disponibles de todos modos. (Aunque eran OFS, todavía no eran compatibles con los sistemas Amiga sin FFS).

Los cuatro nuevos tipos de dosificación introducidos con la versión v37 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 (conjunto 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 : Se habilitó el modo "Directory Cache" (OFS-DC) para crear una caché primitiva mediante la creación de listas de directorios dedicadas en lugar de tener que seleccionar las entradas de directorio/archivo vinculadas que se encuentran dispersas 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 de directorios, 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 de caché de directorio probablemente era mejor para disquetes que para discos duros, donde causaría una degradación general en el rendimiento en comparación con la falta de caché de directorio. [ cita requerida ] A pesar de esto, rara vez se usó en disquetes, particularmente debido a que la caché consume un espacio valioso y debido a que el espacio limitado evita que se almacene en caché una gran cantidad de archivos en primer lugar. El modo de caché de directorio 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 almacenamiento en caché de directorios 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 SO como en la ROM. Después de esto, aparecieron varios parches no oficiales que permitían su uso en unidades después de los primeros 2 GB de un disco duro que usaran 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 los tamaños de las particiones se mantuvieron, ya que era una limitación de AmigaOS dos.library y todo el software de 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 fue la v45 y se diferenciaba en que usaba un sistema de direccionamiento de 64 bits diferente, New Style Device o NSD.

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

DOS\ 6 : "Nombre de archivo largo" (OFS-LNFS). Esto permitía 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 archivos largos para FFS (FFS-LNFS).

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

A pesar de la capacidad de usar nombres de archivo 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 dostypes 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 no se debe usar excepto para propósitos heredados. La validación de disco todavía es necesaria en FFS2 (y aún puede resultar en pérdida de datos) tal como lo fue en FFS, a pesar de las primeras creencias en contra.

En septiembre de 2018, Hyperion Entertainment lanzó Amiga OS 3.1.4 a partir de la fuente de 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 llamadas de almacenamiento clásicas 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, se incluyó una actualización adicional basada en archivos para FFS en la actualización 3.1.4.1. [7] En mayo de 2021, se lanzó un Amiga OS 3.2 actualizado [8] y proporcionó una actualización de FFS V47 basada en ROM coincidente que incorporó algunas funciones y correcciones menores.

Otras implementaciones

Había pocas implementaciones más capaces de leer sistemas de archivos FFS, lo que normalmente requeriría un emulador de Amiga y una copia de las ROM del sistema operativo a leer. En particular, el soporte para affs (Amiga Fast File System) se puede compilar en núcleos Linux y ofrece soporte completo de lectura, escritura y formato en particiones FFS y OFS de todos los tipos DOS excepto DOS\6 y DOS\7 (que probablemente sean increíblemente raros).

En Amiga, la aplicación freeware 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 del propio FFS/FFS2 que lo hacía. No soportaba DOS\6 o DOS\7, a los que precede, ni el formateo de dispositivos.

Véase también

Referencias

  1. ^ "wb_13chg.txt" . Consultado el 12 de noviembre de 2012 .
  2. ^ 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
  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 histórica 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. ^ "Actualización a AmigaOS 3.1.4 lanzada".
  8. ^ "Noticias".
  9. ^ xfs léeme aminet.net

Enlaces externos