stringtranslate.com

Назначение букв дискам

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

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

Источник

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

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

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

Порядок назначения

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

  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 или сетевым дискам .

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

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

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

На японском PC-98 , если система загружается с дискеты, специальная версия MS-DOS назначает буквы всем дисководам, прежде чем рассматривать жесткие диски; она делает обратное, если загружается с жесткого диска, то есть, если ОС была установлена ​​на жестком диске, MS-DOS назначит этот дисковод как диск "A:", а потенциально существующую дискету как диск "B:". Японская версия программы Windows 95 SETUP поддерживает специальную опцию /AT, чтобы принудительно установить Windows на диск C:.

Некоторые версии 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-устройством. Пользователи с правами администратора могут назначать буквы дисков вручную, чтобы обойти эту проблему. [5] Другое условие, которое может вызвать проблемы в Windows XP , — это когда определены сетевые диски, но находятся в состоянии ошибки (как на ноутбуке, работающем вне сети). Даже если неподключенный сетевой диск не является следующей доступной буквой диска, Windows XP может не иметь возможности сопоставить диск, и эта ошибка также может помешать монтированию USB-устройства. [ необходима цитата ]

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

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

Буквы дисков, зависящие от конкретного случая:

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

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

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

Некоторые сетевые драйверы Novell для DOS поддерживают до 32 букв дисков в совместимых версиях DOS. Кроме того, Novell DOS 7, OpenDOS 7.01 и DR-DOS 7.02 действительно поддерживают LASTDRIVE=32директиву CONFIG.SYS для выделения до 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:, необходимо использовать точки монтирования томов . [11] Тем не менее, можно монтировать диски без букв, например 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 Resource Kit ). В 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:. [7] 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 не знают об этом расширении и, следовательно, будут отбрасывать такие пути к каталогам как недействительные. Интерпретатор командной строки JP Software 4DOS поддерживает плавающие диски в операционных системах, также поддерживающих его.

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

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

Ссылки

  1. ^ Дюшарм, Боб (2001). "VM/CMS" (PDF) . Справочник по операционным системам, или Поддельный путь через мини- и мэйнфреймы .
  2. ^ Джонсон, Герберт Р. (2009-01-04). "История CP/M и Digital Research Inc. (DRI)". www.retrotechnology.com . Получено 28.01.2009 .
  3. ^ "ГЕОС".
  4. ^ "Order in Which MS-DOS and Windows Assign Drive Letters". Поддержка Online от технической поддержки Microsoft . Microsoft . 1996-04-17. Архивировано из оригинала 1999-02-18 . Получено 2021-01-06 .
  5. ^ "Изменить букву диска". Microsoft . Получено 2019-03-04 .
  6. ^ abc Concurrent DOS 386 - Многопользовательская/Многозадачная Операционная Система - Руководство Пользователя (PDF) . Digital Research .
  7. ^ abcd Concurrent DOS 386 - Многопользовательская/Многозадачная Операционная Система - Справочное Руководство (PDF) . Digital Research . 1987.
  8. ^ "Диск U: в MagiC". 2016-03-28. Архивировано из оригинала 2017-01-15 . Получено 2017-01-09 .
  9. ^ "FreeMiNT-Portal - mint.doc". 2000-04-27. Архивировано из оригинала 2017-01-15 . Получено 2017-01-09 .
  10. ^ "Часто задаваемые вопросы о вине".
  11. ^ "simple volumes". Microsoft TechNet . Архивировано из оригинала 2007-03-26 . Получено 2006-12-01 .
  12. ^ Пол, Маттиас Р. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Архивировано из оригинала 2003-10-04 . Получено 2009-03-29 .[1]
  13. ^ Пол, Матиас Р. (30 июля 1997 г.). «II.11.iii. Интернет-команды и опции COMMAND.COM — советы по внутренним командам». NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей. MPDOSTIP (на немецком языке) (3-е изд.). Архивировано из оригинала 4 ноября 2016 г. Проверено 6 августа 2014 г.(Примечание. NWDOSTIP.TXT — это комплексная работа по Novell DOS 7 и OpenDOS 7.01 , включающая описание многих недокументированных функций и внутренних компонентов. Она является частью еще более обширной MPDOSTIP.ZIPколлекции автора, которая поддерживалась до 2001 года и распространялась на многих сайтах в то время. Приведенная ссылка указывает на более старую версию файла, преобразованную в HTML NWDOSTIP.TXT.)
  14. ^ Пол, Маттиас Р. (1997-05-27) [1996]. "SETENV v1.11". Архивировано из оригинала 2009-02-15 . Получено 2019-07-29 .
  15. ^ Пол, Маттиас Р. (2002-10-07). "Re: Запуск COM-файла". alt.msdos.programmer . Архивировано из оригинала 2017-09-03 . Получено 2017-09-03 .[2]

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