Назначение буквы диска - Drive letter assignment

Командная строка MS-DOS с буквой диска C как часть текущего рабочего каталога .
Диспетчер файлов отображения содержимого диска C .

В хранении данных компьютера , назначение буквы диска это процесс присвоения буквенных идентификаторов томов . В отличие от концепции точек монтирования UNIX , где тома именуются и располагаются произвольно в едином иерархическом пространстве имен, присвоение букв дискам позволяет использовать несколько пространств имен самого высокого уровня. Таким образом, присвоение букв дискам - это процесс использования букв для именования корней «леса», представляющего файловую систему; каждый том содержит независимое «дерево» (или, для неиерархических файловых систем, независимый список файлов).

Источник

Концепция букв, как и используемые в настоящее время , по- видимому обязана своим происхождением IBM «s VM семейства операционных систем, начиная с CP / CMS в 1967 году (и его научно - исследовательский предшественник CP-40 ), путем Digital Research » s ( DRI) CP / M . Концепция развивалась в несколько этапов:

  • CP / CMS использует буквы дисков для идентификации минидисков, подключенных к сеансу пользователя. Полный справочный файл ( путь к файлу в современном просторечии) состоит из имени файла , в типа файла и буквы диска называется FileMode (например , или B ). Минидиски могут соответствовать физическим дискам, но чаще относятся к логическим дискам, которые автоматически отображаются операционной системой на совместно используемые устройства как наборы виртуальных цилиндров .
  • CP / CMS вдохновил множество других операционных систем, включая операционную систему микрокомпьютера CP / M, которая использует букву диска для указания физического запоминающего устройства. В ранних версиях CP / M (и других операционных систем для микрокомпьютеров) на каждом диске была реализована плоская файловая система , где полная ссылка на файл состоит из буквы диска , двоеточия, имени файла (до восьми символов ) и типа файла (три символы); например A:README.TXT. (Это была эпоха 8-дюймовых гибких дисков , где такие небольшие пространства имен не накладывали практических ограничений.) На это использование повлияли префиксы устройств, используемые в операционной системе TOPS-10 Digital Equipment Corporation (DEC) .
  • Синтаксис буквы диска, выбранный для CP / M, был унаследован Microsoft для своей операционной системы MS-DOS через Seattle Computer Products (SCP) 86-DOS и, таким образом, также от OEM-версии IBM PC DOS . Первоначально буквы дисков всегда представляли физические тома, но со временем появилась поддержка логических томов .
  • Благодаря их положению в качестве преемника DOS концепция буквенных обозначений дисков была унаследована OS / 2 и семейством Microsoft Windows .

Важная возможность иерархических каталогов внутри каждой буквы диска изначально отсутствовала в этих системах. Это было основной особенностью UNIX и других подобных операционных систем, где на жестких дисках хранились тысячи (а не десятки или сотни) файлов. Увеличение емкости памяти микрокомпьютера привело к их появлению, за которым в конечном итоге последовали длинные имена файлов . В файловых системах, в которых отсутствуют такие механизмы именования, присвоение букв дискам оказалось полезным и простым принципом организации.

Операционные системы, использующие присвоение букв дисков

Порядок присвоения

MS-DOS / PC DOS, начиная с версии 5.0 и более поздних операционных систем, назначает буквы дисков в соответствии со следующим алгоритмом:

  1. Назначьте букву A: первому дисководу гибких дисков (дисковод 0) и букву B: второму дисководу гибких дисков (дисковод 1). Если присутствует только одна физическая дискета, дисковод B: будет назначен фантомному дисководу гибких дисков, сопоставленному с тем же физическим дисководом и динамически назначенному либо A:, либо B: для упрощения операций с файлами гибких дисков. Если физического дисковода гибких дисков нет, DOS 4.0 назначит оба A: и B: несуществующему диску, тогда как DOS 5.0 и выше аннулирует эти буквы дисков. Если присутствует более двух физических дисководов гибких дисков, версии DOS до 5.0 будут назначать последующие буквы дисков, тогда как DOS 5.0 и выше переназначит эти диски на более высокие буквы дисков на более позднем этапе; см. ниже.
  2. Назначьте букву диска первому активному первичному разделу, распознанному на первом физическом жестком диске . DOS 5.0 и выше гарантирует, что он станет диском C : , так что загрузочный диск будет иметь диск A: или C : .
  3. Назначьте последующие буквы дисков первому первичному разделу на каждом последующем физическом жестком диске (версии DOS до 5.0 будут проверять только два физических жестких диска, тогда как DOS 5.0 и выше поддерживает восемь физических жестких дисков).
  4. Назначьте последующие буквы дисков каждому распознанному логическому разделу, присутствующему в первом расширенном разделе, начиная с первого жесткого диска и продолжая через последовательные физические жесткие диски.
  5. DOS 5.0 и выше: присвойте буквы дисков всем оставшимся основным разделам, начиная с первого жесткого диска и заканчивая последовательными физическими жесткими дисками.
  6. DOS 5.0 и выше: назначайте буквы дисков всем физическим дисководам, кроме второго физического дисковода.
  7. Назначьте последующие буквы дисков любым драйверам блочных устройств, загруженным в CONFIG.SYS через операторы DEVICE , например, RAM-дискам .
  8. Присвойте последующие буквы любым динамически загружаемым дискам с помощью операторов CONFIG.SYS INSTALL в AUTOEXEC.BAT или более поздней версии, т. Е. Дополнительных дисководов оптических дисков ( MSCDEX и т. Д.), Дисководов PCMCIA / PC Card, дисководов USB или Firewire или сетевых дисков .
  • Буквы присваиваются только разделам с распознанными типами разделов . В частности, «скрытые разделы» (те, у которых идентификатор типа изменен на нераспознанное значение, обычно путем добавления 10h), таковыми не являются.

