Sistema de archivo de disco avanzado - Advanced Disc Filing System

ADFS
Desarrollador (es) Hugo Tyson, Nick Reeves ( Acorn Computers )
Nombre completo Sistema de archivo de disco avanzado
Introducido 1983 ; Hace 38 años con Acorn MOS ( 1983 )
Identificador de partición Hugoo Nick(encabezado / pie de página del directorio)
Estructuras
Contenidos del directorio Tablas jerárquicas de longitud fija
Asignación de archivos Un rango por archivo más una tabla de rangos de espacio libre (L), mapa de bits con ID de archivo incrustados (E)
Bloques malos ninguno (L), marcado en mapa de bits (E)
Limites
Max. tamaño del volumen 512 MB
Max. tamaño del archivo 512 MB
Max. Número de archivos 47 por directorio (L), 77 por directorio (E)
Max. longitud del nombre de archivo 10 caracteres
Caracteres permitidos en nombres de archivo ASCII (Bellota MOS), ISO 8859-1 (RISC OS)
Características
Fechas registradas Modificación
Rango de fechas 1 de enero de 1900 - 3 de junio de 2248
Resolución de fecha 10 ms
tenedores no
Atributos Cargar dirección, ejecutar dirección y número de ciclo de archivo (Acorn MOS); Tipo de archivo y hora de modificación (RISC OS); Usuario solo lectura / escritura / ejecución; solo lectura / escritura / ejecución pública; Bloqueo de eliminación
Permisos del sistema de archivos Ninguno
Compresión transparente No
Cifrado transparente No
Deduplicación de datos No
Otro
Apoyados sistemas operativos Bellota MOS , RISC OS

El Advanced Disc Filing System ( ADFS ) es un sistema de archivos informático exclusivo de la gama de computadoras Acorn y los sucesores basados ​​en RISC OS . Inicialmente basado en el raro Acorn Winchester Filing System, se renombró como Advanced Disc Filing System cuando se agregó soporte para disquetes (usando un controlador de disquete WD1770 ) y en los sistemas posteriores de 32 bits una variante de un controlador de disquete estilo PC .

El Disc Filing System original de Acorn estaba limitado a 31 archivos por superficie de disco, 7 caracteres por nombre de archivo y un solo carácter para los nombres de directorio, un formato heredado de los primeros ordenadores Atom y System 3-5 Eurocard . Para superar algunas de estas restricciones, Acorn desarrolló ADFS. El cambio más dramático fue la introducción de una estructura de directorios jerárquica. La longitud del nombre de archivo aumentó de 7 a 10 letras y el número de archivos en un directorio se expandió a 47. Conservó algunos atributos superficiales de DFS; el separador de directorios seguía siendo un punto y $ahora indicaba la raíz jerárquica del sistema de archivos. ^se utilizó para hacer referencia al directorio principal, @el directorio actual y \fue el directorio visitado anteriormente.

El BBC Master Compact contenía la versión 2.0 de ADFS, que proporcionaba la adición de comandos de formato, verificación y copia de seguridad en la ROM, pero omitía el soporte para discos duros.

Uso de 8 bits

ADFS en sistemas de 8 bits requería un controlador de disquete WD1770 o posterior de la serie 1772, debido a la incapacidad del chip Intel 8271 original para hacer frente al formato de doble densidad requerido por ADFS. Sin embargo, ADFS podría usarse para admitir discos duros sin un controlador 1770 presente; En el desarrollo, el objetivo principal era el uso de discos duros, la extensión para manejar disquetes vino más tarde. El controlador de disquete 1770 se incorporó directamente al diseño de los modelos Master Series y B +, y estaba disponible como una placa de actualización para el Modelo B anterior. ADFS podría agregarse a los sistemas Modelo B y B + con una actualización adicional.

El Acorn Plus 3 , la expansión del disco oficial de la bellota por el electrón de la bellota, se suministran con AD FS como estándar, pero esta implementación presentaron varios errores notables. Un archivo llamado ZYSYSHELP fue "requerido por el sistema" y creado durante el formateo. Esto fue una torpeza. La implementación original de ADFS de Acorn en el Electron no era confiable al escribir en las primeras pistas de un disquete, así que esto fue una "solución" y simplemente implicó escribir un archivo lleno de basura en la parte sospechosa. Luego, el ADFS lo omitiría. También se pueden producir daños en el disco si se intenta utilizar el *COMPACTcomando sin desactivar el cursor de texto parpadeante. Hugo Tyson, desarrollador principal de ADFS, recuerda que este error se encontró durante las pruebas tardías, pero no se corrigió en la versión inicial de la ROM para evitar cambios tardíos, ya que existen soluciones alternativas.

En el Electron, el formateo del disco se realizó mediante el *EFORMcomando en lugar de los comandos establecidos *FORM40/ *FORM80DFS. Tenga en cuenta además que el *EFORMcomando difiere del *AFORMcomando equivalente para el 1770 ADFS en el microordenador BBC. Esto posiblemente se deba a la necesidad de crear el archivo ZYSYSHELP en el Electron. El *EFORMcomando solo se proporcionó en el disco de bienvenida que se envió con el Plus3 y no se incluyó en la ROM.

