stringtranslate.com

Sistema de archivo de discos

El Disc Filing System (DFS) es un sistema de archivos de computadora 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 para el suministro de computadoras personales a sus escuelas. El distribuidor australiano de computadoras de Acorn, Barson Computers, convenció a los directores generales conjuntos Hermann Hauser y Chris Curry para que permitieran que el microordenador BBC de Acorn, que pronto se lanzaría al mercado, se ofreciera con almacenamiento en disco como parte del paquete. Accedieron con la condición de que Barson adaptara el DFS de Acorn a partir del System 2 sin la ayuda de Acorn, ya que no tenían recursos disponibles. Esto requirió algunos cambios menores de hardware y software para hacer que el DFS fuera compatible con el BBC Micro.

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

El DFS se entregaba como un chip controlador de disco y ROM instalado en la placa base del BBC Micro. El sistema de archivos tenía una funcionalidad y una capacidad de almacenamiento extremadamente limitadas, ya que 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 único proveedor o implementación. El DFS original fue escrito por Acorn, que 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 es notable 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 "encadenados" propietarios que permitían archivos ilimitados por disco (solo limitados por el tamaño del disco). [2]FORMAT Otras características en las implementaciones de terceros incluían la capacidad de revisar el espacio libre y los comandos y integrados VERIFY, que se enviaban en un disco de utilidad con el DFS original de Acorn.

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

Formato físico

DFS utiliza convencionalmente una cara de un disquete de 5¼" de doble densidad . Los discos se formatean como de 40 u 80 pistas, lo que da una capacidad de 100 o 200 KB por cara (diez sectores de 256 bytes por pista, con codificación FM).

La capacidad está limitada por la elección del controlador Intel 8271 en el BBC Micro original, que sólo admite la codificación FM , no la codificación MFM que ya era de uso común en el momento del lanzamiento del BBC Micro. La codificación FM ofrece 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 simple" 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 el DFS 1770 (el DFS basado en Intel 8271 tiene problemas con muchas unidades de 3½"), lo que proporciona la misma capacidad de "densidad simple" con codificación FM, pero esta no era una práctica estándar originalmente. Los discos de 3½" normalmente se formateaban como MFM de "doble densidad" utilizando el posterior Sistema avanzado de archivo de discos , ya que está presente en todas las máquinas Acorn suministradas con unidades de 3½". A partir de 2009, las unidades de 3½" se utilizan 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 de una y dos caras

El DFS no admite directamente discos de doble cara; en su lugar, 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. La "unidad" 2 se refería al reverso de la unidad 0 y la "unidad" 3 era el reverso de la unidad 1. No se admiten más de dos unidades físicas.

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

Compatibilidad con 40 y 80 pistas

Los discos se pueden formatear con 40 u 80 pistas, utilizando los comandos *FORM40o *FORM80, y las unidades pueden tener 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 bajaron los precios, lo que permitió 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 de 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 paso a paso del motor en consecuencia. Sin embargo, el sistema de archivos de disco Acorn basado en Intel 8271 no lo hace, por lo que la capacidad de formato dual se abordó de varias maneras:

Disk fault 18 at 01/00Si no se utiliza la configuración correcta , se producirán errores del DFS como [5] o se dañará la unidad de disco al intentar colocar 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, lo que hizo que el usuario se quedara sin espacios para los nombres de archivo antes de quedarse sin espacio en el disco. Esta situación generó un Cat fullerror.

Almacenamiento de archivos

Nombres de archivos

DFS conserva las mayúsculas y minúsculas, pero no las distingue. La prevalencia de nombres de archivo en mayúsculas se debe probablemente a que BBC Micro activa la función de bloqueo de mayúsculas de forma predeterminada después de un reinicio 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 excluidos:

Por el bien de la portabilidad a implementaciones DFS de terceros, es mejor evitar :y .en los nombres de hojas.

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

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

Los "directorios" en el DFS son prefijos de un solo carácter en los nombres de archivo, como Fen F.BankLtr, que se utilizan 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 de este, 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)Dirección: 0, $Libr.: 0, $ ¡¡¡HOLA!!! TABLA DE SUMAS VECTORES DE PRUEBA ZOMBI A. HOLA L B. SUMS F.Carta del Banco