MS-DOS / PC DOS версии 4.0 и более ранних версий назначать буквы всех гибких дисков , прежде чем рассматривать жесткие диски, так что система с четырьмя дисководы бы назвать первый жесткий диск E: . Начиная с DOS 5.0, система гарантирует, что диск C: всегда будет жестким диском, даже если в системе более двух физических дисководов для гибких дисков.

Несмотря на отсутствие преднамеренного переназначения, присвоение букв дискам обычно фиксируется до следующей перезагрузки, однако Zenith MS-DOS 3.21 обновит присвоение букв дискам при сбросе диска. Это может привести к изменению букв дисков без перезагрузки, если разделение жесткого диска было изменено.

MS-DOS на ПК Apricot присваивает жестким дискам буквы, начиная с A : , прежде чем рассматривать дисководы гибких дисков. Система с двумя такими дисками будет называть жесткие диски A: и B:, а дискеты C: и D : .

В некоторых версиях DOS буква диска, начинающаяся с C:, назначается не первому активному первичному разделу, распознанному на первом физическом жестком диске, а первому первичному разделу, распознанному на первом жестком диске, даже если он не установлен активным. .

Если в таблице разделов более одного расширенного раздела, обрабатываются только логические диски в первом распознанном типе расширенного раздела.

Некоторые поздние версии DR-DOS IBMBIO.COM предоставляют структуру конфигурации предварительной загрузки, содержащую битовые флаги для выбора (помимо других) между различными стратегиями назначения букв дисков. Эти стратегии могут быть предварительно выбраны пользователем или OEM или изменены загрузчиком на лету при запуске DR-DOS. При этих проблемах загрузочный диск также может отличаться от A: или C : .

Порядок букв дисков может зависеть от того, управляется ли данный диск драйвером времени загрузки или динамически загружаемым драйвером. Например, если второй или третий жесткий диск относится к типу SCSI и в DOS требуются драйверы, загруженные через файл CONFIG.SYS (например, карта контроллера не имеет встроенного BIOS или использование этого BIOS нецелесообразно), тогда первый первичный раздел SCSI появится после всех разделов IDE в DOS. Следовательно, DOS и, например, OS / 2 могут иметь разные буквы дисков, поскольку OS / 2 загружает драйвер SCSI раньше. Решением было не использовать на таких жестких дисках первичные разделы.

В Windows NT и OS / 2 , операционная система использует вышеупомянутый алгоритм для автоматического назначения букв на НГМД , оптические диски , с загрузочным диском , а также другие признанных тома, которые не иначе , созданными с помощью администратора в операционной системе. Тома, которые создаются в операционной системе, указываются вручную, и некоторые из автоматических букв дисков могут быть изменены. Неопознанным томам не присваиваются буквы, и операционная система обычно их не затрагивает.

Распространенная проблема, которая возникает при назначении буквы диска, заключается в том, что буква, назначенная сетевому диску, может мешать букве локального тома (например, недавно установленного привода CD / DVD или USB-накопителя). Например, если последним локальным диском является диск D :, а сетевой диск был бы назначен как E : , то новому подключенному запоминающему устройству USB также будет назначен диск E: что приведет к потере связи либо с общим сетевым ресурсом, либо с USB-устройство. Пользователи с правами администратора могут назначать буквы дисков вручную, чтобы решить эту проблему. Еще одно условие, которое может вызвать проблемы в Windows XP, - это когда сетевые диски определены, но находятся в состоянии ошибки (как на портативном компьютере, работающем вне сети). Даже если неподключенный сетевой диск не является следующей доступной буквой диска, Windows XP может быть не в состоянии подключить диск, и эта ошибка также может помешать подключению USB-устройства.

