De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El Disc Filing System (DFS) es un sistema de archivos informático desarrollado por Acorn Computers , inicialmente como un complemento del Acorn System 2 basado en Eurocard .

En 1981, los Departamentos de Educación de Australia Occidental y Australia del Sur anunciaron licitaciones conjuntas en las que se pedía el suministro de computadoras personales a sus escuelas. El distribuidor australiano de computadoras de Acorn, Barson Computers, convenció a los directores generales adjuntos Hermann Hauser y Chris Curry para que permitieran que la microcomputadora Acorn BBC, que pronto se lanzaría, se ofreciera con almacenamiento en disco como parte del paquete. Estuvieron de acuerdo con la condición de que Barson adaptara el Acorn DFS del Sistema 2 sin la ayuda de Acorn ya que no tenían recursos disponibles. Esto requirió algunos cambios menores de hardware y software para que el DFS fuera compatible con BBC Micro.

Barson ganó las licitaciones para ambos estados, con el DFS instalado, un año antes que el Reino Unido. Fue esta iniciativa inicial la que dio como resultado que BBC Micro se centrara más en el mercado de la educación en Australia, con muy poca penetración en el mercado de las computadoras domésticas hasta la llegada de Acorn Electron .

El DFS se envía como un chip controlador de disco y ROM instalado en la placa base del BBC Micro. El sistema de archivo tenía una funcionalidad y una capacidad de almacenamiento extremadamente limitadas, y utilizaba una estructura de directorio plana. Cada nombre de archivo puede tener hasta siete letras, más una letra para el directorio en el que se almacena el archivo. [1]

El DFS es notable porque, a diferencia de la mayoría de los sistemas de archivo, no había un solo proveedor o implementación. El DFS original fue escrito por Acorn, quien continuó manteniendo su propia base de código, pero varios proveedores de unidades de disco escribieron sus propias implementaciones. Las empresas que escribieron sus propias implementaciones de DFS incluyeron Cumana, Solidisk, Opus y Watford Electronics . La implementación de Watford Electronics se destaca por admitir 62 archivos por disco en lugar de los 31 habituales, utilizando un formato de disco no estándar. Más allá de eso, la implementación de Solidisk introdujo catálogos patentados "encadenados" que permitían archivos ilimitados por disco (solo limitado por el tamaño del disco). [2] Otras características de las implementaciones de terceros incluyen la posibilidad de revisar el espacio libre y las funciones integradas FORMATyVERIFY comandos, que se enviaron en un disco de utilidades con el Acorn DFS original.

Acorn siguió su serie DFS original con el Acorn 1770 DFS, que usaba el mismo formato de disco que la versión anterior, pero agregó un conjunto de comandos adicionales y admitía el chip controlador de unidad de disquete WD1770 mejorado .

Formato físico [ editar ]

DFS convencionalmente utiliza un lado de una doble densidad 5¼" disco flexible . Los discos se formatean ya sea como pista 40 o 80, dando una capacidad de 100 o 200 KB por cada lado (diez sectores de 256 bytes por pista, con la codificación FM).

La capacidad está limitada por la elección del controlador Intel 8271 en el BBC Micro original, que solo admite la codificación FM , no la codificación MFM, que ya era de uso común en el momento del lanzamiento de BBC Micro. La codificación FM proporciona la mitad de la capacidad de grabación de MFM para una densidad de disco física determinada.

La codificación FM y MFM se conoce comúnmente como "densidad única" y "densidad doble", aunque los discos y las unidades son los mismos, a diferencia de la "alta densidad", que utiliza unidades y discos diferentes.

