Articulo de referencia

Asignación de letra de la unidad

Símbolo del sistema MS-DOS con la letra de unidad C como parte del directorio de trabajo actual . El administrador de archivos muestra el contenido de la unidad C. En el almacen...

Símbolo del sistema MS-DOS con la letra de unidad C como parte del directorio de trabajo actual .
El administrador de archivos muestra el contenido de la unidad C.

En el almacenamiento de datos informáticos , la asignación de letras de unidad consiste en asignar 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. Por lo tanto, la asignación de letras de unidad es un proceso que utiliza letras para nombrar las raíces del "bosque" que representa el sistema de archivos; cada volumen contiene un "árbol" independiente (o, para sistemas de archivos no jerárquicos, una lista independiente de archivos).

Origen

El concepto de letras de unidad, tal como se utiliza hoy en día, presumiblemente 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 ), a través de CP/M de Digital Research (DRI) . El concepto evolucionó a través de varias etapas:

  • CP/CMS utiliza letras de unidad para identificar los minidiscos conectados a una sesión de usuario. [ 1 ] Una referencia de archivo completa ( ruta de archivo en la terminología actual) consta de un nombre de archivo , un tipo de archivo y una letra de disco llamada modo de archivo (por ejemplo, A o B ). Los minidiscos pueden corresponder a unidades de disco físicas, pero más comúnmente se refieren a unidades lógicas, que el sistema operativo asigna automáticamente a dispositivos compartidos como conjuntos de cilindros virtuales .
  • CP/CMS inspiró a muchos otros sistemas operativos, incluido el sistema operativo para microcomputadoras CP/M, que utiliza una letra de unidad para especificar un dispositivo de almacenamiento físico. Las primeras versiones de CP/M (y otros sistemas operativos para microcomputadoras) implementaban un sistema de archivos plano en cada unidad de disco, donde una referencia de archivo completa consta de una letra de unidad , dos puntos, 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 los disquetes de 8 pulgadas , donde estos espacios de nombres tan pequeños no imponían limitaciones prácticas). Este uso estuvo influenciado por los prefijos de dispositivo utilizados en el sistema operativo TOPS-10 de Digital Equipment Corporation (DEC) . [ 2 ]
  • La sintaxis de letras de unidad elegida para CP/M fue heredada por Microsoft para su sistema operativo MS-DOS a través de 86-DOS de Seattle Computer Products (SCP) , y por lo tanto también por la versión OEM de IBM, PC DOS . Originalmente, las letras de unidad siempre representaban volúmenes físicos, pero posteriormente se añadió compatibilidad con volúmenes lógicos .
  • Gracias a su designación como sucesores de DOS, el concepto de letras de unidad también fue heredado por OS/2 y la familia de sistemas operativos Microsoft Windows .

La importante capacidad de crear directorios jerárquicos dentro de cada letra de unidad estaba inicialmente ausente en estos sistemas. Esta era una característica fundamental de UNIX y otros sistemas operativos similares, donde los discos duros almacenaban miles (en lugar de decenas o cientos) de archivos. El aumento de la capacidad de almacenamiento de los microordenadores propició su introducción, seguida posteriormente por los nombres de archivo largos . En los sistemas de archivos que carecían de tales mecanismos de nomenclatura, la asignación de letras de unidad demostró ser un principio organizativo útil y sencillo.

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

Orden de asignación

