El Sistema de Archivos Instalable ( IFS ) es una API de sistema de archivos en MS-DOS / PC DOS 4.x, IBM OS/2 y Microsoft Windows que permite al sistema operativo reconocer y cargar controladores para sistemas de archivos .
Historia
Cuando IBM y Microsoft estaban desarrollando conjuntamente OS/2, se dieron cuenta de que el sistema de archivos FAT no ofrecía algunas de las características que requerirían los sistemas operativos modernos, y Microsoft comenzó a desarrollar el Sistema de Archivos de Alto Rendimiento (HPFS), cuyo nombre en clave era Pinball .
En lugar de codificarlo dentro del núcleo, como se hacía con FAT, Microsoft desarrolló una API de sistema de archivos "basada en controladores" que les permitía, tanto a ellos como a otros desarrolladores, agregar nuevos sistemas de archivos al núcleo sin necesidad de modificarlo.
Cuando Microsoft dejó de trabajar en OS/2, IBM continuó utilizando la interfaz IFS y Microsoft implementó una similar en Windows NT.
Implementaciones
Sistemas de archivos adicionales en DOS
El marco IFS nunca se implementó en DOS . Para proporcionar sistemas de archivos adicionales sobre FAT , como MSCDEX agrega ISO 9660 para leer CD-ROM, se utilizó en su lugar el redireccionador de red . [ 1 ]
IFS en OS/2
El IFS proporcionaba una interfaz básica para la programación de sistemas de archivos. Se introdujo en 1989 en OS/2 1.20, junto con el sistema de archivos HPFS.
Los controladores del sistema de archivos se ejecutan en el espacio del kernel ( anillo 0 ) y se dividen en cuatro partes principales: microIFS, miniIFS, IFS y auxiliares.
Solo se requiere el IFS y el código del sistema de archivos en sí, y se carga mediante una instrucción " IFS =" en el archivo CONFIG.SYS . Es una biblioteca NE de 16 bits cargada dinámicamente . No importa si se trata de un sistema operativo OS/2 de 32 bits (versión 2.0 o posterior), el IFS siempre es de 16 bits (aunque extraoficialmente se puede crear un IFS de 32 bits).
El microIFS es un fragmento de código que carga en memoria el núcleo y el miniIFS, y salta a la ejecución del núcleo. Generalmente se encuentra en la sección de arranque del sistema de archivos.
El miniIFS es un fragmento de código que el kernel llama para cargar la primera instrucción IFS que aparece en el archivo CONFIG.SYS, por lo que la primera instrucción IFS debe ser el sistema de archivos de arranque para que el sistema pueda arrancar.
Las funciones auxiliares son de 16 bits (para OS/2 1.x) o de 32 bits (para OS/2 2.x y versiones posteriores), se ejecutan en el espacio de usuario ( anillo 3 ) y contienen el código utilizado para el mantenimiento típico del sistema de archivos, y son llamadas por CHKDSKutilidades FORMAT.
Este esquema de cuatro piezas permitía a los desarrolladores añadir dinámicamente un nuevo sistema de archivos de arranque, como demostró el controlador ext2 para OS/2.
El controlador del sistema de archivos de CD-ROM ( ISO 9660 ) se agregó en OS/2 2.0, UDF se agregó en OS/2 4.0 y JFS se agregó en OS/2 4.5. ArcaOS , el último paquete de OS/2, tiene varios controladores de sistema de archivos disponibles, incluido FAT32. [ 2 ] También hubo un IFS HPFS oficial de 32 bits, llamado HPFS386 que mejoró el rendimiento y agregó algunas características, como caché de tamaño variable y listas de control de acceso , y estaba disponible solo en ciertas ediciones de servidor de OS/2. El sistema de archivos FAT nunca se eliminó del kernel y oficialmente nunca fue un IFS, aunque hay IFS FAT que agregaron características como nombres de archivo largos (LFN), soporte para FAT32 , etc.
Los protocolos de intercambio de archivos en red, como NFS y SMB, también se implementan utilizando IFS, y la interfaz de IFS nunca ha cambiado.
IFS en Windows 3.11 y 9x
IFSHLP.SYS (el Asistente del Sistema de Archivos Instalable ) es un controlador de dispositivo MS-DOS que se lanzó por primera vez como parte de Microsoft Windows para Grupos de Trabajo 3.11. Permite el acceso nativo a archivos de 32 bits en el Modo Mejorado de Windows 386 al omitir la API de DOS de 16 bits y garantizar que ningún otro controlador de modo real intercepte las llamadas INT 21h .
La contraparte en modo protegido de IFSHLP.SYS es IFSMGR.386 en Windows 3.11 e IFSMGR.VXD en Windows 95 y Windows 98. [ 3 ] [ 4 ]
IFS en Windows NT
La API IFS forma parte del kit de controladores de Windows .
Cuando Microsoft dejó de desarrollar OS/2 y se concentró en lo que entonces se llamaba OS/2 NT, se llevó consigo las ideas de IFS, junto con el sistema de archivos HPFS.
En lugar de ser un esquema de cuatro piezas, NT IFS fue rediseñado a un esquema de dos piezas. microIFS y miniIFS fueron eliminados del esquema. IFS y los ayudantes permanecen iguales, pero más tarde, en Windows NT 4.0, se agregó un ayudante de desfragmentación (DEFRAG). El NTLDR original de Microsoft fue codificado para cargar el kernel de NT desde FAT, HPFS o NTFS , pero las versiones posteriores dejaron de admitir HPFS. Todos los controladores y ayudantes se convirtieron en ejecutables PE de 32 bits . El sistema de archivos FAT fue movido del kernel a un IFS y fue altamente optimizado para el rendimiento, aprovechando las capacidades de procesamiento de 32 bits (llamado FASTFAT ).
La versión original de Windows NT 3.1 incorporaba los controladores FAT, HPFS (Pinball) y el recién creado controlador NTFS, junto con un controlador de sistema de archivos de CD-ROM nuevo y mejorado que incorporaba nombres de archivo largos utilizando el sistema de archivos Microsoft Joliet .
Windows NT 3.51 añadió compresión por archivo a NTFS y a la interfaz IFS. En Windows NT 4.0 se eliminó HPFS. En Windows 2000 se actualizó FASTFAT para admitir FAT32 y se añadió UDF .
Windows 2000 modificó la interfaz IFS para añadir cifrado por archivo.
Los protocolos de intercambio de archivos en red y los antivirus también se implementan utilizando controladores de filtro del sistema de archivos IFS que interceptan las operaciones de E/S de archivos. [ 5 ]
Apple comenzó a incluir controladores HFS+ de solo lectura en la versión de Boot Camp de Mac OS X 10.6 [ 6 ] para su uso en Windows XP , Windows Vista y Windows 7 .
Lecturas adicionales
Véase también
Referencias
- ↑ Duncan, Ray (1989-02-14). "Power Programming: Comparing DOS and OS/2 File Systems" . PCMag . 8 (3): 321. ISSN 0888-8507 . OCLC 960872918. Recuperado el 2025-10-06 . p. 324:
…de forma apenas disimulada, los sistemas de archivos instalables han sido compatibles con DOS durante bastante tiempo. El redireccionador de red, que apareció por primera vez en la versión 3.1 de DOS, es realmente solo un sistema de archivos instalable. … Las extensiones de CD-ROM, que Microsoft ha estado vendiendo desde hace algún tiempo, son otro ejemplo de un sistema de archivos instalable. La estructura de un disco CD-ROM no se parece en absoluto a la de un disco con formato FAT.
- ↑ "Controlador del sistema de archivos instalable FAT32" . Consultado el 4 de septiembre de 2020 .
- ↑ Peter HS Madsen. "Guía de CONFIG.SYS y AUTOEXEC.BAT" .
- ↑ Resultados de búsqueda de Google Libros para IFSHLP . Consultado el 13 de abril de 2011 .
- ↑ "Acerca de los controladores de filtro del sistema de archivos - Controladores de Windows" . 15 de diciembre de 2021.
- ↑ "El curso de formación de Snow Leopard incluye controladores HFS y de Windows" . 6 de mayo de 2009. Consultado el 14 de septiembre de 2012 .
Enlaces externos
- Guía de diseño de controladores de sistemas de archivos en Microsoft Docs
ext2/ext3/ext4
- Ext2Fsd es un controlador de sistema de archivos GPL para Windows 2000 a Windows 8 (32 bits y 64 bits); admite escritura/múltiples páginas de códigos, htree ext3 y registro desde la versión 0.50 disponible.
- Sistema de archivos IFS ext2 para Windows NT (solo lectura)
- Ext2IFS / Otro IFS ext2-3 para Windows NT/2000/XP/2003 (Lectura/Escritura; compatible con nombres de archivo UTF-8 y htree ext3; no admite journal ext3)
ReiserFS
- ReiserFS IFS para Windows NT (solo lectura)
HFS
- Sistema de archivos HFS IFS comercial para Windows NT
Sistema operativo/2
- HFS IFS para OS/2
- Sistemas de archivos NTFS y FAT IFS para OS/2. Archivado el 20 de junio de 2017 en Wayback Machine.
- Servidor FTP que ofrece controladores IFS para OS/2. Archivado el 2 de mayo de 2017 en Wayback Machine.
Otro
- Almacenamiento CBFS : sistema de archivos virtual de archivo único multiplataforma con cifrado y compresión.
- CBFS Connect : SDK que permite a los desarrolladores crear sistemas de archivos virtuales instalables para Windows en modo de usuario.
- MiniSpy Sample : un ejemplo de controlador de filtro para Windows de Microsoft.
- EaseFilter : un marco de controladores de filtro del sistema de archivos para desarrolladores en modo de usuario de Windows.
- RomFS - Ejemplos de controladores para Windows
- WinFUSE : un sistema de archivos basado en .NET en un entorno de espacio de usuario que utiliza SMB en lugar de IFS.
- Dokany : un marco de trabajo con licencia MIT para sistemas de archivos en el espacio de usuario de Windows que utiliza un controlador de kernel independiente, con enlaces .NET disponibles.
- Sistemas de archivos informáticos
- Sistemas de archivos de IBM
- Sistema operativo/2
- Interfaces de programación de aplicaciones de Microsoft