Los siete archivos superiores se encuentran en el directorio actual, que se encuentra $en la unidad 0. Debajo de este se encuentran todos los archivos de otros directorios, en este caso A, By F. Un Ldespués de un nombre de archivo (como en A.HELLO, arriba) muestra que el archivo está bloqueado contra 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 el directorio y la biblioteca. El "directorio" es el directorio de trabajo en el volumen actual, de forma muy similar al directorio de trabajo en cualquier otro sistema de línea de comandos. La "biblioteca" es un segundo directorio de trabajo alternativo que funciona de forma más parecida a 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 tienen como opción predeterminada el mismo directorio.

Estructura del disco

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 correspondiente que contiene las ubicaciones, tamaños y metadatos de los archivos. Se utilizan ocho bytes de cada sector para cada archivo. Con otros ocho bytes 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. Con el fin de ahorrar espacio, el bit más significativo de la letra del directorio de un archivo se utiliza como indicador de bloqueo (solo lectura).

Tamaño del volumen

Aunque los discos físicos generalmente tienen un 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

El DFS no admite la fragmentación de datos , lo que significa que los datos de un archivo deben almacenarse en una sola serie 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 principio del siguiente, aunque pueda haber sectores libres en otras partes del disco. En tales casos, el DFS se interrumpe con un Can't extenderror. SAVEtampoco puede dividir un archivo para que se ajuste al espacio disponible, pero como el error ocurre en la etapa de asignación de sectores, el error que devuelve es Disk full.

El *COMPACTcomando se proporciona 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 próximo archivo creado llene el disco, pero solo el último archivo existente se puede extender sin moverlo. SAVEelimina cualquier archivo existente y copia el bloque de memoria especificado en cualquier lugar donde haya espacio en el disco. En contraste, el *COMPACTcomando utiliza la memoria del programa como un búfer para reubicar los archivos, sobrescribiendo cualquier programa y datos en la memoria.

Metadatos

Al igual que el sistema de archivo de casetes, el DFS de Acorn 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. Un archivo debe cargarse en la dirección que el programador pretendía, ya que el contenido puede hacer referencia a ubicaciones internas mediante direcciones absolutas. También se registra una dirección de ejecución, ya que el punto de entrada no necesariamente está al principio, o incluso dentro del archivo.

Los atributos de archivo están limitados a un solo bit: bloqueado. Cuando se configura, Laparece un a la derecha del nombre del archivo en el catálogo y el archivo no se puede modificar, sobrescribir ni eliminar.

Fechas

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

Otras características

El DFS también admite un método para iniciar el software del disco en función de una secuencia de teclas. Si se mantiene pulsada la tecla Shift mientras se reinicia el equipo de forma suave o dura, el DFS comprueba la unidad 0 en busca de un disco que contenga una bandera de arranque positiva. La bandera de arranque es 0 (ignorar), 1 (cargar archivo), 2 (ejecutar archivo de código de máquina) o 3 (script "ejecutar"). Si la bandera de arranque es positiva, $.!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 utilizados como scripts de shell primitivos . No son verdaderos scripts de shell sino simplemente una serie de teclas que se deben teclear, como una grabación que se debe reproducir. Por lo tanto, no pueden repetirse ni bifurcarse a menos que se introduzca dicho código en el intérprete BASIC. Además de utilizarse 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

Había una variante del DFS llamada DNFS, o Disc/Network Filing System, que contenía el Econet Network Filing System (NFS), el Disc Filing System estándar y el software de soporte del coprocesador Tube en una única ROM; esta ROM instalaba 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 IBM Personal Computer . 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 unidad WD1770 y WD1772 posteriores. El controlador 1770 se convirtió rápidamente en el controlador estándar en la gama Acorn después de la llegada de ADFS.

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

Referencias

  1. ^ "Chriswhy.co.uk" (PDF) .
  2. ^ "Utilidades MMB/SSD en perl".
  3. ^ Cook, Mike (octubre de 1985). "¿Degradar el sistema? Sí, puede tener sentido". The Micro User . 3 (8). Stockport, Reino Unido: Database Publications: 125–127. ISSN  0265-4040.
  4. ^ Nixon, Chris (abril de 1987). «DIY dual format discs» (Discos de formato dual para bricolaje). The Micro User . 5 (2). Stockport, Reino Unido: Database Publications: 43–44. ISSN  0265-4040.
  5. ^ Guía del usuario del sistema de archivo de discos Acorn, número 2, julio de 1983, página 84. "Disco" se escribe con "k" en los mensajes de error, pero con "c" en el nombre del sistema de archivo.

Enlaces externos