MS-DOS/PC  DOS desde la versión 5.0, y sistemas operativos posteriores, asigna letras de unidad de acuerdo con el siguiente algoritmo: [ 4 ]

  1. Asigne la letra de unidad A: a la primera unidad de disquete (unidad 0) y B: a la segunda unidad de disquete (unidad 1). Si solo hay una unidad de disquete física, la unidad B: se asignará a una unidad de disquete virtual vinculada a la misma unidad física y asignada dinámicamente a A: o B: para facilitar las operaciones con archivos de disquete. Si no hay ninguna unidad de disquete física, DOS 4.0 asignará tanto A: como B: a la unidad inexistente, mientras que DOS 5.0 y versiones posteriores invalidarán estas letras de unidad. Si hay más de dos unidades de disquete físicas, las versiones de DOS anteriores a la 5.0 asignarán letras de unidad subsiguientes, mientras que DOS 5.0 y versiones posteriores reasignarán estas unidades a letras de unidad superiores posteriormente; véase más abajo.
  2. Asigne una letra de unidad a la primera partición primaria activa reconocida en el primer disco duro físico . DOS 5.0 y versiones posteriores se asegurarán de que se convierta en la unidad C:, de modo que la unidad de arranque tendrá la unidad A: o C :.
  3. Asigne letras de unidad subsiguientes a la primera partición primaria de cada disco duro físico sucesivo (las versiones de DOS anteriores a la 5.0 solo detectarán dos discos duros físicos, mientras que DOS 5.0 y versiones posteriores admiten ocho discos duros físicos).
  4. Asigne letras de unidad subsiguientes a cada partición lógica reconocida presente en la primera partición extendida, comenzando con el primer disco duro y continuando a través de los sucesivos discos duros físicos.
  5. DOS 5.0 y versiones posteriores: Asigne letras de unidad a todas las particiones primarias restantes, comenzando por el primer disco duro y continuando con los sucesivos discos duros físicos.
  6. DOS 5.0 y versiones posteriores: Asigne letras de unidad a todas las unidades de disquete físicas, más allá de la segunda unidad de disquete física.
  7. Asigne letras de unidad subsiguientes a cualquier controlador de dispositivo de bloques cargado en CONFIG.SYS a través de instrucciones DEVICE , por ejemplo, discos RAM .
  8. Asigne letras de unidad subsiguientes a cualquier unidad cargada dinámicamente a través de las instrucciones CONFIG.SYS INSTALL , en AUTOEXEC.BAT o posterior, es decir, unidades de disco óptico adicionales ( MSCDEX, etc.), unidades PCMCIA / PC Card , unidades USB o Firewire o unidades de red .
  • Solo se asignan letras a las particiones de tipos de partición reconocidos . En particular, las "particiones ocultas" (aquellas cuyo ID de tipo se ha cambiado a un valor no reconocido, normalmente añadiendo 10h).

Las versiones 4.0 y anteriores de MS-DOS/PC  DOS asignan letras a todas las unidades de disquete antes de considerar los discos duros, por lo que un sistema con cuatro unidades de disquete denominaría al primer 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 de disquete físicas.

Si bien, sin una reasignación deliberada, las letras de unidad suelen permanecer fijas hasta el siguiente reinicio, Zenith MS-DOS 3.21 actualiza las letras de unidad al reiniciar una unidad. Esto puede provocar que las letras de unidad cambien sin reiniciar si se modificó el particionamiento del disco duro.

MS-DOS en el 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 arranca desde un disquete, la versión dedicada de MS-DOS asigna letras a todas las unidades de disquete antes de considerar los discos duros; hace lo contrario si arranca desde un disco duro, es decir, si el sistema operativo está instalado 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 /ATpara asegurar que Windows se instale en la unidad C:.

Algunas versiones de DOS no asignan la letra de 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 del primer disco duro, incluso si no está configurada como activa.

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

Algunas versiones recientes de DR-DOS IBMBIO.COM ofrecen una estructura de configuración previa al arranque que contiene indicadores de bits para seleccionar (entre otras opciones) entre diversas estrategias de asignación de letras de unidad. Estas estrategias pueden ser preseleccionadas por el usuario o el fabricante, o bien, el cargador de arranque puede modificarlas sobre la marcha al iniciar DR-DOS. En estos casos, la unidad de arranque también puede ser diferente de A: o C:.

