stringtranslate.com

Sistema avanzado de archivo de discos

El Advanced Disc Filing System ( ADFS ) es un sistema de archivos informático exclusivo de la gama de ordenadores Acorn y sus sucesores basados ​​en RISC OS . Inicialmente se basaba en el raro Acorn Winchester Filing System, pero se le cambió el nombre a Advanced Disc Filing System cuando se añadió compatibilidad con disquetes (utilizando un controlador de disquetes WD1770 ) y, en sistemas de 32 bits posteriores , 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 los ordenadores Atom y Eurocard System 3-5 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 amplió a 47. Mantuvo algunos atributos superficiales de DFS; el separador de directorio siguió siendo un punto y $ahora indicaba la raíz jerárquica del sistema de archivos. ^se utilizaba para hacer referencia al directorio principal, @el directorio actual y \era el directorio visitado anteriormente.

El BBC Master Compact contenía la versión 2.0 de ADFS, que proporcionaba la incorporación de comandos de formato, verificación y copia de seguridad en ROM, pero omitió el soporte para 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 hacer frente al formato de doble densidad que requería ADFS. Sin embargo, ADFS podía usarse para admitir discos duros sin un controlador 1770 presente; en el desarrollo, el uso de discos duros era el objetivo principal, la extensión para manejar disquetes vino más tarde. [ cita requerida ] El controlador de disquete 1770 se incorporó directamente al diseño de los modelos Master Series y B+, [4] y estaba disponible como una placa de actualización para el anterior Modelo B. [5] [6] ADFS podía agregarse a los sistemas Modelo 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 como estándar, pero esta implementación presentaba varios errores notables. Un archivo llamado ZYSYSHELP era "requerido por el sistema" y creado durante el formateo. [8] : 7  Esto fue una chapuza. La implementación original de ADFS de Acorn en el Electron no era confiable al escribir en las primeras pistas de un disquete, por lo que esto fue una "solución" y simplemente implicó escribir un archivo lleno de basura en la parte sospechosa. El ADFS luego lo omitiría. [ cita requerida ] La corrupción del disco también podría ocurrir si se intenta 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 pruebas tardías pero no se solucionó 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 hacía mediante el comando en lugar de los comandos / DFS establecidos. Tenga en cuenta además que el 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 suministraba en el disco de bienvenida que se enviaba 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 con una capacidad de 640 KB utilizando codificación MFM de doble densidad (formato L ; los discos de una sola cara eran compatibles con el formato S (160 KB) y el formato M (320 KB)). ADFS tal como se implementó en el sistema de microcomputadoras BBC (y posteriormente en el sistema operativo RISC) nunca tuvo soporte para disquetes de densidad simple.

El soporte de 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 utilizada, pero esto lo gestionaba el controlador SCSI . Se conectaba 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 (adaptador de bus de 1 MHz a SCSI) y un controlador SCSI Adaptec estándar (adaptador de SCSI a ST-506).

En los últimos años, terceros han añadido de forma "extraoficial" soporte para unidades de estilo IDE / ATAPI . [11]

El formato de archivo ADFS utilizó los bytes ASCII Hugo para delimitar los nombres de directorio en el disco, llamado así en honor al 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 de estilo PC que requería ligeros cambios en ADFS. Además de la compatibilidad heredada con el formato tipo "L", Arthur y los sistemas operativos RISC posteriores proporcionaron formatos mejorados que superaban las limitaciones del BBC Micro.

Arthur añadió el formato D con 77 entradas por directorio en lugar de las 47 anteriores, que también se pueden utilizar en discos duros y en 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 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 "nuevo mapa"), 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, a veces, realiza la desfragmentación como parte de una operación de almacenamiento de archivos. [1] RISC OS 4 agregó el formato E+/F+ que permitía nombres de archivo largos y más de 77 archivos por directorio. [ cita requerida ] Las versiones más recientes de RISC OS, incluidas las de Iyonix , continúan proporcionando ADFS y lo han ampliado aún más para que admita tamaños de disco duro más grandes.

A diferencia de la implementación de 8 bits, ADFS tal como se implementa en RISC OS no es monolítico. Un módulo de sistema llamado "ADFS" no proporciona más que el controlador de bloques 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 otros hardware utilicen el formato ADFS fácilmente, como IDEFS (comúnmente utilizado para tarjetas complementarias IDE), SCSIFS y AppFS, que reconoce la red. Las funciones de FileCore y FileSwitch son en algunos aspectos similares a los administradores de sistemas IFS y IO en 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 ADFS para el formato E y posteriores.

NetBSD tiene soporte para filecore [12] en NetBSD 1.4 en adelante.

Herramientas como Omniflop (en Windows 2000 y posteriores) y la compatibilidad con Libdsk permiten que la disposición "física" 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

  1. ^ ab Reeves, Nick (26 de octubre de 1990). «Documento de diseño en formato E» . Consultado el 24 de mayo de 2013 .
  2. ^ Sistema avanzado de archivo de discos: Guía del usuario (PDF) . Acorn Computers Limited. Septiembre de 1985 . Consultado el 1 de agosto de 2016 .
  3. ^ "Quitando la tapa 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 . Consultado el 18 de octubre de 2020 .
  5. ^ Interfaz de disco 1770 (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. ^ ab 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úm. 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 BBC - MDFS::Info.Comp.BBC.IDE". MDFS.net . Consultado el 1 de agosto de 2016 .
  12. ^ "Cambios y novedades de NetBSD en 1998". Netbsd.org . Consultado el 1 de agosto de 2016 .

Notas

  1. ^ Esto se debía a que el comando utilizaba la memoria de la 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 dar argumentos para que utilizara memoria que no fuera de la 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 6845 CRTC y el ULA de video de Acorn, sin cambiar ninguna memoria de pantalla. El Acorn Electron no tenía este hardware adicional y tenía que alterar la memoria de pantalla en el software para que el cursor parpadeara.*COMPACT*COMPACT 40 20

Enlaces externos