Los discos de 3½ "de doble densidad se pueden formatear y utilizar con 1770 DFS (el DFS basado en Intel 8271 tiene problemas con muchas unidades de 3½"), lo que proporciona la misma capacidad de "densidad única" con la codificación FM, pero esto no era una práctica estándar originalmente . Los discos de 3½ "normalmente se formateaban como MFM de" doble densidad "utilizando el sistema de archivo de disco avanzado posterior , ya que está presente en todas las máquinas Acorn suministradas con unidades de 3½". A partir de 2009, las unidades de 3½ "se usan más comúnmente con BBC Micros que en el pasado, incluido el uso con DFS, debido a su mayor disponibilidad y al intercambio de datos más fácil con computadoras más recientes.

Los discos de alta densidad de 5¼ "y 3½" no son compatibles con DFS.

Operación a una y dos caras [ editar ]

El DFS no admite directamente discos de doble cara; en cambio, los dos cabezales de una unidad de doble cara se tratan como dos unidades lógicas independientes. El DFS puede admitir hasta cuatro volúmenes, numerados del 0 al 3. La unidad 0 es la predeterminada y la unidad 1 representa una segunda unidad conectada al cable. "Unidad" 2 se refería al reverso de la unidad 0 y "unidad" 3 era el reverso de la unidad 1. No hay soporte para más de dos unidades físicas.

Debido a la base instalada de unidades de una cara, el software comercial normalmente se proporcionaba en discos de una cara o como " discos flippy " que se invertían manualmente para acceder a la otra cara.

Compatibilidad de 40 y 80 pistas [ editar ]

Los discos se pueden formatear usando 40 u 80 pistas, usando los comandos *FORM40o *FORM80, y las unidades pueden ser de 40 u 80 pistas. Este es el problema de compatibilidad más común para los usuarios de DFS: los discos de 40 pistas eran la norma para la distribución de software comercial, debido a la base instalada de unidades de 40 pistas, pero las unidades de 80 pistas se volvieron más comunes a medida que bajaban los precios, lo que permitía a los usuarios almacenar más datos. Una unidad de 80 pistas no leerá automáticamente discos de 40 pistas.

La capacidad del disco se almacena como un recuento de sectores en el catálogo en la pista cero. La pista cero se encuentra en el mismo lugar en los discos de 40 y 80 pistas, lo que permite que un sistema de archivos de disco configure el motor en marcha en consecuencia. Sin embargo, el Acorn DFS basado en Intel 8271 no lo hace, por lo que la capacidad de formato dual se abordó de varias maneras:

  • simplemente conectando una unidad de 40 pistas y una unidad de 80 pistas al BBC Micro, aunque esto era costoso para el usuario doméstico;
  • algunos revendedores de unidades de disco, en particular UFD (dispositivos fáciles de usar) y Akhter Computer Group, ofrecieron conjuntos de unidades equipados con interruptores para seleccionar la operación de 40 u 80 pistas;
  • revistas como The Micro User ofrecían kits para construir placas de circuitos que se podían conectar al cable de la unidad de disco, opcionalmente, "duplicando" las unidades adjuntas; [3]
  • The Micro User también publicó un artículo [4] sobre la creación de discos de formato dual, con 21 pistas de datos almacenados en ambos formatos para que cualquier tipo de unidad pudiera acceder a los contenidos; sin embargo, estos tenían una capacidad limitada y una vez creados eran de solo lectura;
  • La revista Acorn User distribuyó discos de tapa de 40 pistas con un pequeño programa de utilidad en la pista cero, para que los propietarios de unidades de 80 pistas pudieran reformatearlos en discos de 80 pistas con el contenido original de las primeras 40 pistas; o
  • el usuario puede actualizar a un controlador WD1770 o similar. Acorn 1770 DFS y algunos sistemas de controlador de terceros proporcionaron capacidad de formato dual en el software al reprogramar el controlador durante la búsqueda de pistas; Como beneficio adicional, los sistemas de terceros ofrecían formatos patentados MFM (los llamados "doble densidad") para una capacidad de disco aún mayor.

Si no utiliza la configuración correcta, se producirán errores en el DFS como Disk fault 18 at 01/00, [5] o daños en la unidad de disco al intentar mover los cabezales más allá del extremo físico de la superficie del disco.

