Articulo de referencia

Sistema avanzado de archivo de discos

Hugo or Nick (Directory header/footer)"},"directory_struct":{"wt":"Hierarchical fixed-length tables"},"file_struct":{"wt":"One range per file plus table of free-space ranges (L)...

El Sistema Avanzado de Archivos de Disco ( ADFS ) es un sistema de archivos informático exclusivo de la gama de ordenadores Acorn y sus sucesores basados ​​en RISC OS . Inicialmente basado en el poco común Sistema de Archivos Acorn Winchester, pasó a llamarse Sistema Avanzado de Archivos de Disco cuando se añadió compatibilidad con disquetes (mediante un controlador de disquetes WD1770 ) y, en sistemas posteriores de 32 bits, con una variante de un controlador de disquetes de estilo PC. [ 2 ]

El sistema de archivos de disco 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 las computadoras Atom y System 3-5 Eurocard anteriores . Para superar algunas de estas restricciones, Acorn desarrolló ADFS. El cambio más drástico fue la introducción de una estructura de directorio 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. Conservaba algunos atributos superficiales de DFS; el separador de directorio continuó siendo un punto y $ahora indicaba la raíz jerárquica del sistema de archivos. ^se usaba para referirse al directorio padre, @el directorio actual, y \era el directorio visitado anteriormente.

El BBC Master Compact contenía ADFS versión 2.0, que proporcionaba la adición de comandos de formato, verificación y copia de seguridad en ROM, pero omitía la compatibilidad con discos duros. [ 3 ]

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 manejar el formato de doble densidad que requería ADFS. Sin embargo, ADFS podía usarse para admitir discos duros sin un controlador 1770; durante el desarrollo, el uso de discos duros fue el objetivo principal, y la extensión para manejar disquetes llegó más tarde. El controlador de disquete 1770 se incorporó directamente al diseño de los modelos Master Series y B+, [ 4 ] y estaba disponible como una tarjeta de actualización para el modelo B anterior. [ 5 ] [ 6 ] ADFS podía agregarse a los sistemas Model B y B+ con una actualización adicional. [ 7 ]

El Acorn Plus 3 , la expansión de disco oficial de Acorn para el Acorn Electron, se suministraba con ADFS de serie, pero esta implementación presentaba varios errores notables. Un archivo llamado ZYSYSHELP era "requerido por el sistema" y se creaba durante el formateo. [ 8 ] : 7 Esto era una chapuza. La implementación original de ADFS de Acorn en el Electron no era fiable al escribir en las primeras pistas de un disquete, por lo que esta era una "solución" y simplemente consistía en escribir un archivo lleno de basura en la parte sospechosa. El ADFS entonces lo omitía. También podía producirse corrupción del disco si se intentaba usar el *COMPACTcomando sin deshabilitar el cursor de texto parpadeante. [ 9 ] [ nota 1 ] Hugo Tyson, desarrollador principal de ADFS, recuerda que este error se encontró durante las últimas pruebas, 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 realizaba mediante un comando en lugar de los comandos DFS establecidos . Cabe destacar que este comando difiere del comando equivalente para el ADFS 1770 en el BBC Microcomputer. Esto posiblemente se deba a la necesidad de crear el archivo ZYSYSHELP en el Electron. El comando solo se incluía en el disco de bienvenida que venía con el Plus3 y no estaba incluido en la ROM. [ 8 ] : 48*EFORM*FORM40*FORM80*EFORM*AFORM*EFORM

ADFS admitía discos duros y disquetes de 5¼" y 3½" formateados hasta 640  KB de capacidad mediante codificación MFM de doble densidad (formato L ; los disquetes de una sola cara admitían los formatos S (160  KB) y M (320  KB)). ADFS, tal como se implementó en el sistema de microordenadores BBC (y posteriormente en RISC OS), nunca admitió disquetes de densidad simple.

La compatibilidad con discos duros en ADFS utilizaba el mismo formato que los disquetes de formato L en términos de bloques de 256 bytes; [ 10 ] solo la disposición subyacente de pistas y sectores difería según la unidad real utilizada, pero esto era gestionado por el controlador SCSI . Se conectaba a una unidad Winchester basada en ST506/ST412 a través del bus de 1 MHz del BBC Micro  , una tarjeta de interfaz diseñada por Acorn (adaptador de bus de 1 MHz a SCSI) y un controlador SCSI Adaptec  comercial (adaptador SCSI a ST-506).

En los últimos años, terceros han añadido de forma "no oficial" la compatibilidad con unidades de estilo IDE / ATAPI . [ 11 ]

El formato de archivo ADFS utilizaba los bytes ASCII Hugo para delimitar los nombres de los directorios en el disco, en honor a Hugo Tyson, el autor de ADFS.

Uso de 32 bits (Arthur y RISC OS)

En los sistemas de 32 bits, inicialmente se utilizó un controlador de disquete WD 1770 o 1772 en las primeras máquinas de la gama. Los modelos posteriores emplearon un controlador de E/S múltiple de estilo PC, lo que requirió ligeras modificaciones en ADFS. Además de la compatibilidad con el formato tipo 'L', Arthur y, posteriormente, RISC OS proporcionaron formatos mejorados que superaron las limitaciones del BBC Micro.

