Atribuição da letra da unidade - Drive letter assignment

Prompt de comando do MS-DOS com a letra da unidade C como parte do diretório de trabalho atual .
File Manager exibindo o conteúdo da unidade C .

No armazenamento de dados de computador , a atribuição de letras de unidade é o processo de atribuição de identificadores alfabéticos aos volumes . Ao contrário do conceito de pontos de montagem UNIX , onde os volumes são nomeados e localizados arbitrariamente em um único namespace hierárquico, a atribuição de letras de unidade permite vários namespaces de nível mais alto. A atribuição de letras de unidade é, portanto, um processo de usar letras para nomear as raízes da "floresta" que representa o sistema de arquivos; cada volume contém uma "árvore" independente (ou, para sistemas de arquivos não hierárquicos, uma lista independente de arquivos).

Origem

O conceito de letras de unidade, como hoje usado, presumivelmente, deve sua origem a IBM 's VM família de sistemas operacionais, que remonta a CP / CMS em 1967 (e seu antecessor pesquisa CP-40 ), por meio da Digital Research ' s ( DRI) CP / M . O conceito evoluiu em várias etapas:

  • CP / CMS usa letras de unidade para identificar minidiscos anexados a uma sessão de usuário. Uma referência completa de arquivo ( nome do caminho na linguagem atual) consiste em um nome de arquivo , um tipo de arquivo e uma letra de disco chamada modo de arquivo (por exemplo, A ou B ). Minidiscos podem corresponder a unidades de disco físico, mas geralmente se referem a unidades lógicas, que são mapeadas automaticamente em dispositivos compartilhados pelo sistema operacional como conjuntos de cilindros virtuais .
  • CP / CMS inspirou vários outros sistemas operacionais, incluindo o sistema operacional de microcomputador CP / M, que usa uma letra de unidade para especificar um dispositivo de armazenamento físico. As primeiras versões do CP / M (e outros sistemas operacionais de microcomputador) implementaram um sistema de arquivo simples em cada unidade de disco, onde uma referência de arquivo completa consiste em uma letra de unidade , dois pontos, um nome de arquivo (até oito caracteres ) e um tipo de arquivo (três personagens); por exemplo A:README.TXT. (Esta foi a era dos disquetes de 8 polegadas , em que esses pequenos namespaces não impunham restrições práticas.) Esse uso foi influenciado pelos prefixos de dispositivo usados ​​no sistema operacional TOPS-10 da Digital Equipment Corporation (DEC) .
  • A sintaxe da letra da unidade escolhida para CP / M foi herdada pela Microsoft para seu sistema operacional MS-DOS por meio do Seattle Computer Products '(SCP) 86-DOS e, portanto, também pela versão OEM PC DOS da IBM . Originalmente, as letras de unidade sempre representavam volumes físicos, mas o suporte para volumes lógicos acabou aparecendo.
  • Por meio de sua posição designada como sucessor do DOS, o conceito de letras de unidade também foi herdado pelo OS / 2 e pela família Microsoft Windows .

A importante capacidade de diretórios hierárquicos dentro de cada letra de unidade estava inicialmente ausente desses sistemas. Esse era um dos principais recursos do UNIX e de outros sistemas operacionais semelhantes, em que os discos rígidos armazenavam milhares (em vez de dezenas ou centenas) de arquivos. O aumento da capacidade de armazenamento do microcomputador levou à sua introdução, eventualmente seguida por longos nomes de arquivos . Em sistemas de arquivos sem tais mecanismos de nomenclatura, a atribuição de letras de unidade provou ser um princípio de organização simples e útil.

Sistemas operacionais que usam atribuição de letras de unidade

Ordem de atribuição

