stringtranslate.com

Asignación de letras de unidad

Símbolo del sistema de MS-DOS con la letra de unidad 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 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 más alto. La asignación de letras de unidad es, por lo tanto, un proceso de uso de 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 [ cita requerida ] debe sus orígenes 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 varios pasos:

La importante capacidad de los directorios jerárquicos dentro de cada letra de unidad no existía inicialmente en estos sistemas. Esta era una característica importante de UNIX y otros sistemas operativos similares, donde las unidades de disco duro almacenaban miles (en lugar de decenas o cientos) de archivos. La creciente capacidad de almacenamiento de los microordenadores condujo a su introducción, seguida finalmente por los nombres de archivo largos . En los sistemas de archivos que carecían de estos mecanismos de denominación, la asignación de letras de unidad resultó ser un principio de organización ú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 según 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 sólo hay un disquete físico, la unidad B: se asignará a una unidad de disquete fantasma asignada 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 5.0 asignarán letras de unidad posteriores, mientras que DOS 5.0 y versiones posteriores reasignarán estas unidades a letras de unidad superiores en una etapa posterior; consulte a continuación.
  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 superior garantizará que se convertirá 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 en cada unidad de disco duro física sucesiva (las versiones de DOS anteriores a 5.0 buscarán solo dos discos duros físicos, mientras que DOS 5.0 y superiores 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 con las unidades de disco duro físicas sucesivas.
  5. DOS 5.0 y superior: Asigne letras de unidad a todas las particiones primarias restantes, comenzando con el primer disco duro y continuando con las unidades de disco duro físicas sucesivas.
  6. DOS 5.0 y superior: 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 bloque cargado en CONFIG.SYS a través de declaraciones DEVICE , por ejemplo, discos RAM .
  8. Asigne letras de unidad subsiguientes a cualquier unidad cargada dinámicamente mediante 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 .

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 llamarí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 asignaciones de letras de unidad suelen ser fijas hasta el siguiente reinicio, sin embargo, Zenith MS-DOS 3.21 actualizará las asignaciones de letras de unidad al restablecer una unidad. Esto puede provocar que las letras de unidad cambien sin reiniciar si se modificó 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 los discos duros; hace lo contrario si se inicia desde un disco duro, es decir, si el SO 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/AT admite una opción especial para hacer cumplir que Windows esté 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 hay más de una partición extendida en una tabla de particiones, solo se procesan las unidades lógicas en el primer tipo de partición extendida reconocido.

Algunas versiones recientes de DR-DOS IBMBIO.COM proporcionan una estructura de configuración previa al arranque, que contiene indicadores de bits para seleccionar (además de otros) entre varias estrategias de asignación de letras de unidad. Estas estrategias pueden ser preseleccionadas por un usuario o un OEM o pueden ser modificadas por un cargador de arranque 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 las unidades puede depender de si un disco determinado es administrado por un controlador 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 controladores cargados a través del archivo CONFIG.SYS (por ejemplo, la tarjeta controladora no ofrece BIOS integrado o no es práctico utilizar 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 letras de unidad diferentes, ya que OS/2 carga el controlador SCSI antes. Una solución fue no utilizar particiones primarias en esos 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 , unidades de disco óptico , el disco de arranque y otros volúmenes reconocidos que no son creados por un administrador dentro del sistema operativo. 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 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 una unidad de red se hubiera asignado como E:, entonces a un dispositivo de almacenamiento masivo USB recién conectado también se le asignarí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 administrativos pueden asignar letras de unidad manualmente para superar este problema. [5] 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 estarían 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 poder asignar una unidad y este error también puede impedir el montaje del dispositivo USB. [ cita requerida ]

Tareas comunes

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

Letras de unidad específicas del caso:

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

A las unidades de red se les suelen asignar letras hacia el final del alfabeto. Esto se hace a menudo para diferenciarlas de las unidades locales: al utilizar letras hacia el final, se reduce el riesgo de un conflicto de asignación. Esto es especialmente cierto cuando la asignación se realiza automáticamente a través de 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 admite solo 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 unidad 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 admiten realmente 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 directivas HILASTDRIVEy LASTDRIVEHIGHpara reubicar estructuras de unidad 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 como algunas de las letras entran en conflicto con extensiones sintácticas de este procesador de línea de comandos, es necesario escaparlas para poder usarlas 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 utilizar puntos de montaje de volumen . [11] Sin embargo, es posible montar unidades que no sean letras, como 1: , 2: o !: utilizando la SUBSTutilidad de línea de comandos en Windows XP o posterior (es decir, SUBST 1: C:\TEMP), pero no se admite oficialmente y puede romper programas que asumen que todas las unidades son letras A: a Z: .

ASIGNAR, UNIR 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 vuelven a ser compatibles: el comando SUBST existe como antes, mientras que la funcionalidad de JOIN está incluida en LINKD (parte del Kit de recursos de Windows ). En Windows Vista , se puede utilizar el nuevo comando MKLINK para este propósito. Además, Windows 2000 y posteriores admiten puntos de montaje, accesibles desde el Panel de control .

Muchos sistemas operativos originados en Digital Research proporcionan medios para asignar implícitamente unidades sustitutas, llamadas unidades flotantes en la terminología DRI, utilizando el comando CD/CHDIR en 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, incluida 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 superiores. Las unidades flotantes se implementan en el núcleo BDOS, no en el shell de línea de comandos, por lo tanto, se pueden usar y asignar también desde dentro de las aplicaciones cuando usan la llamada del sistema "cambiar directorio". Sin embargo, la mayoría de las aplicaciones DOS no conocen esta extensión y, en consecuencia, descartarán dichas rutas de directorio por considerarlas invá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 característica 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, permitiendo así 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 característica de unidad de carga facilita el movimiento de instalaciones de software en y 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 posteriores. (Por razones similares, el apéndice al bloque de entorno asociado con aplicaciones cargadas bajo DOS 3.0 (y superior) contiene también una referencia a la ruta de carga del ejecutable, sin embargo, esto consume más memoria residente y para aprovecharlo, el soporte para ello debe estar codificado en el ejecutable, mientras que la solución de DRI funciona con cualquier tipo de aplicaciones y también es completamente transparente para los usuarios). En algunas versiones de DR-DOS, la ruta de carga contenida en el apéndice al 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 opción INSTALL[HIGH]/ (para en lugar de, digamos, ). Esto se puede utilizar 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) . Manual del sistema operativo o cómo engañar a los usuarios con minicomputadoras y mainframes .
  2. ^ Johnson, Herbert R. (4 de enero de 2009). "Historia de CP/M y Digital Research Inc. (DRI)". www.retrotechnology.com . Consultado el 28 de enero de 2009 .
  3. ^ "Geografía".
  4. ^ "Orden en el que MS-DOS y Windows asignan letras de unidad". Soporte en línea de Soporte técnico de Microsoft . Microsoft . 1996-04-17. Archivado desde el original el 1999-02-18 . Consultado el 2021-01-06 .
  5. ^ "Cambiar una letra de unidad". Microsoft . Consultado el 4 de marzo de 2019 .
  6. ^ abc Concurrent DOS 386 - Sistema operativo multiusuario/multitarea - Guía del usuario (PDF) . Investigación digital .
  7. ^ abcd Concurrent DOS 386 - Sistema operativo multiusuario/multitarea - Manual de referencia (PDF) . Digital Research . 1987.
  8. ^ "La unidad U: en MagiC". 28 de marzo de 2016. Archivado desde el 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 desde el original el 15 de enero de 2017. Consultado el 9 de enero de 2017 .
  10. ^ "Preguntas frecuentes sobre el vino".
  11. ^ "volúmenes simples". Microsoft TechNet . Archivado desde el original el 26 de marzo de 2007. Consultado el 1 de diciembre de 2006 .
  12. ^ Paul, Matthias R. (2 de octubre de 1997). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archivado desde el original el 4 de octubre de 2003. Consultado el 29 de marzo de 2009 .[1]
  13. ^ Paul, 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 .(NB. NWDOSTIP.TXT es un trabajo exhaustivo sobre Novell DOS 7 y OpenDOS 7.01 , que incluye la descripción de muchas características y 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 provisto apunta a una versión anterior del NWDOSTIP.TXTarchivo convertida a HTML).
  14. ^ Paul, Matthias R. (27 de mayo de 1997) [1996]. «SETENV v1.11». Archivado desde el original el 15 de febrero de 2009. Consultado el 29 de julio de 2019 .
  15. ^ Paul, Matthias R. (7 de octubre de 2002). "Re: Ejecutar un archivo COM". alt.msdos.programmer . Archivado desde el original el 3 de septiembre de 2017 . Consultado el 3 de septiembre de 2017 .[2]

Enlaces externos