Arthur añadió el formato D con 77 entradas por directorio en lugar de las 47 anteriores, también utilizable en discos duros, y un nuevo  formato de disquete de doble densidad de 800 KB. Se añadió un atributo de "tipo" por archivo en el espacio que antes se utilizaba para almacenar las 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, que normalmente se presenta 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 los tipos MIME por parte del sistema operativo Be (BeOS), o los números mágicos en los sistemas Unix (aunque estos últimos se almacenan como parte del archivo, no como metadatos).

RISC OS introdujo los formatos E y F para discos de doble densidad y discos/unidades de disco duro de alta densidad, respectivamente. Estos formatos admiten la fragmentación de archivos (con el llamado "mapa nuevo"), el almacenamiento de múltiples archivos por fragmento y el almacenamiento de archivos pequeños en tablas de directorios. La estrategia de asignación está optimizada para minimizar la fragmentación y, en ocasiones, realiza la desfragmentación como parte de una operación de almacenamiento de archivos. [ 1 ] RISC OS 4 añadió el formato E+/F+ , que permitía nombres de archivo largos y más de 77 archivos por directorio. Las versiones más recientes de RISC OS, incluidas las de Iyonix , siguen proporcionando ADFS y lo han ampliado aún más para admitir tamaños de disco duro mayores.

A diferencia de la implementación de 8 bits, ADFS, tal como se implementa en RISC OS, no es monolítico. Un módulo del sistema llamado "ADFS" proporciona únicamente el controlador de bloques y las interfaces de usuario, mientras que el módulo "FileCore" contiene la implementación del sistema de archivos propiamente dicha, y FileSwitch contiene las implementaciones de VFS y la API de acceso a archivos de alto nivel. Esto permite que otros dispositivos utilicen fácilmente el formato ADFS, como IDEFS (comúnmente utilizado para tarjetas de expansión IDE), SCSIFS y AppFS, compatible con redes. Las funciones de FileCore y FileSwitch son, en cierto modo, similares a las de los administradores de sistemas IFS y IO de Windows NT. Esta flexibilidad ha permitido que otros sistemas de archivos se implementen en RISC OS con relativa facilidad.

Compatibilidad con ADFS en otras plataformas

El kernel de Linux tiene soporte para ADFS en formato E y posteriores.

NetBSD tiene soporte para filecore [ 12 ] a partir de NetBSD 1.4.

Herramientas como Omniflop (en Windows 2000 y versiones posteriores) y la compatibilidad con Libdsk permiten leer la disposición física de los disquetes ADFS en sistemas PC que utilizan una unidad interna. Sin embargo, la estructura lógica aún no se ha implementado.

Referencias

  1. 1 2 Reeves, Nick (26 de octubre de 1990). "Documento de diseño en formato E" . Recuperado el 24 de mayo de 2013 .
  2. Sistema avanzado de archivos de disco: Guía del usuario (PDF) . Acorn Computers Limited. Septiembre de 1985. Consultado el 1 de agosto de 2016 .
  3. "Desvelando los secretos del Master Compact" . Acorn User . Octubre de 1986. pág. 17. Consultado el 5 de septiembre de 2020 . 
  4. Smith, Bruce (julio de 1985). "Calificación B+" . Acorn User . págs. 160–161 . Recuperado el 18 de octubre de 2020 . 
  5. 1770 Interfaz de disco (PDF) . Acorn Computers Limited . Consultado el 6 de marzo de 2021 .
  6. Instrucciones de instalación del kit de actualización de interfaz de disco 1770 (PDF) . Acorn Computers Limited. Agosto de 1985. Consultado el 11 de marzo de 2021 .
  7. Actualización de ADFS (PDF) . Acorn Computers Limited . Consultado el 6 de marzo de 2021 .
  8. 1 2 Guía del usuario de Electron Plus 3 (PDF) . Acorn Computers Limited. Octubre de 1984. Consultado el 6 de marzo de 2021 .
  9. Waddilove, Roland (agosto de 1988). "Mejorando la perfección" . Electron User . Vol. 5, n.º 11, pág. 9. Consultado el 20 de enero de 2021 .   
  10. "Estructura del sistema de archivos ADFS de 8 bits de Acorn" (TXT) . Mdfs.net . Consultado el 1 de agosto de 2016 .
  11. "Interfaz IDE de la BBC - MDFS::Info.Comp.BBC.IDE" . MDFS.net . Consultado el 1 de agosto de 2016 .
  12. "Cambios y noticias de NetBSD en 1998" . Netbsd.org . Consultado el 1 de agosto de 2016 .
  • Watford Electronics, "Manual de referencia avanzado para la serie maestra de la BBC", 1988 (pág.  169)
  • Acorn Computers Ltd, "Manual de referencia de la serie maestra del sistema de microcomputadoras BBC, Parte 1", Parte No. 0443–001, Edición 1, marzo de 1986 - (Páginas (J.10-1 a J10-3)

Notas

  1. Esto se debía a que elcomando utilizaba la memoria de pantalla (por defecto) como espacio de trabajo durante la operación, y el cursor parpadeante implementado por software corrompía ese espacio de memoria. Una alternativa sería proporcionar argumentos para que utilizara memoria que no fuera de pantalla como espacio de trabajo, por ejemplo,en el modo de pantalla 6. En el BBC Micro, el cursor parpadeante, si estaba habilitado, se superponía a la salida de pantalla mediante el CRTC 6845 y la ULA de vídeo de Acorn, sin modificar la memoria de pantalla. El Acorn Electron no disponía de este hardware adicional y tenía que modificar la memoria de pantalla mediante software para hacer parpadear el cursor.*COMPACT*COMPACT 40 20
  • Documentación sobre la configuración en disco de ADFS