MS-DOS / PC DOS desde a versão 5.0 e sistemas operacionais posteriores, atribui letras de unidade de acordo com o seguinte algoritmo:

  1. Atribua a letra da unidade A: à primeira unidade de disco flexível (unidade 0) e B: à segunda unidade de disco flexível (unidade 1). Se apenas um disquete físico estiver presente, a unidade B: será atribuída a uma unidade de disquete fantasma mapeada para a mesma unidade física e dinamicamente atribuída a A: ou B: para operações de arquivo de disquete mais fáceis. Se nenhuma unidade de disquete física estiver presente, o DOS 4.0 atribuirá A: e B: à unidade inexistente, enquanto o DOS 5.0 e superior invalidará essas letras de unidade. Se mais de duas unidades de disquete físicas estiverem presentes, as versões do DOS anteriores a 5.0 atribuirão letras de unidade subsequentes, enquanto o DOS 5.0 e superior irá remapear essas unidades para letras de unidade mais altas em um estágio posterior; Veja abaixo.
  2. Atribua uma letra de unidade à primeira partição primária ativa reconhecida no primeiro disco rígido físico . DOS 5.0 e superior irá garantir que ele vai se tornar unidade C: , de modo que a unidade de inicialização ou terá unidade A: ou C: .
  3. Atribua letras de unidade subseqüentes à primeira partição primária em cada unidade de disco rígido física sucessiva (as versões do DOS anteriores à 5.0 sondam apenas dois discos rígidos físicos, enquanto o DOS 5.0 e superior suportam oito discos rígidos físicos).
  4. Atribua letras de unidade subsequentes a cada partição lógica reconhecida presente na primeira partição estendida, começando com a primeira unidade de disco rígido e prosseguindo pelas sucessivas unidades de disco rígido físicas.
  5. DOS 5.0 e superior: Atribua letras de unidade a todas as partições primárias restantes, começando com a primeira unidade de disco rígido e prosseguindo pelas sucessivas unidades de disco rígido físicas.
  6. DOS 5.0 e superior: Atribua letras de unidade a todas as unidades físicas de disquete além da segunda unidade física de disquete.
  7. Atribua letras de unidade subsequentes a qualquer driver de dispositivo de bloco carregado no CONFIG.SYS por meio de instruções DEVICE , por exemplo, discos RAM .
  8. Atribua letras de unidade subsequentes a quaisquer unidades carregadas dinamicamente por meio de instruções CONFIG.SYS INSTALL , em AUTOEXEC.BAT ou posterior, ou seja, unidades de disco óptico adicionais ( MSCDEX etc.), unidades PCMCIA / PC Card , unidades USB ou Firewire ou unidades de rede .
  • Apenas partições de tipos de partição reconhecidos recebem letras. Em particular, as "partições ocultas" (aquelas com seu ID de tipo alterado para um valor não reconhecido, geralmente por adição 10h) não são.

MS-DOS / PC DOS versões 4.0 e cartas antes atribuir a todas as unidades de disquete antes de considerar discos rígidos, assim que um sistema com quatro unidades de disquete chamaria o primeiro disco rígido E: . A partir do DOS 5.0, o sistema garante que a unidade C: seja sempre um disco rígido, mesmo se o sistema tiver mais de duas unidades físicas de disquete.

Embora sem remapeamento deliberado, as atribuições de letras de unidade são normalmente corrigidas até a próxima reinicialização, no entanto, o Zenith MS-DOS 3.21 atualizará as atribuições de letras de unidade ao redefinir uma unidade. Isso pode fazer com que as letras das unidades sejam alteradas sem reinicializar se o particionamento do disco rígido for alterado.

O MS-DOS no PC Apricot atribui letras aos discos rígidos, começando com A :, antes de considerar as unidades de disquete. Um sistema com dois de cada unidade chamará a unidades de disco R: e B: , e a disquetes C: e D: .

Algumas versões do DOS não atribuem a letra da unidade, começando com C:, à primeira partição primária ativa reconhecida no primeiro disco rígido físico, mas na primeira partição primária reconhecida do primeiro disco rígido, mesmo se não estiver definida como ativa .

Se houver mais de uma partição estendida em uma tabela de partição, apenas as unidades lógicas no primeiro tipo de partição estendida reconhecida serão processadas.