El orden de las letras de unidad puede depender de si un disco determinado se gestiona mediante un controlador de arranque o mediante un controlador de carga dinámica. Por ejemplo, si el segundo o tercer disco duro es de tipo SCSI y, en DOS, requiere controladores cargados a través del archivo CONFIG.SYS (por ejemplo, si la tarjeta controladora no ofrece BIOS integrada o si su uso no es práctico), 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 letras de unidad diferentes, 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 para asignar automáticamente letras a las unidades de disquete , unidades de disco óptico , el disco de arranque y otros volúmenes reconocidos que no hayan sido creados por un administrador dentro del sistema operativo. Los volúmenes creados dentro del sistema operativo se especifican manualmente, y algunas de las letras de unidad asignadas automáticamente pueden modificarse. A los volúmenes no reconocidos no se les asigna ninguna letra y, por lo general, el sistema operativo no los modifica.

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 habría asignado una unidad de red como E:, entonces un dispositivo de almacenamiento masivo USB recién conectado también se asignaría a la unidad E:, lo que causaría la pérdida de conectividad con el recurso compartido de red o el dispositivo USB. Los usuarios con privilegios de administrador pueden asignar letras de unidad manualmente para solucionar este problema. [ 5 ] Otra situación que puede causar problemas en Windows XP es cuando hay unidades de red definidas, pero en una condición de error (como ocurriría en una computadora portátil que opera fuera de la red). Incluso cuando la unidad de red no conectada no es la siguiente letra de unidad disponible, Windows XP puede no ser capaz de asignar una unidad y este error también puede impedir el montaje del dispositivo USB.

Tareas comunes

La aplicación del esquema descrito anteriormente en un sistema Windows relativamente moderno suele dar como resultado la siguiente asignación de letras de unidad:

  • A: — Unidades de disquete de 3 + 1/2 " o 5 + 1/4 " , y posiblemente otros tipos de unidades de disco, si las hubiera .
  • B: — Reservado para una segunda unidad de disquete (que estaba presente en muchos PC).
  • C: — Primera partición del disco duro .
  • D: a Z: — Otras particiones de disco se etiquetan aquí. Windows asigna la siguiente letra de unidad libre a la siguiente unidad que encuentra al enumerar las unidades de disco en el sistema. Las unidades se pueden particionar, creando así más letras de unidad. Esto se aplica a MS-DOS, así como a todos los sistemas operativos Windows. Windows ofrece otras formas de cambiar las letras de unidad, ya sea a través del complemento Administración de discos o diskpart. MS-DOS normalmente usa parámetros en la línea cargando controladores de dispositivos dentro del archivo CONFIG.SYS .

Letras de unidad específicas para cada caso:

  • F: — Primera unidad de red si se utiliza Novell NetWare .
  • G: — "Transmisión de archivos de Google Drive" si se utiliza Google Drive .
  • H: — Directorio "Home" en un servidor de red.
  • L: — Unidad de carga asignada dinámicamente bajo Concurrent DOS, Multiuser DOS, System Manager y REAL/32. [ 6 ] [ 7 ]
  • M: — Letra de unidad para la unidad de memoria opcional MDISK en Concurrent DOS. [ 6 ]
  • N: , O: , P: — Unidades flotantes asignables en CP/M-86 4.x, Personal CP/M-86 2.x, DOS Plus 1.1-2.1 (mediante la llamada BDOS 0Fh), un concepto que posteriormente se extendió a cualquier letra de unidad no utilizada en Concurrent DOS, Multiuser DOS, System Manager, REAL/32 y DR DOS hasta la versión 6.0. [ 6 ] [ 7 ]
  • P: — Unidad virtual de pCloud .
  • P: — Virtualización de Microsoft Office Click-to-Run.
  • U: — Sistema de archivos unificado tipo Unix con directorio virtual \DEVpara archivos de dispositivo en MiNT , MagiC y MultiTOS . [ 8 ] [ 9 ]
  • X:Unidades de RAM si utiliza Windows XP o superior.
  • Z: — Primera unidad de red si se usa Banyan VINES , y la asignación inicial de letra de unidad para la red de disco virtual en el emulador DOSBox x86 . También es la primera letra que Windows selecciona para los recursos de red, ya que selecciona automáticamente desde Z: hacia abajo. Por defecto, Wine asigna Z: a ​​la raíz del árbol de directorios UNIX. [ 10 ]

