stringtranslate.com

Nombre de archivo largo

La compatibilidad con nombres de archivos largos ( LFN ) es la extensión compatible con versiones anteriores de Microsoft del esquema de nombres de nombres de archivos 8.3 (nombres de archivos cortos) utilizado en DOS . Los nombres de archivos largos pueden ser más descriptivos, incluidas extensiones de archivos más largas como .jpeg, .tiff, .htmly .xhtmlque son comunes en otros sistemas operativos, en lugar de nombres abreviados especializados como .jpg, .tif, .htmo .xht. El estándar ha sido común con los sistemas de archivos FAT (Tabla de asignación de archivos ) desde su primera implementación en Windows NT 3.5 de 1994.

Para mantener la compatibilidad con sistemas operativos más antiguos, Microsoft formuló un método para generar un nombre de archivo 8.3 a partir del nombre de archivo largo (por ejemplo, Microsoft.txta MICROS~1.TXT) y asociarlo con el archivo.

Problemas de compatibilidad

Microsoft implementó soporte para LFN en el sistema de archivos FAT mediante el uso de entradas de directorio ocultas, del tipo de etiqueta de volumen , para almacenar los nombres más largos; este esquema se conoce como VFAT y se eligió por compatibilidad, ya que los programas y componentes del sistema operativo (SO) generalmente ignoran las etiquetas de volumen . Los programas que se ejecutan en sistemas operativos más antiguos aún podrían acceder a los nombres cortos de los archivos, mientras que los sistemas operativos y programas más nuevos compatibles con LFN podrían usar los más largos.

Cuando el soporte LFN se introdujo por primera vez en un sistema operativo basado en DOS en forma de Windows 95 , causó algunos problemas a los programas más antiguos. Por ejemplo, un programa de DOS que realiza operaciones de directorio a nivel de sector mientras Windows estaba en modo DOS podría destruir información de nombres de archivos largos, por lo que, de forma predeterminada, el acceso a nivel de sector a los discos duros no estaba permitido en este modo.

Al iniciar en DOS simple, los nombres de archivos largos no son visibles a menos que esté instalado un controlador VFAT LFN. Microsoft no agregó soporte LFN a muchos de sus programas más antiguos, incluido File Manager , el administrador de archivos de Windows 3.1x (Windows para trabajo en grupo) que quedó obsoleto debido al nuevo shell del sistema operativo, Windows Explorer . Windows NT admitió LFN en sistemas de archivos NTFS a partir del lanzamiento de NT 3.1, y todas sus utilidades, incluido el Administrador de archivos, se actualizaron para admitir LFN. NT 3.5 agregó compatibilidad con FAT LFN en preparación para Windows 95. Sin embargo, la versión de Windows 95 del Administrador de archivos proviene de Windows para trabajo en grupo 3.11.

OS/2 almacena LFN para sistemas de archivos FAT en .LONGNAME atributos extendidos que son incompatibles con la implementación de Microsoft y sólo son visibles para herramientas que soportan el estándar OS/2. Muchas API que brindan acceso a archivos por nombre de ruta no pueden ver los nombres nuevos y más largos sin un controlador compatible.

Límites

Debido a que la implementación de FAT LFN se superpone a un sistema de nombres más antiguo y limitado, existen complicaciones inevitables, como si se intenta crear demasiados archivos con las mismas primeras seis letras. [1] Además, es más probable que uno encuentre problemas al crear archivos o carpetas en el directorio raíz, ya que FAT12 y FAT16 solo asignan espacio para 512 entradas del directorio raíz en los discos duros. Dado que los nombres de archivos largos utilizan más de una entrada de directorio, este problema puede ocurrir con menos de 512 archivos o carpetas en el directorio raíz. [2] Sólo hay espacio para 24 nombres de archivos largos de longitud máxima (512/(1+20)). Este problema no existe para los volúmenes FAT32 .

