Sistema de archivos nativo del sistema operativo 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 para la enseñanza. Cayó en gran medida en desgracia entre los usuarios de Linux en 1994 debido a la popularidad de otros sistemas de archivos (en particular ext2 ) y su falta de características, incluyendo tamaños de partición limitados y límites de longitud de nombre de archivo.
Historia
MINIX fue escrito desde cero por Andrew S. Tanenbaum en la década de 1980 como un sistema operativo similar a Unix cuyo código fuente pudiera 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 cualquier característica compleja con el fin 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. [1]
Cuando Linus Torvalds comenzó a escribir el núcleo de su sistema operativo Linux (1991), trabajaba 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 archivo a 14 caracteres (30 en versiones posteriores), limitó las particiones a 64 megabytes [2] y el sistema de archivos fue diseñado para fines de enseñanza, no de rendimiento. [3] La implementación de Linux del sistema de archivos MINIX era multiproceso, mientras que la implementación de MINIX del sistema de archivos era de un solo subproceso. [4] El sistema de archivos extendido (ext; abril de 1992) fue desarrollado para reemplazar al de MINIX, pero fue solo con la segunda versión de este, ext2 , que Linux obtuvo un sistema de archivos de calidad comercial. [3] A partir de 1994, el sistema de archivos MINIX estaba "poco en uso" entre los usuarios de Linux. [2]
Diseño e implementación
Un sistema de archivos MINIX tiene seis componentes: [1]
- El bloque de arranque , que siempre se almacena en el primer bloque, contiene el cargador de arranque que carga y ejecuta un sistema operativo al iniciarse el sistema.
- El segundo bloque es el Superbloque , que almacena datos sobre el sistema de archivos, que permiten al sistema operativo localizar y comprender otras estructuras del sistema de archivos. Por ejemplo, el número de inodos y zonas , el tamaño de los dos mapas de bits y el bloque inicial del área de datos .
- El mapa de bits de inodo es un mapa simple de los inodos que rastrea cuáles están en uso y cuáles están libres representándolos como un uno (en uso) o un cero (libre).
- El mapa de bits de zona funciona de la misma manera que el mapa de bits de inodo , excepto que rastrea las zonas.
- El área de inodos . Cada archivo o directorio se representa como un inodo, que registra metadatos que incluyen el tipo (archivo, directorio, bloque, carácter, canalización), los identificadores de usuario y grupo, tres marcas de tiempo que registran la fecha y hora del último acceso, la última modificación y el último cambio de estado. Un inodo también contiene una lista de direcciones que apuntan a las zonas del área de datos donde se almacenan realmente los datos del archivo o directorio.
- El área de datos es el componente más grande del sistema de archivos y ocupa la mayor parte del espacio. Es donde se almacenan los datos de los archivos y directorios.
Véase también
Referencias
- ^ ab Tanenbaum, Andrew S; Albert S. Woodhull (14 de enero de 2006). Sistemas operativos: diseño e implementación (3.ª ed.). Prentice Hall . ISBN 0-13-142938-8.
- ^ ab Strobel, Stefan; Uhl, Thomas (1994). Linux: cómo liberar la estación de trabajo en su PC . Springer-Verlag. pág. 54.
- ^ ab Mauerer, Wolfgang (2010). Arquitectura profesional del kernel de Linux. John Wiley e hijos. ISBN 9781118079911.
- ^ "versión linux 0.01 - refs/tags/v0.01 - pub/scm/linux/kernel/git/nico/archive - Git en Google". kernel.googlesource.com . Consultado el 29 de marzo de 2024 .
Enlaces externos
- Límites de tamaño de archivos, sistemas de archivos y memoria en Minix
- Herramienta de sistema de archivos Minix
- Introducción al sistema de archivos minix