El término sistema de archivos (abreviado " FS " para Sistema de archivos , a veces sistema de archivos en inglés) designa de manera ambigua:
En términos generales, un sistema de archivos o sistema de administración de archivos (FMS) es una forma de almacenar información y organizarla en archivos en lo que se llama, en ingeniería de software , memorias secundarias (para computadora de hardware , es memoria masiva como un disco duro , un disco SSD , un CD-ROM , una llave USB , un disquete , etc.). Esta gestión de archivos permite procesar y almacenar grandes cantidades de datos, así como compartirlos entre varios programas informáticos . Ofrece al usuario una visión abstracta de sus datos y permite localizarlos desde una ruta.
Hay otras formas de organizar los datos , por ejemplo, bases de datos (especialmente bases de datos relacionales ) y archivos indexados .
La tarjeta perforada desapareció gradualmente a partir de 1970 cuando aparecieron las unidades de E / S con cinta magnética y disquetes en formato de "8 pulgadas" y memorias masivas más eficientes.
En 1964, el sistema DECtape de la empresa DEC hizo posible registrar datos en cintas magnéticas en lugar de tarjetas perforadas .
En 1968, GEORGE 3 estaba equipado con un almacén de archivos ( almacén de archivos ) que registraba los archivos en una estructura de árbol en la idea de Multics . Cada usuario del sistema tenía una carpeta de usuario ( inicio ) con tantas subcarpetas como fuera necesario. Se puede acceder a las carpetas de usuario directamente oa través de una ruta, como :: MASTER.USERS.COMPSCI, JOHN . Se utilizó un sistema de listas de control de acceso por seguridad que permite configurar el acceso por usuario y por grupo. El sistema de archivos se organizó en dos niveles: uno en disco y el otro en cinta magnética.
En 1972, ODS-1 era un sistema de archivos plano (utilizado por RSX-11 OS). Posteriormente será reemplazado por ODS-2 y ODS-5.
En 1974, apareció el sistema de archivos CP / M. Este sistema operativo guarda archivos en disquetes en una organización lógica específica (que no fue asumida por MS-DOS) y puede llenar disquetes hasta que estén completamente llenos.
CP / M también puede gestionar discos duros (en realidad, dado que el BIOS está "abierto" y se describe claramente en la documentación que Digital Research proporcionó con algunos de sus software, es posible adaptar cualquier sistema CP / M en particular a cualquier disponible memoria masiva y periféricos disponibles).
Cada archivo tiene un nombre y una extensión (más precisamente, la sintaxis es: <nombre de archivo (máximo 8 bytes)>. <Extensión (máximo 3 bytes)>).
En 1978, apareció el primer sistema de archivos de Apple.
En 1980 apareció el sistema FAT12. El sistema FAT16 en 1984.
El bloque de parámetros de BIOS (BPB) se introduce con PC DOS 2.0. Esta versión también presenta bits de atributos de carpeta , de archivo , de etiqueta de volumen y de solo lectura para la priorización de carpetas.
En 1988, ISO 9660 (una norma ISO) definió el sistema de archivos utilizado en los CD-ROM.
En 1993, apareció el sistema NTFS Versión 1.0, utilizado por Windows.
En 1994 y 1995, se completaron los sistemas de archivos para CD-ROM : Rock Ridge y Joliet .
Sistema de archivos | Inventor | Año de introducción |
Sistema operativo inicial | Licencia |
---|---|---|---|---|
DECtape | DIC | 1964 | Monitor PDP-6 | |
Nivel-D | DIC | 1968 | TOPS-10 | |
George3 | ICT (más tarde ICL) | 1968 | Jorge 3 | |
ODS-1 | DIC | 1972 | RSX-11 | |
Sistema de archivos RT-11 | DIC | 1973 | RT-11 | |
DOS ( GEC ) | GEC | 1973 | Sistema operativo central | |
Sistema de archivos CP / M | Gary Kildall | 1974 | CP / M | |
V6FS | Laboratorios Bell | 1975 | Unix versión 6 | |
OS4000 | GEC | 1977 | OS4000 | |
GRASA (8 bits) | Marc McDonald , Microsoft | 1977 | Disco autónomo de Microsoft BASIC-80 | |
DOS 3.x | computadora Apple | 1978 | DOS de Apple | |
Pascal | computadora Apple | 1978 | Pascal de manzana | |
CBM DOS | Comodoro | 1978 | BÁSICO Microsoft (para CBM PET) | |
V7FS | Laboratorios Bell | 1979 | Versión 7 Unix | |
ODS-2 | DIC | 1979 | OpenVMS | |
FAT12 | Tim Paterson , Seattle Computer Products | 1980 | QDOS , 86-DOS | |
AFS | Universidad de Carnegie mellon | mil novecientos ochenta y dos | MultoOS multiplataforma | |
DFS | Acorn Computers Ltd | mil novecientos ochenta y dos | Bellota BBC Micro MOS | |
ADFS | Acorn Computers Ltd | 1983 | Acorn Electron (más tarde Arthur RISC OS ) | |
FFS | Kirk mckusick | 1983 | 4.2BSD | |
ProDOS | computadora Apple | 1983 | ProDOS 8 | |
MFS | computadora Apple | 1984 | Mac OS | |
FAT16 | Microsoft , IBM | 1984 | PC DOS 3.0 / MS-DOS 3.0 | |
Formato de cinta Elektronika BK | NPO "Centro científico" (ahora Sitronics ) | 1985 | Vilnius Basic , programa de monitorización BK | |
HFS | computadora Apple | 1985 | Mac OS | |
Amiga OFS | Metacomco para Commodore | 1985 | AmigaOS | |
Sierra alta | Ecma Internacional | 1985 | MS-DOS , Mac OS | |
NWFS | Novell | 1985 | NetWare 286 | |
FAT16B | Compaq | 1987 | Compaq MS-DOS 3.31, DR DOS 3.31 | |
MINIX V1 FS | Andrew S. Tanenbaum | 1987 | MINIX 1.0 | |
Amiga FFS | Comodoro | 1988 | AmigaOS 1.3 | |
HPFS | IBM y Microsoft | 1988 | OS / 2 | |
ISO 9660: 1988 | Ecma Internacional , Microsoft | 1988 | MS-DOS , Mac OS y AmigaOS | |
JFS1 | IBM | 1990 | AIX | |
VxFS | VERITAS (ahora Symantec ) | 1991 | desarrollado para Unix System Laboratories , HP-UX | |
ext | Tarjeta Remy | 1992 | Linux | |
WAFL | NetApp | 1992 | Datos ONTAP | |
MINIX V2 FS | Andrew S. Tanenbaum | 1992 | MINIX 1.6 y 2.0 | |
AdvFS | DIC | 1993 | Unix digital | |
NTFS versión 1.0 | Microsoft , Tom Miller , Gary Kimura | 1993 | Windows NT 3.1 | Dueño |
LFS | Margo seltzer | 1993 | Sprite de Berkeley | |
ext2 | Tarjeta Remy | 1993 | Linux , Hurd | |
UFS1 | Kirk mckusick | 1994 | 4.4BSD | |
XFS | SGI | 1994 | IRIX | |
HFS (sistema de archivos jerárquico) | IBM | 1994 | MVS / ESA (ahora z / OS ) | |
Cresta de la roca | Young Minds Inc. | 1994 | Linux , Mac OS , AmigaOS y FreeBSD | |
Joliet ("CDFS") | Microsoft | 1995 | Microsoft Windows , Linux , Mac OS y FreeBSD | |
PFS | Michiel Pelt | 1996 | AmigaOS | |
Romeo | Adaptec | 1996 | Microsoft Windows | |
UDF | ISO / ECMA / OSTA | 1995 | - | |
FAT32 | Microsoft | 1996 | Windows 95b | |
QFS | LSC Inc, Sun Microsystems | 1996 | Solaris | |
GPFS | IBM | 1996 | AIX , Linux , Windows | |
Ser sistema de archivos | Be Inc. , D. Giampaolo , C. Meurillon | 1996 | BeOS , HaikuOS | |
HFS Plus | computadora Apple | 1998 | Mac OS 8.1 | |
NSS | Novell | 1998 | NetWare 5 | |
Sistema de archivos PolyServe (PSFS) | PolyServe | 1998 | Windows , Linux | |
ODS-5 | DIC | 1998 | OpenVMS 7.2 | |
SFS | John hendrikx | 1998 | AmigaOS , AROS , MorphOS | |
ext3 | Stephen tweedie | 1999 | Linux | |
ISO 9660: 1999 | Ecma Internacional , Microsoft | 1999 | Microsoft Windows , Linux , Mac OS X , FreeBSD y AmigaOS | |
JFS | IBM | 1999 | Servidor OS / 2 Warp para comercio electrónico | |
GFS | Sistina ( sombrero rojo ) | 2000 | Linux | |
Melio FS | Sanbolic | 2001 | Ventanas | |
NTFS versión 3.1 | Microsoft | 2001 | Windows XP | Dueño |
ReiserFS | Nombresys | 2001 | Linux | |
zFS | IBM | 2001 | z / OS (actualizado a OS / 390 ) | |
FATX | Microsoft | 2002 | Xbox | |
UFS2 | Kirk mckusick | 2002 | FreeBSD 5.0 | |
Candelabro | Cluster File Systems (más tarde Oracle Corporation ) | 2002 | Linux | |
OCFS | Oracle Corporation | 2002 | Linux | |
VMFS2 | VMware | 2002 | VMware ESX Server 2.0 | |
ext3cow | Zachary Peterson | 2003 | Linux | |
Fósil | Laboratorios Bell | 2003 | Plan 9 de Bell Labs 4 | |
Sistema de archivos de Google | 2003 | Linux | ||
PramFS | MontaVista | 2003 | Linux | |
Dependencia | Datalight | 2003 | Windows CE , VxWorks , puertos personalizados | |
VxCFS | VERITAS (ahora Symantec ) | 2004 | AIX , HP-UX , Solaris , Linux | |
ZFS | Microsistemas solares | 2004 | Solaris | CDDL |
Reiser4 | Nombresys | 2004 | Linux | |
Sistema de archivos no volátil | Palm, Inc. | 2004 | Granate de Palm OS | |
MINIX V3 FS | Andrew S. Tanenbaum | 2005 | MINIX 3 | |
OCFS2 | Oracle Corporation | 2005 | Linux | |
NILFS | NTT | 2005 | Linux | |
VMFS3 | VMware | 2005 | VMware ESX Server 3.0 | |
GFS2 | sombrero rojo | 2006 | Linux | |
ext4 | Varios | 2006 | Linux | |
exFAT | Microsoft | 2006, 2009 | Windows CE 6.0 , Windows XP SP3 , Windows Vista SP1 | Dueño |
TexFAT / TFAT | Microsoft | 2006 | Windows CE 6.0 | |
Btrfs | Oracle Corporation | 2007 | Linux | GLP |
Ceph | Sage Weil , Inktank Storage , Red Hat | 2007, 2012 | Linux | |
WBFS | kwiirk y Waninkoko (elaboración casera de Wii) | 2008 | Wii | |
MARTILLO | Matthew dillon | 2008 | DragonFly BSD | |
Tux3 | Varios | 2008 | Linux | |
UBIFS | Nokia con la ayuda de la Universidad de Szeged | 2008 | Linux | |
Oracle ACFS | Oracle Corporation | 2009 | Solo Linux : Red Hat Enterprise Linux 5 y Oracle Enterprise Linux 5 | |
Confianza Nitro | Datalight | 2009 | Windows CE , Windows Mobile , VxWorks , Linux , puertos personalizados | |
LTFS | IBM | 2010 | Linux , Mac OS X , Microsoft Windows planificado , | LGPL |
IlesfayFS | Grupo de tecnología Ilesfay | 2011 | Microsoft Windows , Red Hat Enterprise Linux planificado | |
VMFS5 | VMware | 2011 | Estadísticas de VMware ESXi 5.0tux 3 | |
ReFS | Microsoft | 2012, 2013 | Windows Server 2012 | |
Sistema de archivos Lanyard | Dan Luedtke | 2012 | Linux | |
F2FS | Samsung | 2012 | Linux | GPLv2 |
APFS | manzana | 2016 | Mac OS | |
Sistema de archivos | Creador | Año de introducción | Sistema operativo inicial | Licencia |
El volumen de datos procesados por aplicaciones informáticas suele alcanzar varios cientos de gigabytes y varios terabytes para determinadas aplicaciones industriales. Dichos volúmenes de datos no se pueden almacenar en la memoria principal . Además, también es necesario el almacenamiento persistente a largo plazo, que permita que los datos procesados o que se procesen se guarden para un uso futuro. El principio utilizado para dar respuesta a este problema consiste en almacenar estos datos en memorias secundarias en forma de archivos, es decir de secuencias de bloques (la unidad más pequeña que es capaz de gestionar el dispositivo de almacenamiento). El contenido de estos bloques, una secuencia simple de datos binarios , se puede interpretar de acuerdo con el formato de archivo, como caracteres, números enteros o de punto flotante, códigos de operación de la máquina, direcciones de memoria, etc. El intercambio entre los dos tipos de memoria se realiza mediante transferencia en bloque.
El propósito del sistema de archivos es permitir el acceso al contenido de los archivos almacenados (abrir el archivo, guardarlo, copiarlo o moverlo a una segunda ubicación, o eliminarlo) de su ruta, formado por un nombre precedido por una lista de directorios anidados.
Para el usuario, un sistema de archivos se ve como una estructura de árbol: los archivos se agrupan en directorios (un concepto utilizado por la mayoría de los sistemas operativos). Estos directorios contienen archivos o de forma recursiva otros directorios. Entonces hay un directorio raíz y subdirectorios. Tal organización genera una jerarquía de directorios y archivos organizados en un árbol.
Existen diferentes métodos para asociar un nombre de archivo con su contenido. En el caso del sistema de archivos FAT , un antiguo sistema de archivos MS-DOS y Windows que todavía se usa ampliamente en medios extraíbles como unidades USB, cada directorio contiene una tabla que asocia los nombres de los archivos con su tamaño y un índice que apunta a la tabla de asignación de archivos, un área reservada del disco que indica para cada bloque de datos el índice del siguiente bloque del mismo archivo.
En el caso de los sistemas de archivos Unix (o Linux / Minix ), los archivos y directorios se identifican con un número único, el número de inodo . Este número se utiliza para acceder a una estructura de datos ( inodo ) que agrupa toda la información sobre un archivo excepto el nombre, en particular la protección de acceso para leer, escribir o listas de fechas, así como los medios para 'encontrar su contenido'. El nombre se almacena en el directorio asociado con un número de inodo. Esta organización tiene la ventaja de que un solo archivo en disco puede ser conocido por el sistema por varios nombres.
La organización del sistema de archivos NTFS es aún más compleja y funciona de manera muy similar a una base de datos.
El nombre de un archivo es una cadena de caracteres, a menudo de tamaño limitado. En la actualidad, casi todos los caracteres del directorio Unicode se pueden utilizar en general, pero algunos caracteres específicos que tienen significado para el sistema operativo pueden estar prohibidos o en desuso. Este es el caso, por ejemplo, de los caracteres ":", "/" o "\" en Windows.
Los sistemas de archivos Unix usan nombres de archivos basados en una secuencia de bytes. Las capas inferiores de software (kernel, sistemas de archivos) manejan los nombres de los archivos sin conocer el juego de caracteres utilizado. A nivel de usuario, el conjunto de caracteres utilizado generalmente no lo proporciona el sistema de archivos, sino que depende de la configuración regional del usuario. En un contexto donde se desea la interoperabilidad a nivel global, se desea la compatibilidad Unicode y, por lo tanto, UTF-8 se usa cada vez más especialmente en distribuciones de Linux. Los sistemas más antiguos usaban sistemas de codificación regional que pueden dañar los nombres de los archivos cuando los usuarios tienen configuraciones regionales diferentes. En los sistemas modernos, se evita el uso de nombres de archivo que no sean Unicode para reducir los problemas de interoperabilidad con los sistemas Unicode.
NTFS , Virtual FAT y Joliet , ReFS utilizan el juego de caracteres UTF-16 para los nombres de archivo.
En Windows y en entornos gráficos, el nombre de un archivo generalmente tiene un sufijo (extensión) separado por un punto que depende del contenido del archivo: .txt para texto, por ejemplo. Esta extensión dependerá de la elección de aplicaciones que admitan este archivo. Sin embargo, en Linux / Unix, en los sistemas de línea de comandos y en los lenguajes de programación, la extensión es solo una parte del nombre del archivo, su formato es detectado por el tipo MIME escrito de forma transparente en los archivos de encabezado.
Cada archivo se describe mediante metadatos (guardados en inodo bajo Unix), mientras que el contenido del archivo se escribe en uno o más bloques del medio de almacenamiento, dependiendo del tamaño del archivo.
Los metadatos más comunes en UNIX son:
En la mayoría de los sistemas Unix, el comando stat muestra todo el contenido del inodo .
El sistema de gestión de archivos realiza varias funciones:
La organización física subyacente del medio utilizado (bloques, lineal) y los mecanismos de entrada / salida de bajo nivel están enmascarados. Por lo tanto, el usuario puede organizar sus datos permanentes distribuyéndolos en diferentes archivos. El contenido de los archivos está determinado por su formato , que depende de la aplicación utilizada.
Además de esta organización abstracta, los sistemas de archivos pueden incluir compresión o encriptación automática de datos, una gestión más o menos detallada de los derechos de acceso a los archivos y registro de escritura (para mayor solidez, en caso de falla) del sistema). Además, algunos sistemas de archivos pueden abarcar una red completa, como NFS. Algunos de estos sistemas de archivos de red se pueden distribuir o distribuir, como PVFS2.
La elección del sistema de gestión de archivos se basa principalmente en el sistema operativo. Por lo general, los sistemas operativos más nuevos admiten una gran cantidad de sistemas de archivos.
MS-DOS (y compatible) y las primeras versiones de Windows 95 usaban los sistemas de archivos FAT16 y FAT12 (para medios de menos de 16 MB ). A partir de Windows 95 OSR2, la elección entre sistemas de archivos comenzó a ampliarse. Se podían utilizar tanto FAT16 como FAT32 y , a partir de un determinado tamaño de partición, la elección del sistema FAT32 fue más acertada.
En las primeras versiones de Windows NT (NT3.xy NT4), existe la posibilidad de elegir entre el sistema FAT16 y NTFS . Este sistema operativo no es compatible con FAT32 . Generalmente, se recomienda NTFS porque proporciona una mayor seguridad y un rendimiento mejorado en comparación con FAT . A diferencia de las versiones anteriores de Windows NT, Windows NT5 ( Windows 2000 ) acepta particiones de tipo FAT16 , FAT32 y NTFS . Por lo tanto, se recomienda el sistema de archivos más reciente (NTFS 5) ya que ofrece más funcionalidad que los sistemas FAT .
El Vista SP1 ofrece formatear en exFAT que es una gran evolución del FAT, proponiendo una mayor confiabilidad, una gestión "real" de nombres largos y el ACL . Windows CE 6 (el futuro Windows Mobile 7) también gestiona este nuevo FS. El objetivo de Microsoft es reemplazar FAT, que se utiliza principalmente en medios extraíbles como tarjetas de memoria.
El mundo Unix (Unix, Linux, BSD, Mac OS X) admite una gran cantidad de sistemas de archivos. Esto se debe al hecho de que, a pesar de su número, los sistemas admitidos generalmente siguen los estándares y, en particular, POSIX .
Los sistemas de archivos registrados escriben cambios en un diario antes de realizarlos en los archivos. Este mecanismo proporciona una mayor fiabilidad, al permitir recuperar las modificaciones "en curso" en caso de un apagado intempestivo (corte de energía, caída del sistema, desconexión de un disco externo, etc.).
Los sistemas de archivos instantáneos , o en francés, instantáneas , brindan la capacidad de registrar el estado del sistema de archivos en un momento dado.
Estos sistemas de archivos no están destinados a proporcionar acceso a archivos reales. Presentan, de hecho, bajo la apariencia de una jerarquía clásica de archivos y directorios, información de diversa índole (sobre el estado del ordenador, periféricos o permitiendo el acceso a bases de datos). Por lo tanto, se trata de interfaces específicas para cierto software, generalmente el sistema operativo.