El sistema de nombres de archivos largos permite una longitud máxima de 255 caracteres UCS-2 [3] [4] incluidos espacios y caracteres no alfanuméricos (excluyendo los siguientes caracteres, que tienen un significado especial dentro del intérprete de comandos COMMAND.COM o el kernel del sistema operativo: \ / : * ? " < > |). Esto se logra encadenando hasta 20 entradas de directorio de 13 caracteres Unicode de 2 bytes cada una. [4] La longitud máxima de una ruta de acceso es de 256 caracteres, lo que incluye todos los directorios principales y el nombre del archivo. El nombre de archivo largo de 255 caracteres en mayúsculas y minúsculas solo es posible para archivos o carpetas sin subcarpetas, en la carpeta raíz de cualquier unidad.

Si bien la compatibilidad con nombres de archivos largos permite nombres de archivos y directorios más largos, en los sistemas basados ​​en DOS, la ruta de archivo absoluta construida a partir de los equivalentes de nombres de directorios y archivos cortos asociados todavía está representada en una estructura de datos interna llamada Estructura de directorio actual (CDS), [ 5] [6] [7] [8] que impone un límite de 66 caracteres en el nombre de la ruta (corto) y, por lo tanto, limita indirectamente también la profundidad de la ruta a un máximo de 33 niveles (contando en el directorio raíz y asumiendo solo una nombres de letras). (Esta limitación de diseño no estaba presente en versiones anteriores de DR DOS (antes de las actualizaciones de DR DOS 6.0 de noviembre de 1991) que todavía utilizaban una representación de ruta relativa internamente, [7] [8] [9] sin embargo, debido a sus diferencias internas, estas versiones no son compatibles con los controladores complementarios LFN existentes). Los sistemas operativos no basados ​​en DOS sin CDS no están restringidos a esta limitación de profundidad de ruta.

Controladores VFAT LFN

La siguiente es una lista de controladores que se pueden usar para brindar soporte para nombres de archivos largos VFAT como los que se usan en Windows 95. Aunque los controladores como DOSLFN se pueden cargar en casi cualquier versión de DOS, funciona mejor en versiones de DOS que admiten Los propios LFN, como MS-DOS 7.10 o DR-DOS 7.02 , para que los comandos de DOS como DIRtambién muestren nombres de archivos largos.

Comandos Dos LFN en modo real sin controlador

A lo largo de los años también se han escrito algunos pequeños programas Dos en modo real, aunque muchos se han perdido con el tiempo. Una colección notable de programas que todavía existe es LFN Tools, que es de código abierto y comprende siete comandos LFN útiles escritos en C++ y lenguaje ensamblador, con documentación incluida en inglés y alemán, y está disponible en LFNTOOLS en Sourceforge.net.

Otras implementaciones

Antes de que se implementara el soporte LFN en la familia de sistemas de archivos FAT, varios administradores de archivos proporcionaban sus propios métodos para adjuntar y mantener descripciones de archivos más largas. Entre los primeros en hacerlo se encuentran los procesadores de línea de comandos alternativos 4DOS y NDOS con su DESCRIBEcomando interno y DESCRIPT.IONsus archivos correspondientes. Estos últimos son archivos ocultos opcionales ubicados en cada directorio que almacenan una lista basada en líneas de nombres de archivos ubicados en el directorio junto con su descripción textual y entradas de metadatos opcionales , por ejemplo, atributos extendidos y datos de configuración para otros programas. [10] Las descripciones pueden tener hasta 511 caracteres y se muestran junto con los nombres de los archivos de la misma manera que los nombres de archivos largos se enumeran junto con sus alias de nombres de archivos cortos en los DIRlistados. Si existe una entrada para un archivo, se copiará y moverá con el archivo mientras se utilicen estos procesadores de línea de comandos para realizar la operación. [9] Este esquema aún lo mantienen sucesores como 4OS2 , 4NT/Take Command . También fue adoptado por varios otros programas como Volkov Commander (VC), DOS Navigator (DN), Open DOS Navigator (ODN), Necromancer's DOS Navigator (NDN), Windows Commander , Total Commander , Double Commander , 7-Zip , XnView , ACDSee , Newsbin Pro , V, FreeCOM [11] y algunas aplicaciones basadas en CUI_LIB [12] .

Human68K , el sistema operativo de los ordenadores Sharp X68000 desde 1986, se basa en un sistema de archivos FAT extendido. Permite hasta 18,3 caracteres en un nombre de archivo (en lugar de los 8,3 en FAT) y también permite caracteres en mayúsculas y minúsculas (así como kanji en el código Shift JIS ) que se tratan como distintivos. Si se restringen al uso de nombres de archivos en formato 8.3 con caracteres en mayúscula únicamente, los disquetes Human68K son totalmente compatibles con el formato de disquete FAT estándar japonés de 1232 KiB (77 cilindros, 2 cabezales, 8 sectores, 1024 bytes/sector). Este formato es utilizado por las computadoras de las series NEC PC-9800 , Fujitsu FMR y FM Towns . [ cita necesaria ]

Los volúmenes Novell NetWare versiones 3.x y 4.x también pueden admitir nombres de archivos largos compatibles con Microsoft, cargando un módulo cargable de NetWare (NLM) adicional. [13]

Para admitir aplicaciones Java sin implementar un esquema compatible con VFAT , la versión 2 del sistema operativo IBM 4690 basado en FlexOS introdujo su propia arquitectura de sistema de archivos virtual (VFS) para almacenar nombres de archivos largos en el sistema de archivos FAT de manera compatible con versiones anteriores. Si está habilitado, los nombres de archivos virtuales (VFN) están disponibles en letras de unidades lógicas separadas, mientras que los nombres de archivos reales (RFN) permanecen disponibles en las letras de unidades originales. [14]

Ver también

Referencias

  1. ^ "Sistema de archivos MSDOS". CacaoDev . 2005-09-12. Archivado desde el original el 18 de octubre de 2006.
  2. ^ "Errores al crear archivos o carpetas en el directorio raíz". Microsoft . 120138.
  3. ^ Winnick Cluts, Nancy (agosto de 1996) [enero de 1995]. "Hacer espacio para nombres de archivos largos". Archivos y Artículos Técnicos I/0. Corporación Microsoft . 810456. Archivado desde el original el 23 de abril de 2008 . Consultado el 19 de abril de 2007 .
  4. ^ ab Dobiash, Jack "vinDaci", ed. (06 de enero de 1998) [18 de noviembre de 1996]. "Especificación de nombre de archivo largo" (4 ed.). Grand Ronde, Oregón, Estados Unidos. Archivado desde el original el 25 de octubre de 2015 . Consultado el 22 de mayo de 2013 .
  5. ^ Schulman, Andrés; Marrón, Ralf D .; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [noviembre de 1993]. DOS indocumentado: una guía para programadores sobre funciones y estructuras de datos reservadas de MS-DOS, ampliada para incluir MS-DOS 6, Novell DOS y Windows 3.1 (2 ed.). Lectura, Massachusetts: Addison Wesley . ISBN 0-201-63287-X. ISBN 978-0-201-63287-3(xviii+856+vi páginas, disquete de 3,5 pulgadas) Erratas: [1][2]
  6. ^ Marrón, Ralf D .; et al., eds. (2000-07-16). "Lista de interrupciones de Ralf Brown" (61 ed.). INTER61 .
  7. ^ ab Paul, Matthias R. (30 de julio de 1997) [1 de mayo de 1994]. NWDOS-TIP: consejos y trucos para Novell DOS 7, con un clic para deshacer detalles, errores y soluciones. MPDOSTIP (en alemán) (3 ed.). Archivado desde el original el 10 de septiembre de 2017 . Consultado el 6 de agosto de 2014 .(NB. NWDOSTIP.TXT es un trabajo completo sobre Novell DOS 7 y OpenDOS 7.01, que incluye la descripción de muchas características e componentes internos no documentados. Es parte de la MPDOSTIP.ZIPcolección aún más grande del autor mantenida hasta 2001 y distribuida en muchos sitios en ese momento. El enlace proporcionado apunta a una versión anterior del NWDOSTIP.TXTarchivo convertida a HTML). [3]
  8. ^ ab Paul, Matthias R. (7 de junio de 1997) [abril de 1994]. "Capítulo 1.3.xi: Überlange Pfade". NWDOS7UN.TXT - Zusammenfassung der dokumentierten und undokumentierten Fähigkeiten von Novell DOS 7. MPDOSTIP (en alemán). Archivado desde el original el 7 de noviembre de 2016 . Consultado el 7 de noviembre de 2016 .
  9. ^ ab Hermanos, Hardin; Rawson, Tom ; Conn, Rex C .; Pablo, Matías R.; Tinte, Charles E.; Georgiev, Luchezar I. (27 de febrero de 2002). Ayuda en línea de 4DOS 8.00 .
  10. ^ "Nota técnica: uso de DESCRIPT.ION". Chestertown, Maryland, EE. UU.: JP Software Inc. 1989. Archivado desde el original el 18 de marzo de 2016.(NB. Los ID conocidos incluyen 0x23('#') utilizado por varias utilidades escritas por Matthias R. Paul para listas separadas por espacios de pares de texto clave=valor que contienen propiedades de archivos como atributos extendidos como CP (páginas de códigos), PC (códigos de idioma) , CW (ancho de bits), XS (ancho de página), YS (largo de página), XO (imprimir desplazamiento x), YO (imprimir desplazamiento y), CR (derechos de autor), URL (enlace de origen), etc. 0x25('%') siendo utilizado por programas que usan CUI_LIB para almacenar variables de pseudoentorno , 0xEDestando reservado para Digital Research / Novel / Caldera y 0xFDpara FreeDOS .)
  11. ^ Davis, Jeremy. "Archivos FreeCom y 4DOS DESCRIPT.ION" (nota técnica de FreeDOS). LibreDOS . Archivado desde el original el 11 de noviembre de 2016 . Consultado el 11 de noviembre de 2016 .
  12. ^ Paul, Matías R. (1 de mayo de 1997) [1 de marzo de 1995]. "Hinweise zu JPSofts 4DOS 5.5b/c, 5.51, 5.52a y NDOS". MPDOSTIP (en alemán). Archivado desde el original el 4 de noviembre de 2016 . Consultado el 8 de mayo de 2015 .(NB. El enlace proporcionado apunta a una versión convertida en HTML del 4DOS5TIP.TXTarchivo, que forma parte de la MPDOSTIP.ZIPcolección). [4]
  13. ^ Novell (11 de febrero de 1999). "TID1002030 Windows NT, nombres de archivos largos en NetWare". Archivado desde el original el 6 de junio de 2011 . Consultado el 3 de diciembre de 2007 .
  14. ^ Guía de programación del sistema operativo 4690 versión 5.2 (PDF) . IBM . 2007-12-06. Documento de IBM SC30-4137-01. Archivado desde el original (PDF) el 25 de enero de 2022 . Consultado el 3 de septiembre de 2018 .

enlaces externos