stringtranslate.com

Sistema de archivos antiguo de Amiga

En Amiga , el sistema de archivos antiguo era el sistema de archivos de AmigaOS antes del sistema de archivos rápido de Amiga . Aunque utilizaba bloques de 512 bytes, reservaba la primera pequeña porción de cada bloque para metadatos , lo que dejaba una capacidad real de bloques de datos de 488 bytes por bloque. No era muy adecuado para nada excepto disquetes , y pronto fue reemplazado.

Historia

Originalmente conocido como Amiga File System, proviene del sistema de archivos TRIPOS , que formó la base de las primeras versiones de AmigaDOS . Recibió el apodo de Sistema de archivos "Viejo" u "Original" cuando Fast File System fue lanzado con AmigaOS 1.3.

OFS es muy bueno para reparar el sistema de archivos en caso de un problema, aunque el llamado DiskDoctor proporcionado por Commodore rápidamente se ganó el nombre de DiskDestroyer, porque no podía reparar los discos de inicio automático de tipo No-DOS proporcionados por fabricantes de software de terceros como discos de arranque para juegos. La idea de crear discos de arranque automático no estándar nació en un intento primitivo de prevenir la copia de dichos discos y evitar la carga y el lanzamiento de Amiga DOS, para poder acceder directamente a los chipsets gráficos, de audio y de memoria de Amiga. DiskDoctor de hecho cambió los bloques de arranque de los discos de inicio automático por bloques estándar basados ​​en AmigaDOS, renombrando un disco con el nombre "Lazarus" dedisk, y haciendo que el disco de inicio automático fuera inutilizable. [1]

Características de los disquetes de AmigaDOS

Amiga utiliza codificación/descodificación MFM de manera predeterminada al manipular disquetes . Hay 80 cilindros en un disquete de Amiga. Cada cilindro tiene 2 pistas MFM, una en cada lado del disco. Los discos de doble densidad (DD) tienen 11 sectores por pista MFM, los discos de alta densidad (HD) tienen 22 sectores.

La geometría de un disquete Amiga es la siguiente:

El disco DD tiene 11 * 2 * 80 = 1760 (0 a 1759) bloques, mientras que el disco HD tiene 22 * ​​2 * 80 = 3520 bloques.

Amiga almacena 880 KiB en un disco DD y 1760 KiB en un disquete HD.

Características de los archivos en AmigaDOS

Antes de AmigaOS 3.5, los manejadores de archivos de AmigaDOS mantenían un parámetro de desplazamiento de 32 bits de ancho (sin signo), que indicaba dónde comenzar la siguiente operación de lectura o escritura. Por lo tanto, el tamaño máximo para cualquier archivo individual de Amiga en estos sistemas operativos es de 2 32 = 4 GiB . Después de Amiga OS 3.5, los manejadores de archivos pueden hacer referencia a 2 64 = 16 archivos EiB . Sin embargo, los discos con formato OFS siguen conservando las limitaciones de 32 bits, ya que se trata de una limitación intrínseca del formato tal como está grabado en el medio.

Un bloque de datos OFS almacena un tamaño de bloque BSIZE de 24 bytes (es decir, normalmente 488 bytes como máximo, el BSIZE más frecuentemente utilizado es de 512 bytes).

El bloque raíz se encuentra en el centro físico del medio: bloque número 880 para discos DD, bloque 1760 para HD. Esto ayuda a minimizar los tiempos de búsqueda.

El cálculo exacto de dónde se almacena es el siguiente:

numCyls = cilindroalto - cilindrobajo + 1clavealta = numCyls * numSuperficies * numBlocksPerTrack - 1clave raíz = INT (numReservado + clavealta) / 2

El bloque raíz contiene información sobre el disco: su nombre, su fecha de formato, etc. También contiene información sobre cómo acceder a los archivos/directorios/enlaces ubicados en el directorio superior (raíz).

Los caracteres '/' y ':' están prohibidos en los nombres de archivos y volúmenes, pero se permiten *!@#$%|^+&_()=\-[]{}';",<>.? y letras con signos diacríticos como âè.

Los campos de fecha en el bloque raíz (y otros bloques) están estructurados en forma de DAYS, MINS y TICKS. El campo DAYS contiene el número de días desde el 1 de enero de 1978. MINS es el número de minutos que han pasado desde la medianoche y TICKS se expresa en 1/50 de segundo. La mayoría de los programas consideran ilegal un valor de día de cero. Dado que el valor DAYS se almacena como un número de 32 bits, el sistema de archivos de Amiga no tiene un problema inherente del año 2000 o del año 2038 .

Para llegar a un archivo, directorio o enlace, AmigaDOS utiliza una función hash para calcular qué palabra de 32 bits en el bloque de disco se utilizará como puntero a una lista de cubos de hash, que a su vez contiene el registro del archivo, directorio o enlace. Una lista de cubos se utiliza para admitir objetos del sistema de archivos con nombres que tienen el mismo valor hash. Por ejemplo: file_1a , file_24 y file_5u tienen el mismo valor hash.

Los caracteres de los nombres de archivo pueden estar en mayúsculas y minúsculas, pero no distinguen entre mayúsculas y minúsculas cuando se accede a ellos. Es decir, "MyFile" y "myfile" en el mismo directorio hacen referencia al mismo archivo.

Los archivos se componen de un bloque de encabezado de archivo, que contiene información sobre el archivo (tamaño, hora del último acceso, punteros de bloque de datos, etc.) y los bloques de datos, que contienen los datos reales. El bloque de encabezado de archivo contiene hasta BSIZE/4-56 punteros de bloque de datos (lo que equivale a 72 entradas con los bloques habituales de 512 bytes). Si un archivo es más grande que eso, se asignarán bloques de extensión de archivo para almacenar los punteros de bloque de datos. Los bloques de extensión de archivo se organizan en una lista enlazada, que comienza en el bloque de encabezado de archivo (campo 'extensión').

Véase también

Enlaces externos

  1. ^¿ Por qué "Disk Doctor" hizo su trabajo de manera tan espectacularmente mala?