Asignación de letra de unidad

ImprimirCitar
MS-DOS comando prompt with drive letter C como parte del directorio de trabajo actual.
Administrador de archivos que muestra el contenido de la unidad C.

En el almacenamiento de datos informáticos, la asignación de letras de unidad es el proceso de asignación de identificadores alfabéticos a los volúmenes. A diferencia del concepto de puntos de montaje de UNIX, donde los volúmenes se nombran y ubican arbitrariamente en un único espacio de nombres jerárquico, la asignación de letras de unidad permite múltiples espacios de nombres de nivel superior. La asignación de letras de unidad es, por lo tanto, un proceso de uso de letras para nombrar las raíces del "bosque" representar el sistema de archivos; cada volumen contiene un "árbol" (o, para sistemas de archivos no jerárquicos, una lista independiente de archivos).

Origen

El concepto de letras de unidad, como se usa hoy en día, probablemente debe su origen a la familia de sistemas operativos VM de IBM, que se remonta a CP/CMS en 1967 (y su predecesor de investigación CP-40), por medio de Digital Research's (DRI) CP/M. El concepto evolucionó a través de varios pasos:

  • CP/CMS utiliza letras de transmisión para identificar minidisks adjunta a una sesión de usuario. Una referencia completa del archivo (pathname en la parlanza de hoy) consiste en un nombre de archivo, a tipo de archivo, y una carta de disco llamada filemode (por ejemplo. A o B). Minidiscos pueden corresponder a unidades de disco físico, pero más típicamente se refieren a unidades lógicas, que se mapean automáticamente en dispositivos compartidos por el sistema operativo como conjuntos de cilindros virtuales.
  • CP/CMS inspiró a muchos otros sistemas operativos, incluyendo el sistema operativo CP/M microcomputer, que utiliza una carta de unidad para especificar un dispositivo de almacenamiento físico. Las versiones tempranas del CP/M (y otros sistemas operativos de microcomputadoras) implementaron un sistema de archivos planos en cada unidad de disco, donde una referencia de archivo completa consiste en una carta de conducir, un colon, un nombre de archivo (hasta ocho caracteres), un punto y un tipo de archivo (tres caracteres); por ejemplo A:README.TXT. (Esta era la era de discos floppy de 8 pulgadas, donde tales espacios de nombres pequeños no impusieron restricciones prácticas.) Este uso fue influenciado por los prefijos del dispositivo utilizados en el sistema operativo TOPS-10 de Digital Equipment Corporation (DEC).
  • La sintaxis de la carta de transmisión elegida para CP/M fue heredada por Microsoft para su sistema operativo MS-DOS por medio de Seattle Computer Products' (SCP) 86-DOS, y por lo tanto también por la versión OEM de IBM PC DOS. Originalmente, las letras de la unidad siempre representaban volúmenes físicos, pero el apoyo a los volúmenes lógicos finalmente apareció.
  • A través de su posición designada como sucesor de DOS, el concepto de cartas de transmisión también fue heredado por OS/2 y la familia de Microsoft Windows.

La importante capacidad de los directorios jerárquicos dentro de cada letra de unidad estaba inicialmente ausente en estos sistemas. Esta fue una característica importante de UNIX y otros sistemas operativos similares, donde las unidades de disco duro contenían miles (en lugar de decenas o cientos) de archivos. El aumento de las capacidades de almacenamiento de las microcomputadoras condujo a su introducción, seguida eventualmente por nombres de archivo largos. En los sistemas de archivos que carecen de estos mecanismos de denominación, la asignación de letras de unidad demostró ser un principio de organización simple y útil.

Sistemas operativos que utilizan la asignación de letras de unidad

  • CP/M family
    • CP/M, MP/M, Concurrent CP/M, Concurrent DOS, FlexOS, 4680 OS, 4690 OS, S5-DOS/MT, Multiuser DOS, System Manager, REAL/32, REAL/NG, Personal CP/M, S5-DOS, DOS Plus
  • AMSDOS
  • DOS family
    • 86-DOS, MS-DOS, PC DOS
    • DR DOS, Novell DOS, PalmDOS, OpenDOS
    • ROM-DOS
    • PTS-DOS, S/DOS
    • FreeDOS
    • PC-MOS/386
    • SISNE plus
  • GEMDOS, TOS, MiNT, MagiC, MultiTOS, EmuTOS
  • Atari DOS family
  • MSX-DOS
  • ANDOS, CSI-DOS, MK-DOS
  • GEOS
  • OS/2 (incluido el sistema electrónico de comercio electrónico y el sistema de correo electrónico)
  • Familia de Windows
    • Windows 9x familia
    • Windows NT familia
    • Software del sistema Xbox
    • ReactOS
  • Symbian OS
  • Sistemas operativos hobbyistas
    • SymbOS
    • TempleOS