Algumas versões mais recentes do DR-DOS IBMBIO.COM fornecem uma estrutura de configuração de pré-inicialização, mantendo sinalizadores de bits para selecionar (ao lado de outros) entre várias estratégias de atribuição de letras de unidade. Essas estratégias podem ser pré-selecionadas por um usuário ou OEM ou alteradas por um carregador de boot durante o lançamento do DR-DOS. Sob esses problemas, a unidade de inicialização também pode ser diferente de A: ou C : .

A ordem das letras da unidade pode depender se um determinado disco é gerenciado por um driver de inicialização ou por um driver carregado dinamicamente. Por exemplo, se o segundo ou terceiro disco rígido é do tipo SCSI e, no DOS, requer drivers carregados através do arquivo CONFIG.SYS (por exemplo, a placa controladora não oferece BIOS on-board ou usar este BIOS não é prático), então a primeira partição primária SCSI aparecerá após todas as partições IDE no DOS. Portanto, o DOS e, por exemplo, o OS / 2 podem ter letras de unidade diferentes, já que o OS / 2 carrega o driver SCSI mais cedo. Uma solução foi não usar partições primárias nesses discos rígidos.

No Windows NT e OS / 2 , o sistema operacional usa o algoritmo acima mencionado às cartas automaticamente atribuir a disquete unidades de disco , unidades de disco óptico , o disco de inicialização e outros volumes reconhecidos que não são de outra forma criados por um administrador dentro do sistema operacional. Os volumes criados no sistema operacional são especificados manualmente e algumas das letras de unidade automáticas podem ser alteradas. Volumes não reconhecidos não são atribuídos a letras e geralmente são deixados intocados pelo sistema operacional.

Um problema comum que ocorre com a atribuição da letra da unidade é que a letra atribuída a uma unidade de rede pode interferir na letra de um volume local (como uma unidade de CD / DVD recém-instalada ou um stick USB). Por exemplo, se a última unidade local for a unidade D: e uma unidade de rede teria sido atribuída como E:, então um dispositivo de armazenamento em massa USB recém-conectado também seria atribuído à unidade E: causando perda de conectividade com o compartilhamento de rede ou com o Dispositivo USB. Os usuários com privilégios administrativos podem atribuir letras de unidade manualmente para superar esse problema. Outra condição que pode causar problemas no Windows XP é quando há unidades de rede definidas, mas em uma condição de erro (como estariam em um laptop operando fora da rede). Mesmo quando a unidade de rede não conectada não é a próxima letra de unidade disponível, o Windows XP pode não conseguir mapear uma unidade e esse erro também pode impedir a montagem do dispositivo USB.

Tarefas comuns

Aplicar o esquema discutido acima em um sistema bastante moderno baseado em Windows normalmente resulta nas seguintes atribuições de letras de unidade:

  • R: - Unidades de disquete , 3+12 ″ ou 5+14 ″ e possivelmente outros tipos de unidades de disco, se houver.
  • B: - Reservado para uma segunda unidade de disquete (que estava presente em muitos PCs).
  • C: - Primeira partição do disco rígido .
  • D: a Z: - Outras partições de disco são rotuladas aqui. O Windows atribui a próxima letra de unidade livre à próxima unidade que encontrar enquanto enumera as unidades de disco no sistema. As unidades podem ser particionadas, criando assim mais letras de unidade. Isso se aplica ao MS-DOS, bem como a todos os sistemas operacionais Windows. O Windows oferece outras maneiras de alterar as letras das unidades, por meio do snap-in Gerenciamento de disco ou diskpart. O MS-DOS normalmente usa parâmetros nos drivers de dispositivo de carregamento de linha dentro do arquivo CONFIG.SYS .

