stringtranslate.com

Sistema de archivos antiguo de Amiga

En Amiga , el Old File System era el sistema de archivos de AmigaOS antes del Amiga Fast File System . Aunque utilizó bloques de 512 bytes, reservó la primera pequeña porción de cada bloque para metadatos , dejando una capacidad real de bloque 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 sobrenombre de sistema de archivos "antiguo" u "original" cuando se lanzó Fast File System 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 discos de inicio automático del tipo No-DOS proporcionados por terceros fabricantes de software como arrancables. discos para juegos. La idea de crear discos de arranque automático no estándar nació en un intento primitivo de evitar la copia de dichos discos y evitar la carga y el lanzamiento de Amiga DOS, para poder acceder directamente a los chipsets de gráficos, audio y memoria de Amiga. De hecho, DiskDoctor cambió los bloques de arranque de los discos de inicio automático por bloques estándar basados ​​en AmigaDOS, cambió el nombre de un disco con el nombre "Lazarus" y dejó el disco de inicio automático inutilizable. [1]

Características de los disquetes AmigaDOS

Amiga usa codificación/decodificación MFM de forma predeterminada cuando maneja disquetes . Hay 80 cilindros en un disquete Amiga. Cada cilindro tiene 2 pistas MFM, una a 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 identificadores de archivos de AmigaDOS mantenían un parámetro de desplazamiento de 32 bits de ancho (sin firmar), que indicaba dónde iniciar la siguiente operación de lectura o escritura. Por lo tanto, el tamaño más grande para cualquier archivo Amiga en estos sistemas operativos es 2 32 = 4 GiB . Después de Amiga OS 3.5, los identificadores de archivos pueden hacer referencia a 2 64 = 16 archivos EiB . Sin embargo, los discos formateados en OFS continúan 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-24 bytes (es decir, normalmente 488 bytes en el BSIZE más utilizado de 512 bytes).

El bloque raíz está ubicado en el medio 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 = altoCyl - bajoCyl + 1clavealta = numCyls * numSurfaces * numBlocksPerTrack - 1rootKey = INT (numReserved + highKey) / 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 *!@#$%|^+&_()=\-[]{}';",<>.? y letras con signos diacríticos como âè están permitidos.

Los campos de fecha en el bloque raíz (y otros bloques) están estructurados en forma de DÍAS, MINUTOS y TICKS. El campo DÍAS 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 expresan en 1/50 de segundo. La mayoría de los programas consideran ilegal un valor de día cero. Dado que el valor de DAYS se almacena como un número de 32 bits, el sistema de archivos Amiga no tiene un problema inherente del año 2000 o del año 2038 .

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

Los caracteres del nombre de archivo pueden estar en minúsculas y mayú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 del bloque de datos, etc.) y los bloques de datos, que contienen los datos reales. El bloque de encabezado del 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, se asignarán bloques de extensión de archivo para contener los punteros del bloque de datos. Los bloques de extensión de archivo están organizados en una lista vinculada, que comienza en el bloque de encabezado del archivo (campo 'extensión').

Ver también

enlaces externos

  1. ^ ¿Por qué "Disk doctor" fue tan espectacularmente malo en su trabajo?