Общие задания

Применение схемы, описанной выше, в довольно современной системе на базе Windows обычно приводит к присвоению следующих букв дискам:

  • A: - Флоппи-дисководы , 3+12 ″ или 5+14 ″ и, возможно, другие типы дисководов, если они есть.
  • B: - Зарезервировано для второго дисковода гибких дисков (который был на многих ПК).
  • C: - Первый раздел жесткого диска .
  • От D: до Z: - Здесь помечаются другие разделы диска. Windows присваивает следующую свободную букву диска следующему обнаруженному диску при перечислении дисков в системе. Диски можно разбивать на разделы, тем самым создавая больше букв дисков. Это относится к MS-DOS, а также ко всем операционным системам Windows. Windows предлагает другие способы изменения букв дисков через оснастку «Управление дисками» или diskpart. MS-DOS обычно использует параметры в строке загрузки драйверов устройств внутри файла CONFIG.SYS .

Буквы дисков в зависимости от регистра:

  • F: - Первый сетевой диск при использовании Novell NetWare .
  • G: - "Google Drive File Stream" при использовании Google Drive .
  • H: - «Домашний» каталог на сетевом сервере.
  • L: - Динамически назначаемый загрузочный диск в Concurrent DOS, Multiuser DOS, System Manager и REAL / 32.
  • M: - Буква диска для необязательного устройства памяти MDISK под Concurrent DOS.
  • Н: , O: , P: - Назначаемые плавающие диски под CP / M-86 4.х, Персональный CP / M-86 2.х, DOS , плюс 1.1-2.1 ( с помощью BDOS вызова 0Fh), концепция впоследствии распространена на любой неиспользуемые буквы дисков в Concurrent DOS, Multiuser DOS, System Manager, REAL / 32 и DR DOS до 6.0.
  • Вопрос: - Виртуализация Microsoft Office "нажми и работай".
  • U: - Unix-подобная унифицированная файловая система с виртуальным каталогом \DEVдля файлов устройств под MiNT , MagiC и MultiTOS .
  • Z: - Первый сетевой диск при использовании Banyan VINES и начальное присвоение буквы диска для сети виртуальных дисков в эмуляторе DOSBox x86 . Это также первая буква, выбранная Windows для сетевых ресурсов, поскольку она автоматически выбирается от Z: вниз. По умолчанию Wine отображает Z: в корень дерева каталогов UNIX.

Когда нет второго физического дисковода гибких дисков, дисковод B: может использоваться как «виртуальный» дисковод гибких дисков, сопоставленный с физическим дисководом A : , при этом пользователю будет предлагаться переключать дискеты каждый раз, когда требуется чтение или запись в зависимости от того, что было наименее недавно использованный из A: или B : . Это позволяет использовать большую часть функций двух дисководов гибких дисков на компьютере, у которого есть только один. Эта концепция нескольких букв дисков, совместно использующих одно физическое устройство (необязательно с разными «представлениями» о нем), не ограничивается первым дисководом гибких дисков, но может быть использована и для других дисков, установив для них дополнительные блочные устройства со стандартным DOS DRIVER.SYS в CONFIG.SYS .

Сетевым дискам часто присваиваются буквы в конце алфавита. Это часто делается для того, чтобы отличить их от локальных дисков: использование букв в конце снижает риск конфликта назначений. Это особенно верно, когда назначение выполняется автоматически по сети (обычно с помощью сценария входа в систему).

В большинстве систем DOS невозможно установить более 26 дисков. Atari GEMDOS поддерживает только 16 букв дисков от A: до P : . Стек драйверов поддерживает PalmDOS PCMCIA буквы дисков 0: , 1: , 2: ... для адреса слотов PCMCIA привода.