Letras de unidade específicas do caso:

  • F: - Primeira unidade de rede se estiver usando Novell NetWare .
  • G: - "Google Drive File Stream" se estiver usando o Google Drive .
  • H: - Diretório "Home" em um servidor de rede.
  • L: - Unidade de carga atribuída dinamicamente no DOS Simultâneo, DOS Multiusuário, Gerenciador de Sistema e REAL / 32.
  • M: - Letra da unidade para opcionalmente unidade de memória MDISK no DOS Simultâneo.
  • N: , O: , P: - Designável unidades flutuante sob CP / M-86 4.x, CP pessoal / H-86 2.x, O DOS Plus 1,1-2,1 (via BDOS chamada 0Fh), um conceito mais tarde estendido para qualquer letras de unidade não utilizadas no DOS Simultâneo, DOS Multiusuário, Gerenciador de Sistema, REAL / 32 e DOS DR até 6.0.
  • P: - Virtualização Click-to-Run do Microsoft Office.
  • U: - Sistema de arquivos unificado semelhante ao Unix com diretório virtual \DEVpara arquivos de dispositivo em MiNT , MagiC e MultiTOS .
  • Z: - Primeira unidade de rede se estiver usando Banyan VINES , e a atribuição inicial da letra da unidade para a rede de disco virtual no emulador DOSBox x86 . É também a primeira letra selecionada pelo Windows para recursos de rede, já que seleciona automaticamente de Z: para baixo. Por padrão, o Wine mapeia Z: para a raiz da árvore de diretórios do UNIX.

Quando não há uma segunda unidade de disquete física, a unidade B: pode ser usada como uma unidade de disquete "virtual" mapeada na unidade A: física , por meio da qual o usuário seria solicitado a trocar de disquetes toda vez que uma leitura ou gravação fosse necessária para qualquer que fosse a menos recentemente usado de a: ou B: . Isso permite grande parte da funcionalidade de duas unidades de disquete em um computador que possui apenas uma. Este conceito de múltiplas letras de unidade compartilhando um único dispositivo físico (opcionalmente com diferentes "visualizações" dele) não se limita à primeira unidade de disquete, mas pode ser utilizado para outras unidades também configurando dispositivos de bloco adicionais para eles com o padrão DOS DRIVER.SYS no CONFIG.SYS .

As unidades de rede geralmente recebem letras no final do alfabeto. Isso geralmente é feito para diferenciá-los das unidades locais: usando letras no final, reduz o risco de um conflito de atribuição. Isso é especialmente verdadeiro quando a atribuição é feita automaticamente em uma rede (geralmente por um script de logon).

Na maioria dos sistemas DOS, não é possível ter mais de 26 unidades montadas. O Atari GEMDOS oferece suporte a 16 letras de unidade de A: a P: apenas. Os PalmDOS PCMCIA suportes pilha de driver letras de unidade 0: , 1: , 2: ... para endereço slots PCMCIA unidade.