El cambio a 80 pistas no amplió el catálogo de ninguna manera, dejando al usuario propenso a quedarse sin espacios para nombres de archivo antes de quedarse sin espacio en el disco. Esta situación resultó en un Cat fullerror.

Almacenamiento de archivos [ editar ]

Nombres de archivo [ editar ]

DFS conserva mayúsculas y minúsculas, pero no distingue entre mayúsculas y minúsculas. La prevalencia de los nombres de archivo en mayúsculas probablemente se deba a que BBC Micro establece que el bloqueo de mayúsculas está habilitado después de un restablecimiento completo o parcial. El conjunto de caracteres es bastante permisivo y se permiten todos los caracteres imprimibles de ASCII de 7 bits , incluidos los espacios, pero excluyendo:

  • El carácter comodín único #.
  • El carácter comodín múltiple *.
  • Códigos de control generados por el carácter de escape del shell |, aunque la secuencia ||se puede utilizar para representar un solo |carácter en el nombre del archivo.
  • El carácter especificador de unidad :como el primer carácter de un nombre de hoja (el nombre del archivo propiamente dicho). Esto provoca un error Bad driveo Bad name. Cuando los dos puntos no sean ambiguos, por ejemplo en FOO:BAR, se permite como parte del nombre de la hoja.
  • El carácter especificador de directorio .como el primer o segundo carácter de un nombre de hoja. .no se puede utilizar como carácter de directorio. Cuando el punto es inequívoco, como en PRG.BAS, entonces se permite como parte del nombre de la hoja y no se trata como un especificador de directorio (mientras F.MONEYque sería un archivo MONEYen el directorio F).

En aras de la portabilidad a las implementaciones de DFS de terceros, es mejor evitar :y .en los nombres de hoja.

Se permiten las comillas, aunque BBC BASIC requiere que se escapen dos veces:

  • SAVE """""""A"""pasa la cadena """A"al DFS, que luego guarda un archivo llamado "A.
  • Por el contrario, SAVE "A"""guarda un archivo con el nombre A".
  • Se utiliza la misma técnica para insertar espacios: SAVE """B A R"""guarda un archivo con el nombre B A R.

Un nombre de archivo completo o "especificación de archivo" ("fsp" para abreviar) contiene dos puntos, luego el número de unidad, un punto, luego la letra del directorio, otro punto y el nombre. Por ejemplo, un archivo en el directorio predeterminado de "unidad" 2 llamado BOBtendría una especificación completa de :2.$.BOB. Los especificadores de unidad y directorio son opcionales.

Directorios [ editar ]

Los "directorios" en el DFS son prefijos de un solo carácter en los nombres de archivo, como Fen F.BankLtr, que se usan para agrupar archivos. La disposición es plana y $se utiliza un directorio predeterminado de en lugar de un directorio raíz. Al solicitar un catálogo del disco (con los comandos *CATo *.), los archivos del directorio actual se muestran sin prefijo de directorio en un bloque, y debajo se enumeran todos los demás archivos en un segundo bloque, con sus prefijos de directorio visibles. Por ejemplo, (de Acorn DFS; las implementaciones de DFS de terceros pueden variar ligeramente):

PROGRAMA (12)Unidad 0 Opción 2 (RUN)Dir. : 0. $ Lib. : 0. $ ! BOOT HOLA TABLA DE SUMAS VECTORES DE PRUEBA ZOMBI A. HOLA L B.SUMS F.BankLtr

Los siete archivos principales están todos en el directorio actual que se encuentra $en la unidad 0. Debajo están todos los archivos en otros directorios, en este caso A, By F. Una Ldespués de un nombre de archivo (como con A.HELLO, por encima de) muestra el archivo está bloqueado contra la modificación o eliminación. La primera línea contiene el título del disco y el recuento de modificaciones.