Orden de asignación

MS-DOS/PC DOS desde la versión 5.0 y los sistemas operativos posteriores asignan letras de unidad de acuerdo con el siguiente algoritmo:

  1. Asignar la carta de la unidad A: a la primera unidad de disquete (daño 0), y B: a la segunda unidad de disquete (distrito 1). Si sólo un floppy físico está presente, unidad B: se asignará a un disquete fantasma mapeado a la misma unidad física y asignado dinámicamente a A: o B: para operaciones de archivos más fáciles de disquete. Si no hay unidad de disquete físico está presente, DOS 4.0 asignará ambos A: y B: a la unidad inexistente, mientras que DOS 5.0 y superior invalidará estas cartas de transmisión. Si están presentes más de dos unidades de disquete físico, las versiones de DOS antes de 5.0 asignarán posteriores cartas de transmisión, mientras que DOS 5.0 y superior remaparán estas unidades a letras de disco más altas en una etapa posterior; véase abajo.
  2. Asignar una carta de unidad a la primera partición primaria activa reconocida en el primer disco duro físico. DOS 5.0 y superior garantizará que se convertirá en unidad C:, por lo que la unidad de arranque tendrá unidad A: o C:.
  3. Asignar posteriores cartas de unidad a la primera partición primaria en cada unidad de disco duro físico sucesiva (versiones de la versión anterior a 5.0 probe sólo para dos discos duros físicos, mientras que DOS 5.0 y soporte superior ocho discos duros físicos).
  4. Asignar posteriores cartas de disco a cada partición lógica reconocida presente en la primera partición extendida, comenzando con el primer disco duro y procediendo a través de sucesivos discos duros físicos.
  5. DOS 5.0 y superior: Asignar cartas a todas las particiones primarias restantes, comenzando con el primer disco duro y procediendo a través de sucesivos discos duros físicos.
  6. DOS 5.0 y superior: Asignar cartas a todas las unidades físicas floppy más allá de la segunda unidad física floppy.
  7. Asignar posteriores cartas de transmisión a cualquier controlador de dispositivo de bloque cargado en CONFIG. SYS a través de declaraciones DEVICE, por ejemplo discos RAM.
  8. Asignar cartas de transmisión subsiguientes a cualquier unidad cargada dinámicamente a través de CONFIG. SYS INSTALL statements, in AUTOEXEC. BAT o posterior, es decir, unidades de disco óptico adicional (MSCDEX, etc.), unidades PCMCIA / PC Card, unidades USB o Firewire, o unidades de red.
  • Sólo se asignan cartas particiones de tipos de particiones reconocidos. En particular, "particiones ocultas" (aquellas con su tipo de ID cambiaron a un valor no reconocido, generalmente añadiendo 10hNo lo son.

Las versiones 4.0 y anteriores de MS-DOS/PC DOS asignan letras a todas las unidades de disquete antes de considerar las unidades de disco duro, por lo que un sistema con cuatro unidades de disquete llamaría a la primera unidad de disco duro E:. A partir de DOS 5.0, el sistema garantiza que la unidad C: sea siempre un disco duro, incluso si el sistema tiene más de dos unidades físicas de disquete.

Aunque sin una reasignación deliberada, las asignaciones de letras de unidad normalmente se fijan hasta el siguiente reinicio, sin embargo, Zenith MS-DOS 3.21 actualizará las asignaciones de letras de unidad al reiniciar una unidad. Esto puede hacer que las letras de las unidades cambien sin reiniciar si se cambió la partición del disco duro.

MS-DOS en la PC Apricot asigna letras a los discos duros, comenzando con A:, antes de considerar las unidades de disquete. Un sistema con dos de cada unidad llamaría a los discos duros A: y B:, y a los disquetes C: y D: .

En el PC-98 japonés, si el sistema se inicia desde un disquete, la versión dedicada de MS-DOS asigna letras a todas las unidades de disquete antes de considerar las unidades de disco duro; hace lo contrario si se inicia desde un disco duro, es decir, si el sistema operativo se instaló en el disco duro, MS-DOS asignaría esta unidad como unidad "A:" y un disquete potencialmente existente como unidad "B:". La versión japonesa del programa SETUP de Windows 95 admite una opción especial /AT para hacer cumplir que Windows estará en la unidad C:.

Algunas versiones de DOS no asignan la letra de la unidad, que comienza con C:, a la primera partición primaria activa reconocida en el primer disco duro físico, sino a la primera partición primaria reconocida de la primera disco duro, incluso si no está configurado como activo.

Si hay más de una partición extendida en una tabla de particiones, solo se procesan las unidades lógicas del primer tipo de partición extendida reconocida.

Algunas versiones recientes de DR-DOS IBMBIO.COM proporcionan una estructura de configuración previa al arranque, que contiene banderas de bits para seleccionar (además de otras) entre varias estrategias de asignación de letras de unidad. Estas estrategias pueden ser preseleccionadas por un usuario u OEM o pueden ser modificadas por un cargador de arranque sobre la marcha al iniciar DR-DOS. Bajo estos problemas, la unidad de arranque también puede ser diferente de A: o C:.

El orden de las letras de las unidades puede depender de si un disco determinado está administrado por un controlador de tiempo de arranque o por un controlador cargado dinámicamente. Por ejemplo, si el segundo o tercer disco duro es de tipo SCSI y, en DOS, requiere que los controladores se carguen a través del archivo CONFIG.SYS (por ejemplo, la tarjeta controladora no ofrece BIOS integrado o no es práctico usar este BIOS), entonces la primera partición primaria SCSI aparecerá después de todas las particiones IDE en DOS. Por lo tanto, DOS y, por ejemplo, OS/2 podrían tener diferentes letras de unidad, ya que OS/2 carga el controlador SCSI antes. Una solución fue no utilizar particiones primarias en dichos discos duros.

En Windows NT y OS/2, el sistema operativo utiliza el algoritmo mencionado anteriormente para asignar automáticamente letras a las unidades de disquete, las unidades de disco óptico, el disco de arranque y otros volúmenes reconocidos que no son creados por un administrador dentro del sistema operativo. sistema. Los volúmenes que se crean dentro del sistema operativo se especifican manualmente y algunas de las letras de unidad automáticas se pueden cambiar. A los volúmenes no reconocidos no se les asignan letras y, por lo general, el sistema operativo los deja intactos.

Un problema común que ocurre con la asignación de letras de unidad es que la letra asignada a una unidad de red puede interferir con la letra de un volumen local (como una unidad de CD/DVD recién instalada o una memoria USB). Por ejemplo, si la última unidad local es la unidad D: y se hubiera asignado una unidad de red como E:, también se asignaría un dispositivo de almacenamiento masivo USB recién conectado. unidad E: causando la pérdida de conectividad con el recurso compartido de red o el dispositivo USB. Los usuarios con privilegios administrativos pueden asignar letras de unidad manualmente para solucionar este problema. Otra condición que puede causar problemas en Windows XP es cuando hay unidades de red definidas, pero en una condición de error (como lo serían en una computadora portátil que funciona fuera de la red). Incluso cuando la unidad de red desconectada no es la siguiente letra de unidad disponible, es posible que Windows XP no pueda asignar una unidad y este error también puede impedir el montaje del dispositivo USB.

Asignaciones comunes

La aplicación del esquema discutido anteriormente en un sistema basado en Windows bastante moderno generalmente da como resultado las siguientes asignaciones de letras de unidad:

  • A: unidades de disco flotante, 3+1.2′′ o 5+1.4′′, y posiblemente otros tipos de unidades de disco, si están presentes.
  • B: — Reservado para una segunda unidad floppy (que estaba presente en muchos PCs).
  • C: — Primera partición del disco duro.
  • D: a Z: — Otras particiones de disco se etiquetan aquí. Windows asigna la siguiente carta de disco gratis a la siguiente unidad que encuentra al enumerar las unidades de disco en el sistema. Los discos se pueden dividir, creando así más cartas de transmisión. Esto se aplica a MS-DOS, así como a todos los sistemas operativos de Windows. Windows ofrece otras formas de cambiar las letras de la unidad, ya sea a través del snap-in de la gestión de discos o diskpart. MS-DOS normalmente utiliza parámetros en los controladores de dispositivo de carga de línea dentro del CONFIG. Un archivo SYS.

Letras de unidad específicas de cada caso:

  • F: — Primera unidad de red si utiliza Novell NetWare.
  • G: — "Google Drive File Stream" si usa Google Drive.
  • H: — directorio "Home" en un servidor de red.
  • L: — Unidad de carga asignada dinámicamente bajo DOS simultáneos, Multiuser DOS, System Manager y REAL/32.
  • M: — Carta de conducir para la unidad de memoria opcional MDISK bajo DOS simultáneos.
  • N:, O:, P: — Asignables unidades flotantes bajo CP/M-86 4.x, Personal CP/M-86 2.x, DOS Plus 1.1-2.1 (a través de llamada BDOS 0Fh), un concepto más adelante extendido a cualquier letra de unidad no utilizada bajo DOS concurrentes, Multiuser DOS, System Manager, REAL/32 y DR DOS hasta 6.0.
  • Q: — virtualización de Microsoft Office Click-to-Run.
  • U: - Unix-like unified filesystem con directorio virtual DEV para archivos de dispositivos bajo MiNT, MagiC y MultiTOS.
  • Z: — Primera unidad de red si se utiliza Banyan VINES, y la asignación inicial de cartas para la red de disco virtual en el emulador DOSBox x86. También es la primera carta seleccionada por Windows para recursos de red, ya que selecciona automáticamente desde Z: Hacia abajo. Por defecto, Mapas de vino Z: a la raíz del árbol del directorio UNIX.

Cuando no hay una segunda unidad de disquete física, la unidad B: se puede usar como una unidad "virtual" unidad de disquete asignada a la unidad física A:, por lo que se le pedirá al usuario que cambie los disquetes cada vez que se requiera una lectura o escritura al que se haya usado menos recientemente de A: o B:. Esto permite gran parte de la funcionalidad de dos unidades de disquete en una computadora que solo tiene una. Este concepto de varias letras de unidad que comparten un único dispositivo físico (opcionalmente con diferentes "vistas" del mismo) no se limita a la primera unidad de disquete, sino que también se puede utilizar para otras unidades mediante la configuración de dispositivos de bloque adicionales. para ellos con el estándar DOS DRIVER.SYS en CONFIG.SYS.

A las unidades de red a menudo se les asignan letras hacia el final del alfabeto. Esto se hace a menudo para diferenciarlos de las unidades locales: al usar letras hacia el final, se reduce el riesgo de un conflicto de asignación. Es especialmente cierto cuando la asignación se realiza automáticamente a través de una red (generalmente mediante un script de inicio de sesión).

En la mayoría de los sistemas DOS, no es posible tener más de 26 unidades montadas. Atari GEMDOS admite 16 letras de unidad A: a P: únicamente. La pila de controladores PalmDOS PCMCIA admite las letras de unidad 0:, 1:, 2:,... para abordar las ranuras de unidades PCMCIA.

Algunos controladores de red de Novell para DOS admiten hasta 32 letras de unidad en versiones de DOS compatibles. Además, Novell DOS 7, OpenDOS 7.01 y DR-DOS 7.02 realmente admiten una directiva CONFIG.SYS LASTDRIVE=32 para asignar hasta 32 letras de unidad, denominadas A: a Z:, [:, :, ]:, ^:, _: y `:. (DR-DOS 7.02-7.07 también es compatible con las directivas HILASTDRIVE y LASTDRIVEHIGH para reubicar estructuras de unidades en la memoria superior). Algunos programas de aplicación de DOS no esperan letras de unidad más allá de Z: y no funcionará con ellos, por lo que se recomienda usarlos para fines especiales o unidades de búsqueda.

El procesador de línea de comandos 4DOS de JP Software admite letras de unidad más allá de Z: en general, pero dado que algunas de las letras chocan con las extensiones sintácticas de este procesador de línea de comandos, deben escaparse para utilizarlos como letras de unidad.

Windows 9x (MS-DOS 7.0/MS-DOS 7.1) también agregó soporte para LASTDRIVE=32 y LASTDRIVEHIGH=32.

Si se requiere acceso a más sistemas de archivos que Z: bajo Windows NT, se deben usar puntos de montaje de volumen. Sin embargo, es posible montar unidades que no sean letras, como 1:, 2: o !: usando la línea de comando SUBST en Windows XP o posterior (es decir, SUBST 1: C:TEMP), pero no es compatible oficialmente y puede dañar los programas que asumen que todas las unidades son letras A: a Z:.

ASIGNAR, UNIRSE y SUBST en DOS y Windows

Las letras de unidad no son la única forma de acceder a diferentes volúmenes. DOS ofrece un comando JOIN que permite el acceso a un volumen asignado a través de un directorio arbitrario, similar al comando mount de Unix. También ofrece un comando SUBST que permite la asignación de una letra de unidad a un directorio. Uno o ambos de estos comandos se eliminaron en sistemas posteriores como OS/2 o Windows NT, pero a partir de Windows 2000, ambos se admiten de nuevo: el comando SUBST existe como antes, mientras que la funcionalidad JOIN se subsume en LINKD (parte del Kit de recursos de Windows). En Windows Vista, se puede utilizar el nuevo comando MKLINK para este fin. Además, Windows 2000 y versiones posteriores admiten puntos de montaje, accesibles desde el Panel de control.

Muchos sistemas operativos que se originaron en Digital Research brindan medios para asignar implícitamente unidades sustitutas, denominadas unidades flotantes en la terminología DRI, mediante el uso del comando CD/CHDIR en la siguiente sintaxis:

CD N:=C:SUBDIR

DOS Plus es compatible con las letras de unidad N:, O: y P:. Esta función también está presente en DOS concurrente, DOS multiusuario, System Manager 7 y REAL/32; sin embargo, estos sistemas amplían el concepto a todas las letras de unidad no utilizadas de la A: a la Z:, excepto la letra de unidad reservada L:. DR DOS 3.31 - 6.0 (hasta las actualizaciones de 1992-11 con BDOS 6.7 solamente) también admite esto, incluida la letra de unidad L:. Esta función no está disponible en DR DOS 6.0 (actualización de 1992), PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02 y superior. Las unidades flotantes se implementan en el kernel BDOS, no en el shell de la línea de comandos, por lo que también se pueden usar y asignar desde las aplicaciones cuando usan la opción "cambiar directorio" llamada del sistema. Sin embargo, la mayoría de las aplicaciones de DOS no conocen esta extensión y, en consecuencia, descartarán dichas rutas de directorio como no válidas. El intérprete de línea de comandos 4DOS de JP Software admite unidades flotantes en sistemas operativos que también lo admiten.

En una función similar, DOS concurrente, DOS multiusuario, System Manager y REAL/32 asignarán dinámicamente una letra de unidad L: a la ruta de carga de una aplicación cargada, lo que permitirá que las aplicaciones hagan referencia a archivos que residen en su directorio de carga bajo una letra de unidad estandarizada en lugar de bajo una ruta absoluta. Esta función de unidad de carga facilita el traslado de instalaciones de software en y entre discos sin tener que adaptar rutas a superposiciones, archivos de configuración o datos de usuario almacenados en el directorio de carga o directorios subsiguientes. (Por razones similares, el apéndice del bloque de entorno asociado con las aplicaciones cargadas en DOS 3.0 (y superior) también contiene una referencia a la ruta de carga del ejecutable; sin embargo, esto consume más memoria residente y, para aprovecharlo, el soporte debe estar codificado en el ejecutable, mientras que la solución de DRI funciona con cualquier tipo de aplicación y también es totalmente transparente para los usuarios). En algunas versiones de DR-DOS, la ruta de carga contenida en el apéndice del entorno pasado a los controladores se puede acortar a la de una unidad sustituta temporal (por ejemplo, SUBST B: C:DIR) a través de la INSTALL[HIGH]/LOADHIGH opción /D[:loaddrive] (para B:TSR.COM en lugar de, digamos, C:DIRTSR.COM). Esto se puede usar para minimizar la huella de memoria efectiva de un controlador, si el ejecutable está ubicado en un subdirectorio profundo y el controlador residente ya no necesita su ruta de carga después de la instalación.

Contenido relacionado

Deutsches Institut für Normung

Electroforesis en gel de poliacrilamida

Tecnología en Star Trek

Más resultados...
Tamaño del texto:
Copiar