ADFS apoyado discos duros, y 5¼" disquetes formateados hasta la capacidad de 640 KB utilizando densidad doble MFM que codifica ( L formato; discos de una sola cara se apoyaron con el S formato (160 KB) y M formato (320 KB)). ADFS como implementado en el sistema de microcomputadoras de la BBC (y más tarde en el sistema operativo RISC) nunca tuvo soporte para disquetes de densidad única.

El soporte de disco duro en ADFS usaba el mismo formato que los disquetes de formato L en términos de bloques de 256 bytes; solo la disposición subyacente de pistas y sectores difería según la unidad real utilizada, pero esto fue administrado por el controlador SCSI . Se conectó a una unidad Winchester basada en ST506 / ST412 a través del bus de 1 MHz de BBC Micro, una tarjeta de interfaz diseñada por Acorn (bus de 1 MHz a adaptador SCSI) y un controlador Adaptec SCSI listo para usar (adaptador SCSI a ST-506 ).

El soporte para unidades de estilo IDE / ATAPI ha sido agregado 'extraoficialmente' por terceros en los últimos años.

El formato de archivo ADFS usó los bytes ascii Hugo para delimitar los nombres de directorio en el disco, que lleva el nombre del autor de ADFS Hugo Tyson.

Uso de 32 bits (Arthur y RISC OS)

En los sistemas de 32 bits, se utilizó inicialmente un WD 1770 o 1772 como controlador de disquete en las primeras máquinas de la gama. Los modelos posteriores utilizaron un controlador de E / S múltiple estilo PC que requería cambios leves en ADFS. Además del soporte heredado para el formato 'L'-type, Arthur y el sistema operativo RISC posterior proporcionaron formatos mejorados que superan las limitaciones de BBC Micro.

Arthur agregó el formato D con 77 entradas por directorio en comparación con las 47 anteriores, también utilizable en discos duros y un nuevo formato de disquete de doble densidad de 800 KB. Se agregó un atributo de "tipo" por archivo en el espacio que se usaba anteriormente para almacenar direcciones de carga y ejecución. Los 12 bits de información de tipo se utilizan para indicar el contenido o el uso previsto de un archivo, normalmente presentado como tres dígitos hexadecimales . Esto es similar a los atributos de tipo de 32 bits almacenados en el sistema de archivos HFS de Apple , y conceptualmente comparable al uso más general de tipos MIME por parte del sistema operativo Be (BeOS), o números mágicos en sistemas Unix (aunque este último se almacena como parte del archivo, no como metadatos).

RISC OS trajo el formato E y F para discos de doble densidad y discos de alta densidad / unidades de disco duro, respectivamente. Estos formatos admiten la fragmentación de archivos (con el llamado "nuevo mapa"), el almacenamiento de varios archivos por fragmento y el almacenamiento de archivos pequeños en tablas de directorio. La estrategia de asignación está optimizada para minimizar la fragmentación y, a veces, realiza la desfragmentación como parte de una operación de almacenamiento de archivos. RISC OS 4 agregó el formato E + / F + que permitía nombres de archivo largos y más de 77 archivos por directorio. Las versiones más recientes del sistema operativo RISC, incluidas las de Iyonix , continúan proporcionando ADFS y lo han ampliado aún más para hacer frente a tamaños de disco duro más grandes.

A diferencia de la implementación de 8 bits, ADFS implementado en RISC OS no es monolítico. Un módulo de sistema llamado "ADFS" no proporciona más que el controlador de bloque y las interfaces de usuario, donde el módulo "FileCore" contiene la implementación real del sistema de archivos y FileSwitch contiene las implementaciones de API de acceso a archivos de alto nivel y VFS. Esto permite que otro hardware utilice el formato ADFS fácilmente, como IDEFS (comúnmente utilizado para tarjetas complementarias IDE), SCSIFS y AppFS compatible con la red. Las funciones de FileCore y FileSwitch son en cierto modo similares a los administradores de sistemas IFS e IO en Windows NT. Esta flexibilidad ha permitido que otros sistemas de archivo se implementen en RISC OS con relativa facilidad.

Soporte para ADFS en otras plataformas

El kernel de Linux tiene compatibilidad con ADFS para el formato E y versiones posteriores.

NetBSD tiene soporte filecore en NetBSD 1.4 en adelante.

Herramientas como Omniflop (en Windows 2000 y posteriores) y la compatibilidad con Libdsk permiten que el diseño "físico" de los disquetes ADFS se lea en sistemas de PC que utilizan una unidad interna. Sin embargo, la estructura lógica permanece sin implementar.

Referencias

  • Watford Electronics, "El manual de referencia avanzado de la BBC Master Series", 1988 (p. 169)
  • Acorn Computers Ltd, "The BBC Microcomputer System Master Series Reference Manual Part 1", Part No, 0443-001, Edición 1, marzo de 1986 - (Páginas (J.10-1 a J10-3)

Notas

enlaces externos