El DFS proporciona un espacio de trabajo, dividido en directorio y biblioteca. El "directorio" es el directorio de trabajo en el volumen actual, al igual que el directorio de trabajo en cualquier otro sistema de línea de comandos. La "biblioteca" es un segundo directorio de trabajo alternativo que funciona más como PATH y tiene la ventaja de poder estar en cualquier volumen. Las solicitudes para abrir archivos con nombres no calificados se buscarán primero en el directorio de trabajo; en caso contrario, también se buscará en el directorio de la biblioteca. El directorio y la biblioteca se encuentran por defecto en el mismo directorio.

Estructura del disco [ editar ]

El catálogo (tabla de archivos) ocupa los dos primeros sectores del disco: uno para los nombres y directorios de cada archivo, y un sector coincidente que contiene las ubicaciones, los tamaños y los metadatos de los archivos. Se utilizan ocho bytes de cada sector para cada archivo. Con ocho bytes adicionales de cada sector reservados para el título del disco de 12 bytes y la información del volumen, el número total de archivos en el disco (independientemente del directorio en el que se encuentre cada archivo) está limitado a 31. En aras de ahorrar espacio , el bit más significativo de la letra de directorio de un archivo se utiliza como indicador de bloqueo (solo lectura).

Tamaño del volumen [ editar ]

Aunque los discos físicos suelen tener formato de 100 KB o 200 KB, DFS admite tamaños de volumen de hasta 256 KB.

El tamaño de archivo DFS más grande permitido es el tamaño del volumen menos ½ KB para el catálogo, ya que los tamaños de archivo se almacenan como una cantidad de 18 bits.

Asignación de archivos [ editar ]

El DFS no admite la fragmentación de datos , lo que significa que los datos de un archivo deben almacenarse en una sola ejecución de sectores consecutivos, pero el espacio libre es propenso a fragmentarse . Las escrituras de archivos de acceso aleatorio fallan cuando el final del archivo llega al comienzo del siguiente, aunque puede haber sectores libres en otra parte del disco. En tales casos, el DFS aborta con un Can't extenderror. SAVEtampoco puede dividir un archivo para que se ajuste al espacio disponible, pero a medida que se produce la falla en la etapa de asignación del sector, el error devuelto es Disk full.

Se *COMPACTproporciona un comando para reubicar todos los archivos del disco en un bloque sólido, colocando todo el espacio libre después de él en un segundo bloque. Esto permite que el siguiente archivo creado llene el disco, pero solo el último archivo existente se puede ampliar sin moverlo. SAVEelimina cualquier archivo existente y copia el bloque de memoria especificado donde haya espacio en el disco. En contraste, el *COMPACTcomando usa la memoria del programa como un búfer para reubicar los archivos, sobrescribiendo cualquier programa y datos en la memoria.

Metadatos [ editar ]

Al igual que el sistema de archivo de casetes, Acorn DFS admite los metadatos de archivo estándar de BBC Micro: dirección de carga y dirección de ejecución, necesarios porque Acorn MOS (el sistema operativo utilizado por BBC Micro) no admite la reubicación de código binario. Se debe cargar un archivo en la dirección que el programador pretendía, ya que el contenido puede referirse a ubicaciones internas por direcciones absolutas. También se registra una dirección de ejecución, ya que el punto de entrada no está necesariamente al principio, ni siquiera dentro del archivo.

Los atributos de archivo están limitados a un solo bit: bloqueado. Cuando se establece, Laparece a la derecha del nombre del archivo en el catálogo y el archivo no puede modificarse, sobrescribirse ni eliminarse.

Fechas [ editar ]

Los discos DFS no rastrean ninguna fecha (porque Acorn MOS antes de la versión 3 no mantenía un reloj en tiempo real) sino que ofrecen una característica peculiar: un recuento de modificaciones. Cada vez que se actualiza el catálogo, el recuento aumenta. El recuento se muestra entre paréntesis después del título en la primera línea del catálogo del disco, como 12en la lista del catálogo que se mostró anteriormente.