Некоторые сетевые драйверы Novell для DOS поддерживают до 32 букв дисков в совместимых версиях DOS. Кроме того, Novell DOS 7, OpenDOS 7.01, и DR-DOS 7,02 искренне поддерживают CONFIG.SYS LASTDRIVE=32директиву для того , чтобы выделить до 32 букв, с именем A: до Z: , [: , \: , ]: , ^: , _: и `: . (DR-DOS 7,02-7,07 также поддерживаю HILASTDRIVEи LASTDRIVEHIGHдирективы для перераспределения приводных структур в верхнюю память.) Некоторые прикладные программы DOS не планирующая буквы диска за пределами Z: и не будет работать с ними, поэтому рекомендуются использовать их для специального целей или поисковых дисков.

Процессор командной строки 4DOS от JP Software поддерживает буквы дисков за пределами Z: в целом, но поскольку некоторые буквы конфликтуют с синтаксическими расширениями этого процессора командной строки, их необходимо экранировать, чтобы использовать их в качестве букв дисков.

Windows 9x (MS-DOS 7.0 / MS-DOS 7.1) также добавила поддержку LASTDRIVE=32и LASTDRIVEHIGH=32.

Если под Windows NT требуется доступ к большему количеству файловых систем, чем Z : , необходимо использовать точки монтирования тома . Тем не менее, можно монтировать небуквенные диски, такие как 1: , 2: или : с помощью командной строки SUBSTутилиты в Windows XP или более поздней версии (то есть SUBST 1: C:\TEMP), но официально не поддерживается и может привести к поломке программы , которые предполагают , что все диски являются буквы A: до Z: .

ASSIGN, JOIN и SUBST в DOS и Windows

Буквы дисков - не единственный способ доступа к разным томам. DOS предлагает команду JOIN, которая позволяет получить доступ к назначенному тому через произвольный каталог, аналогично команде монтирования Unix . Он также предлагает команду SUBST, которая позволяет назначить букву диска каталогу. Одна или обе эти команды были удалены в более поздних системах, таких как OS / 2 или Windows NT , но, начиная с Windows 2000 , обе снова поддерживаются: команда SUBST существует по-прежнему, а функциональность JOIN включена в LINKD (часть ресурсов Windows Комплект ). В Windows Vista для этой цели можно использовать новую команду MKLINK . Кроме того, Windows 2000 и более поздние версии поддерживают точки монтирования, доступные из Панели управления .

Многие операционные системы, разработанные Digital Research, предоставляют средства для неявного назначения замещающих дисков, называемых плавающими дисками в терминологии DRI, с помощью команды CD / CHDIR в следующем синтаксисе:

CD N:=C:\SUBDIR

DOS Plus поддерживает это для буквы диска N: , O: и P: . Эта функция также присутствует в Concurrent DOS , Multiuser DOS , System Manager 7 и REAL / 32 , однако эти системы расширяют концепцию на все неиспользуемые буквы дисков от A: до Z:, за исключением зарезервированной буквы L :. DR DOS 3.31 - 6.0 (до обновлений 1992-11 только с BDOS 6.7) также поддерживает это, включая букву диска L :. Эта функция недоступна в версиях DR DOS 6.0 (обновление 1992 г.), PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02 и выше. Плавающие диски реализованы в ядре BDOS, а не в оболочке командной строки, поэтому их можно использовать и назначать также из приложений, когда они используют системный вызов «изменить каталог». Однако большинство приложений DOS не знают об этом расширении и, следовательно, отбрасывают такие пути к каталогам как недопустимые. Интерпретатор командной строки 4DOS от JP Software поддерживает плавающие диски в операционных системах, также поддерживающих его.

В аналогичной функции Concurrent DOS, Multiuser DOS, System Manager и REAL / 32 динамически назначают букву диска L: пути загрузки загруженного приложения, тем самым позволяя приложениям обращаться к файлам, находящимся в их каталоге загрузки на стандартизированном диске. буква вместо абсолютного пути. Эта функция загрузочного диска упрощает перенос установок программного обеспечения на диски и между ними без необходимости адаптировать пути к наложениям, файлам конфигурации или пользовательским данным, хранящимся в каталоге загрузки или последующих каталогах. (По схожим причинам дополнение к блоку среды, связанному с загруженными приложениями под DOS 3.0 (и выше), также содержит ссылку на путь загрузки исполняемого файла, однако это потребляет больше резидентной памяти, и чтобы воспользоваться ею, поддержка этого должна быть закодирована в исполняемый файл, тогда как решение DRI работает с любыми типами приложений и также полностью прозрачно для пользователей.) В некоторых версиях DR-DOS путь загрузки, содержащийся в дополнении к среде, передается драйверам может быть сокращен до что привода временной замены (например SUBST B: C:\DIR) через INSTALL[HIGH]/ LOADHIGHопции /D[:loaddrive](для B:TSR.COMвместо, скажем, C:\DIR\TSR.COM). Это можно использовать для минимизации эффективного использования памяти драйвером, если исполняемый файл находится в глубоком подкаталоге и резидентному драйверу больше не нужен путь загрузки после установки.

Смотрите также

использованная литература

внешние ссылки