Sistema de archivos MINIX
El sistema de archivos Minix es el sistema de archivos nativo del sistema operativo Minix. Fue escrito desde cero por Andrew S. Tanenbaum en la década de 1980 y tenía como objetivo replicar la estructura del sistema de archivos Unix omitiendo características complejas, y estaba destinado a ser una ayuda didáctica. Cayó en gran medida en desgracia entre los usuarios de Linux en 1994 debido a la popularidad de otros sistemas de archivos, sobre todo ext2, y su falta de funciones, incluidos tamaños de partición limitados y límites de longitud de nombres de archivos.
Historia
MINIX fue escrito desde cero por Andrew S. Tanenbaum en la década de 1980, como un sistema operativo tipo Unix cuyo código fuente podía usarse libremente en la educación. El sistema de archivos MINIX fue diseñado para usarse con MINIX; copia la estructura básica del sistema de archivos Unix pero evita características complejas en aras de mantener el código fuente limpio, claro y simple, para cumplir con el objetivo general de MINIX de ser una ayuda didáctica útil.
Cuando Linus Torvalds comenzó a escribir el kernel de su sistema operativo Linux (1991), estaba trabajando en una máquina que ejecutaba MINIX y adoptó su diseño de sistema de archivos. Esto pronto resultó problemático, ya que MINIX restringió la longitud de los nombres de archivos a 14 caracteres (30 en versiones posteriores), limitó las particiones a 64 megabytes y el sistema de archivos fue diseñado para fines educativos, no para rendimiento. El sistema de archivos extendido (ext; abril de 1992) fue desarrollado para reemplazar al de MINIX, pero fue sólo con la segunda versión de este, ext2, que Linux obtuvo un sistema de archivos de calidad comercial. En 1994, el sistema de archivos MINIX estaba "apenas en uso"; entre los usuarios de Linux.
Diseño e implementación
Un sistema de archivos MINIX tiene seis componentes:
- El bloque de botas que siempre se almacena en el primer bloque. Contiene el cargador de arranque que carga y ejecuta un sistema operativo al inicio del sistema.
- El segundo bloque es el Superblock que almacena datos sobre el sistema de archivos, que permite al sistema operativo localizar y comprender otras estructuras del sistema de archivos. Por ejemplo, el número de inodes y Zonas, el tamaño de los dos bitmaps y el bloque de inicio de la área de datos.
- El inode bitmap es un simple mapa de las inodes que rastrean cuáles son en uso y cuáles son libres al representarlos como uno (en uso) o un cero (libre).
- El zona bitmap funciona de la misma manera que inode bitmap, excepto que rastrea las zonas.
- El inodes área. Cada archivo o directorio está representado como un inodo, que registra metadatos incluyendo tipo (fil, directorio, bloque, char, tubería), IDs para usuario y grupo, tres vecestamps que registran la fecha y hora del último acceso, última modificación y último cambio de estado. Un inodo también contiene una lista de direcciones que apuntan a las zonas en área de datos donde se almacenan los datos del archivo o directorio.
- El área de datos es el componente más grande del sistema de archivos, utilizando la mayoría del espacio. Es donde se almacenan los datos reales de archivos y directorios.