Otras características [ editar ]

El DFS también admite un medio para iniciar el software del disco en función de una secuencia de teclas. Si se mantiene presionada la tecla de mayúsculas mientras la máquina se reinicia por software o por hardware, el DFS verifica la unidad 0 en busca de un disco que contenga un indicador de inicio positivo. El indicador de arranque es 0 (ignorar), 1 (cargar archivo), 2 (ejecutar archivo de código de máquina) o 3 ("ejecutar" script). Si el indicador de arranque es positivo, $.!BOOTse busca un archivo llamado y se carga en la memoria (1), se carga y se ejecuta como código de máquina (2) o se introduce en el búfer del teclado (3). La opción 3 lee archivos "EXEC", archivos de macro de texto que se utilizan como scripts de shell primitivos.. Estos no son verdaderos scripts de shell, sino simplemente una serie de teclas para teclear, como una grabación para reproducir. Por lo tanto, no pueden hacer un bucle o bifurcar a menos que ingresen dicho código en el intérprete BASIC. Además de usarse durante un reinicio, se pueden ejecutar en cualquier momento con el *EXECcomando del sistema operativo . Los archivos EXEC son independientes del sistema de archivos.

Alternativas [ editar ]

Había una variante del DFS llamada DNFS, o Sistema de archivo de disco / red, que contenía el Sistema de archivo de red Econet (NFS), el Sistema de archivo de disco estándar y el software de soporte del coprocesador Tube en una sola ROM; esta ROM instaló dos sistemas de archivo en el sistema operativo a la vez.

El diseño inicial del DFS se basó en un controlador de unidad de disco Intel Corporation FDC 8271, el predecesor inmediato del diseño 8272 que se encuentra en la computadora personal de IBM . El controlador 8271 tenía una funcionalidad limitada y estaba obsoleto, y las versiones posteriores del sistema de archivos de varios proveedores, incluidos Solidisk, Acorn y Watford Electronics, se basaron en los controladores de variadores posteriores WD1770 y WD1772. El controlador 1770 se convirtió rápidamente en el controlador estándar de la gama Acorn tras la llegada de ADFS.

El DFS fue reemplazado por el Advanced Disc Filing System (ADFS), que era completamente jerárquico y adecuado para ejecutar discos duros en BBC Micro. El ADFS era el sistema de archivo predeterminado en el BBC Master, pero es probable que la mayoría de los usuarios hayan vuelto al DFS por razones de compatibilidad; ADFS no pudo leer discos DFS. El ADFS también fue elegido como el sistema de archivo estándar para RISC OS .

Referencias [ editar ]

  1. ^ http://acorn.chriswhy.co.uk/docs/Acorn/Manuals/Acorn_DiscSystemUGI2.pdf
  2. ^ https://sweh.spuddy.org/Beeb/mmb_utils.html
  3. ^ Cook, Mike (octubre de 1985). "¿Degradar su sistema? Sí, puede tener sentido". El micro usuario . Stockport, Reino Unido: Publicaciones de bases de datos. 3 (8): 125-127. ISSN  0265-4040 .
  4. ^ Nixon, Chris (abril de 1987). "Discos DIY de formato dual". El micro usuario . Stockport, Reino Unido: Publicaciones de bases de datos. 5 (2): 43–44. ISSN 0265-4040 . 
  5. ^ Acorn Disc Filing System User Guide, número 2, julio de 1983, página 84. "Disk" se escribe con una "k" en los mensajes de error, pero "c" en el nombre del sistema de archivo.

Enlaces externos [ editar ]

  • Estructura del sistema de archivos Acorn, Watford y Duggan DFS
  • Especificación Watford DFS (Acorn DFS extendido) : incluye la especificación Acorn DFS original
  • Manual Acorn DFS (formato RTF)