Alguns drivers de rede Novell para DOS suportam até 32 letras de unidade em versões DOS compatíveis. Além disso, a Novell DOS 7, OpenDOS 7,01, e DR-DOS 7,02 genuinamente apoiar uma CONFIG.SYS LASTDRIVE=32directiva, a fim de alocar até 32 letras de unidade, denominada A: a Z: , [: , \: , ]: , ^: , _: e `: . (DR-DOS 7.02-7.07 também oferece suporte HILASTDRIVEe LASTDRIVEHIGHdiretivas para realocar estruturas de unidade na memória superior.) Alguns programas de aplicativos DOS não esperam letras de unidade além de Z: e não funcionarão com eles, portanto, é recomendado usá-los para fins especiais finalidades ou unidades de pesquisa.

O processador de linha de comando 4DOS da JP Software suporta letras de unidade além de Z: em geral, mas uma vez que algumas das letras entram em conflito com as extensões sintáticas deste processador de linha de comando, é necessário escapar para usá-las como letras de unidade.

O Windows 9x (MS-DOS 7.0 / MS-DOS 7.1) adicionou suporte para LASTDRIVE=32e LASTDRIVEHIGH=32também.

Se o acesso a mais sistemas de arquivos do que Z: for necessário no Windows NT, os Pontos de montagem de volume devem ser usados. No entanto, é possível montar unidades não-letras, como 1: , 2: ou : usando a linha de comando SUBSTutilidade no Windows XP ou posterior (ou seja SUBST 1: C:\TEMP), mas não é oficialmente suportado e pode quebrar programas que assumem que todas as unidades são letras a: a Z: .

ASSIGN, JOIN e SUBST em DOS e Windows

As letras de unidade não são a única maneira de acessar diferentes volumes. O DOS oferece um comando JOIN que permite o acesso a um volume atribuído por meio de um diretório arbitrário, semelhante ao comando de montagem do Unix . Ele também oferece um comando SUBST que permite a atribuição de uma letra de unidade a um diretório. Um ou ambos os comandos foram removidos em sistemas posteriores como OS / 2 ou Windows NT , mas a partir do Windows 2000 , ambos são novamente suportados: O comando SUBST existe como antes, enquanto a funcionalidade de JOIN é incluída em LINKD (parte do Recurso do Windows Kit ). No Windows Vista , o novo comando MKLINK pode ser usado para este propósito. Além disso, o Windows 2000 e posteriores oferecem suporte a pontos de montagem, acessíveis no Painel de Controle .

Muitos sistemas operacionais originados da Digital Research fornecem meios para atribuir implicitamente unidades substitutas, chamadas unidades flutuantes na terminologia DRI, usando o comando CD / CHDIR na seguinte sintaxe:

CD N:=C:\SUBDIR

O DOS Plus suporta isso por letras de unidade N: , O: e P: . Esse recurso também está presente no DOS Simultâneo , DOS Multiusuário , System Manager 7 e REAL / 32 ; no entanto, esses sistemas estendem o conceito a todas as letras de unidade não utilizadas de A: a Z :, exceto para a letra de unidade reservada L :. DR DOS 3.31 - 6.0 (até as atualizações de 1992-11 com BDOS 6.7 apenas) também oferece suporte para isso, incluindo a letra de unidade L :. Este recurso não está disponível no DR DOS 6.0 (atualização de 1992), PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02 e superior. As unidades flutuantes são implementadas no kernel do BDOS, não no shell da linha de comando, portanto, podem ser usadas e atribuídas também de dentro dos aplicativos quando usam a chamada de sistema "alterar diretório". No entanto, a maioria dos aplicativos DOS não tem conhecimento dessa extensão e, conseqüentemente, descartará esses caminhos de diretório como inválidos. O intérprete de linha de comando 4DOS da JP Software oferece suporte a drives flutuantes em sistemas operacionais que também o suportam.

Em um recurso semelhante, o DOS simultâneo, o DOS multiusuário, o Gerenciador de sistema e o REAL / 32 atribuirão dinamicamente uma letra de unidade L: ao caminho de carregamento de um aplicativo carregado, permitindo que os aplicativos façam referência a arquivos que residem em seu diretório de carregamento em uma unidade padronizada letra em vez de sob um caminho absoluto. Este recurso de unidade de carga torna mais fácil mover instalações de software em e entre os discos, sem ter que adaptar caminhos para sobreposições, arquivos de configuração ou dados do usuário armazenados no diretório de carregamento ou em diretórios subsequentes. (Por razões semelhantes, o apêndice ao bloco de ambiente associado aos aplicativos carregados no DOS 3.0 (e superior) contém uma referência ao caminho de carregamento do executável também, no entanto, isso consome mais memória residente e, para tirar vantagem disso, o suporte para ele deve ser codificado no executável, enquanto a solução da DRI funciona com qualquer tipo de aplicativo e é totalmente transparente para os usuários também.) Em algumas versões do DR-DOS, o caminho de carregamento contido no apêndice do ambiente passado para os drivers pode ser abreviado para uma unidade substituta temporária (por exemplo SUBST B: C:\DIR) por meio da opção INSTALL[HIGH]/ (para em vez de, digamos, ). Isso pode ser usado para minimizar a pegada de memória efetiva de um driver, se o executável estiver localizado em um subdiretório profundo e o driver residente não precisar mais de seu caminho de carregamento após a instalação. LOADHIGH/D[:loaddrive]B:TSR.COMC:\DIR\TSR.COM

Veja também

Referências

links externos