Ох, крылья истории.
В истории Windows это восходит к оригинальной PC-DOS, которая работала на IBM PC 1981 года. (Его происхождение, в свою очередь, можно проследить до CP/M второй половины 1970-х годов.)
IBM PC изначально не поддерживал жесткий диск. Помимо того, что жесткие диски невероятно дороги, у ПК не было достаточно мощного блока питания для поддержки жесткого диска. Вы можете установить на место жесткий диск, который потребует замены блока питания, добавления платы контроллера диска и установки самого жесткого диска, но мало кто это сделал.
Насколько я помню, PC-DOS 1.x даже не поддерживал жесткие диски. Это было представлено в PC-DOS 2.0, где также добавлена поддержка каталогов в файловой системе. В PC-DOS 1.x вы классифицировали контент, используя разные дискеты для любовных писем, бизнес-таблиц, коллекции рецептов и так далее. Скорее всего, это оставалось обычным способом категоризации контента после PC-DOS 2.0, пока жесткие диски не стали распространенным аксессуаром для ПК во второй половине 1980-х годов.
Оригинальный IBM PC, однако, изначально и легко поддерживал до двух дисководов гибких дисков. Некоторые системы даже поддерживали до четырех дисководов гибких дисков, в этом случае дополнительные дисководы были помечены как C:
и D:
в ранних версиях MS-DOS, причем первый раздел первого жесткого диска назывался E:
но это был необычная конфигурация. Ранние версии BIOS допускали, по крайней мере, до четырех дисководов гибких дисков, используя два бита (возможные значения: 0, 1, 2, 3), чтобы возвращать количество дисководов гибких дисков меньше одного (таким образом 1, 2, 3 или 4) установленная в BIOS функция получения списка оборудования ; вскоре она была расширена функцией get disk type, которая в принципе могла поддерживать до 128 дисководов гибких дисков, но требовала полных 256 вызовов для полного перечисления устройств хранения.
В DOS первая дискета называлась A:
а вторая - B:
Поскольку одна или две флоппи-дисководы были очень распространенной конфигурацией, имело смысл использовать следующую доступную букву для первого раздела первого жесткого диска, а не просто первую доступную букву диска. Таким образом, C:
родился. Тем не менее, в ранних версиях MS-DOS первый раздел жесткого диска мог помещаться на букву диска позже C:
если были установлены дополнительные дисководы гибких дисков. (Более подробное обсуждение того, как было выполнено назначение, см. На мой вопрос. Как MS-DOS назначала буквы дисков в случае более двух дисководов гибких дисков? на ретрокомпьютинг SE.) Поскольку DOS не может загружаться с неосновного раздела (расширенные разделы были еще одним более поздним изобретением), и у IBM BIOS не было реальной возможности загружаться с чего-либо, кроме первого читаемого диска, скорее всего было принято решение сослаться на первый раздел первого жесткого диска как C:
даже если не было A:
или B:
Было бы полезно иметь фиксированное обозначение для того, что было общим для большинства систем, поскольку оно позволяло программному обеспечению предлагать разумные значения по умолчанию и документацию, чтобы предлагать разумные примеры без большого количества "если" и "но". В конце концов, конфигурации с несколькими дисководами гибких дисков потеряли свою популярность.
Еще в те дни, обратите внимание, что жесткие диски были достаточно маленькими, поэтому было нецелесообразно разделять их на какие-либо предметы, кроме специализированных рабочих нагрузок. Жесткий диск объемом 20 мегабайт был большим, а 40 МБ - огромным. IIRC, только в PC-DOS 3.1 была представлена FAT16, которая позволяла создавать разделы размером более 32 МБ, а форматирование даже раздела 32 МБ с использованием FAT12 уже было чрезвычайно расточительным, поскольку приводило к минимальному размеру выделения 8 КБ, 0,024% от всей емкости раздела и позволяет хранить максимум 4 068 файлов в разделе.
В наши дни у нас очень редко бывают установлены какие-либо дисководы гибких дисков, поэтому A: и B: вышли из общего использования. Однако решение ссылаться на первый раздел на первом жестком диске как C: все еще остается в силе, и поэтому в Windows мы говорим о C: вместо A:.
Обратите внимание, что C: относится к первому разделу первого физического жесткого диска; не для самого привода. DOS не предлагал удобного для пользователя способа обращения к самому физическому диску, но BIOS это сделал, назвав его диском с номером 128+n, где n - это номер диска с индексом 0. С другой стороны, в BIOS не было концепции разделов. (Дисковод гибких дисков нумеруется n, опять же, где n индексируется 0. Следовательно, в общей конфигурации в то время A:
это диск 0, B:
это диск 1 и C:
первый раздел на диске 128. В схеме, где физические диски адресуются с использованием 8-битного числа, которое разработчики IBM PC выбрали в 1980-1981 годах, имея 128 в качестве границы, означает установку или очистку одного бита, что делает тривиальным тестирование в программном обеспечении, включая BIOS и ОС.)
И, конечно же, другие операционные системы имеют разные способы адресации разделов и дисков. Linux обычно использует /dev /sd xy, где x - это буква, а y - это число, для адресации к конкретному разделу (и точка монтирования файловой системы в этом разделе для доступа к файлам в нем); другие Unix-подобные системы имеют похожие, но разные схемы именования устройств.