Cuando no hay una segunda unidad de disquete física, la unidad B: puede usarse como una unidad de disquete "virtual" asignada a la unidad física A:, de modo que se le pediría al usuario que cambiara de disquete cada vez que se requiriera una lectura o escritura en la que fuera la menos usada entre A: y B:. Esto permite gran parte de la funcionalidad de dos unidades de disquete en una computadora que solo tiene una. Este concepto de múltiples 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 puede utilizarse para otras unidades configurando dispositivos de bloques adicionales para ellas con el controlador estándar DOS DRIVER.SYS en CONFIG.SYS .

Las unidades de red suelen tener letras al final del alfabeto. Esto se hace a menudo para diferenciarlas de las unidades locales: al usar letras al final, se reduce el riesgo de conflictos de asignación. Esto es especialmente cierto cuando la asignación se realiza automáticamente en una red (normalmente 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 solo admite 16 letras de unidad, de la A: a la P :. La pila de controladores PCMCIA de PalmDOS admite las letras de unidad 0:, 1 :, 2 :, ... para direccionar las ranuras de unidades PCMCIA.

Algunos controladores de red de Novell para DOS admiten hasta 32 letras de unidad en versiones compatibles de DOS. Además, Novell DOS 7, OpenDOS 7.01 y DR-DOS 7.02 admiten una LASTDRIVE=32directiva CONFIG.SYS para asignar hasta 32 letras de unidad, denominadas A: a Z: , [: , \: , ]: , ^: , _: y `: . (DR-DOS 7.02-7.07 también admite HILASTDRIVEdirectivas LASTDRIVEHIGHpara 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án con ellas, por lo que se recomienda utilizarlas para fines especiales o para buscar unidades.

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 estas letras entran en conflicto con las extensiones sintácticas de dicho procesador, es necesario escaparlas para poder utilizarlas como letras de unidad.

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

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

ASIGNAR, UNIR y SUSTITUIR en DOS y Windows

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

Muchos sistemas operativos originarios de Digital Research proporcionan medios para asignar implícitamente unidades sustitutas, llamadas unidades flotantes en la terminología de DRI, mediante el uso del comando CD/CHDIR con la siguiente sintaxis:

CD N:=C:\SUBDIR

DOS Plus admite esto para las letras de unidad N:, O : y P:. Esta característica también está presente en Concurrent DOS , Multiuser DOS , System Manager 7 y REAL/32 , sin embargo, estos sistemas extienden el concepto a todas las letras de unidad no utilizadas de A: a Z:, excepto la letra de unidad reservada L:. [ 7 ] DR DOS 3.31 - 6.0 (hasta las actualizaciones de 1992-11 con BDOS 6.7 solamente ) también admite esto incluyendo la letra de unidad L:. Esta característica 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 están implementadas en el núcleo de BDOS, no en el shell de línea de comandos, por lo que pueden usarse y asignarse también desde dentro de las aplicaciones cuando usan la llamada al sistema "cambiar directorio". Sin embargo, la mayoría de las aplicaciones de DOS desconocen esta extensión y, por lo tanto, descartan dichas rutas de directorio como inválidas. El intérprete de línea de comandos 4DOS de JP Software admite unidades flotantes en sistemas operativos que también las admiten.

De manera similar, Concurrent DOS , Multiuser DOS, 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 permite que las aplicaciones hagan referencia a los archivos que residen en su directorio de carga bajo una letra de unidad estandarizada en lugar de bajo una ruta absoluta. [ 7 ] Esta función de unidad de carga facilita el traslado de instalaciones de software entre discos sin tener que adaptar las 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, se debe codificar su compatibilidad en el ejecutable, mientras que la solución de DRI funciona con cualquier tipo de aplicaciones y es totalmente transparente para los usuarios). En algunas versiones de DR-DOS, la ruta de carga contenida en el apéndice del entorno que se pasa a los controladores se puede acortar a la de una unidad sustituta temporal (por ejemplo, SUBST B: C:\DIR) mediante la opción INSTALL[HIGH]/ (en lugar de, digamos, ). Esto se puede usar para minimizar la huella de memoria efectiva de un controlador , si el ejecutable se encuentra en un subdirectorio profundo y el controlador residente ya no necesita su ruta de carga después de la instalación. [ 12 ] [ 13 ] [ 14 ] [ 15 ]LOADHIGH/D[:loaddrive]B:TSR.COMC:\DIR\TSR.COM

Véase también

Referencias

  1. DuCharme, Bob (2001). "VM/CMS" (PDF) . El manual del sistema operativo, o, Cómo engañar a los miniordenadores y mainframes .
  2. Johnson, Herbert R. (4 de enero de 2009). "Historia de CP/M y Digital Research Inc. (DRI)" . www.retrotechnology.com . Recuperado el 28 de enero de 2009 .
  3. "GEOS" .
  4. "Orden en que MS-DOS y Windows asignan letras de unidad" . Soporte en línea del Soporte técnico de Microsoft . Microsoft . 17 de abril de 1996. Archivado del original el 18 de febrero de 1999. Consultado el 6 de enero de 2021 .
  5. "Cambiar la letra de una unidad" . Microsoft . Consultado el 4 de marzo de 2019 .
  6. 1 2 3 Concurrent DOS 386 - Sistema operativo multiusuario/multitarea - Guía del usuario (PDF) . Investigación digital .
  7. 1 2 3 4 Concurrent DOS 386 - Sistema operativo multiusuario/multitarea - Manual de referencia (PDF) . Investigación digital . 1987.
  8. "La unidad U: en MagiC" . 28 de marzo de 2016. Archivado del original el 15 de enero de 2017. Consultado el 9 de enero de 2017 .
  9. "FreeMiNT-Portal - mint.doc" . 27 de abril de 2000. Archivado del original el 15 de enero de 2017. Consultado el 9 de enero de 2017 .
  10. "Preguntas frecuentes sobre vinos" .
  11. "volúmenes simples" . Microsoft TechNet . Archivado del original el 26 de marzo de 2007. Consultado el 1 de diciembre de 2006 .
  12. Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT" . Archivado del original el 4 de octubre de 2003. Recuperado el 29 de marzo de 2009 .
  13. ^ Pablo, Matías R. (30 de julio de 1997). "II.11.iii. Interne Kommandos und Optionen von COMMAND.COM - Hinweise zu internen Kommandos". 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 4 de noviembre de 2016 . Consultado el 6 de agosto de 2014 .  (Nota: NWDOSTIP.TXT es una obra exhaustiva sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y aspectos internos no documentados. Forma parte de la MPDOSTIP.ZIPcolección, aún más extensa, del autor, mantenida hasta 2001 y distribuida en numerosos sitios web en aquella época. El enlace proporcionado dirige a una versión anterior del NWDOSTIP.TXTarchivo convertida a HTML).
  14. Paul, Matthias R. (1997-05-27) [1996]. "SETENV v1.11" . Archivado del original el 15-02-2009 . Recuperado el 29-07-2019 .
  15. Paul, Matthias R. (2002-10-07). "Re: Ejecutar un archivo COM" . alt.msdos.programmer . Recuperado el 2017-09-03 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  • Cambiar la letra de la unidad en Windows 8
  • Consejos para solucionar problemas con las letras de unidad USB. Archivado el 18/10/2007 en Wayback Machine.