Проектирование жирной файловой системы
![]() | Эта статья имеет несколько вопросов. Пожалуйста, помогите улучшить его или обсудить эти вопросы на странице разговоров . ( Узнайте, как и когда удалить эти сообщения )
|
Разработчик (ы) | Microsoft , SCP , IBM , Compaq , Digital Research , Novell , Caldera |
---|---|
Полное имя | Таблица распределения файлов: FAT12 (12-битная версия), FAT16 (16-битные версии), FAT32 (32-битная версия с 28 используемыми битами), exfat (64-битная версии) |
Введено | 1977 ( автономный диск Basic-80 ) FAT12: август 1980 (SCP QDOS ) FAT16: август 1984 (IBM PC DOS 3.0) FAT16B: ноябрь 1987 г. ( Compaq MS-DOS 3.31) FAT32: август 1996 г. ( Windows 95 OSR2 ) exfat: ноябрь 2006 г. ( Windows Embedded CE 6.0 ) |
Идентификаторы раздела | MBR / HEB : FAT12 : 0x01 и FAT16 : 0x04 0x06 0x0E и FAT32 : 0x0B 0x0C и Exfat : 0x07 и BDP : EBD0A0A2-B9E5-443387C0-68B6B72699C7 |
Структуры | |
Справочное содержание | Стол |
Распределение файлов | Связанный список |
Плохие блоки | Кластерная тега |
Ограничения | |
Максимальный размер громкости | FAT12: 32 МБ (256 МБ 64 КБ ) для кластеров FAT16: 2 ГБ (4 ГБ для 64 КБ кластеров) FAT32: 2 ТБ (16 ТБ для 4 КБ секторов ) |
Максимальный размер файла | 4 294 967 295 байт (4 ГБ - 1) с FAT16B и FAT32 [ 1 ] |
Макс нет. файлов | FAT12: 4068 для 8 КБ кластеров FAT16: 65,460 для 32 КБ кластеров FAT32: 268,173 300 для 32 КБ кластера |
Максимальная длина имени файла | 8.3 Имя файла или 255 UCS-2 символов при использовании LFN |
Функции | |
Даты записаны | Измененная дата/время, дата/время создания (только DOS 7.0 и выше), дата доступа (доступна только с включенным AccDate ), [ 2 ] Дата удаления/время (только с Delwatch 2) |
Диапазон дат | 1980-01-01 по 2099-12-31 ( 2107-12-31 ) |
Дата разрешения | 2 секунды за последнее измененное время, 10 мс для времени создания, 1 день для даты доступа, 2 секунды для времени удаления |
Форк | Не изначально |
Атрибуты | Только для чтения , скрытая , система , объем , каталог , архив |
Файловая система разрешения | FAT12/FAT16: права на файл, каталог и доступ к объему для чтения , записи , выполнения , удаления только с помощью DR-DOS , Palmdos , Novell DOS , Opendos , Flexos , 4680 OS , 4690 OS , одновременный DOS , многопользовательский DOS , системный менеджер , Real Real / 32 (выполнить справа только с помощью Flexos, 4680 OS, 4690 ОС; отдельные пароли файла / каталогов не с помощью Flexos, 4680 ОС, 4690 ОС; Классы разрешений World / Group / владелец только с загруженной многопользовательской безопасностью). FAT32: частично, только с DR-DOS, Real/32 и 4690 OS |
Прозрачный сжатие | FAT12/FAT16: за объем, супер - слойщик , DoublePace , DriveSpace FAT32: нет |
Прозрачный шифрование | FAT12/FAT16: за объем только с DR-DOS FAT32: нет |
Файловая система FAT -это файловая система, используемая в MS-DOS и семействе операционных систем Windows 9x . [ 3 ] Он продолжает использоваться на мобильных устройствах и встроенных системах и, таким образом, является хорошо подходящей файловой системой для обмена данными между компьютерами и устройствами практически любого типа и возраста с 1981 по настоящее время.
Структура
[ редактировать ]Жирная файловая система состоит из четырех регионов:
Область | Размер в секторах | Содержимое | Примечания |
---|---|---|---|
Зарезервированные сектора | (Количество зарезервированных секторов ) | Загрузочный сектор | Первым зарезервированным сектором (логический сектор 0) является загрузочный сектор (также называемый записи загрузки громкости или просто VBR ). Он включает в себя область, называемую блоком параметров BIOS ( BPB ), которая содержит некоторую основную информацию о файловой системе, в частности, тип и указатели на местоположение других разделов и обычно содержит загрузчика код операционной системы.
Важная информация из загрузочного сектора доступна через структуру операционной системы, называемую блоком параметров привода ( DPB ) в DOS и OS/2. Общее количество зарезервированных секторов обозначено поле внутри загрузочного сектора и обычно составляет 32 в файловых системах FAT32. [ 4 ] Для файловых систем FAT32 зарезервированные сектора включают информационный сектор файловой системы в логическом секторе 1 и резервный загрузочный сектор в логическом секторе 6. В то время как многие другие поставщики продолжают использовать одноразмерную настройку (только логический сектор 0) для начальной загрузки Загрузчик, код загрузочного сектора Microsoft вырос до логических секторов 0 и 2 с момента введения FAT32, с логическим сектором 0 в зависимости от субрационов в логическом секторе 2. Площадь загрузочного загрузочного сектора состоит из трех логических секторов 6, 7, 7, 7, 7, и 8 тоже. В некоторых случаях Microsoft также использует сектор 12 зоны зарезервированного сектора для расширенного загрузчика. |
Информационный сектор FS (только FAT32) | |||
Более зарезервированные сектора (необязательно) | |||
Жирный регион | (количество жиров) * (сектора на жир) | Таблица распределения файлов № 1 | Обычно это содержит две копии таблицы распределения файлов для проверки избыточности, хотя и редко используются даже в результате утилиты по ремонту дисков. Это карты области данных, указывающие, какие кластеры используются файлами и каталогами. В FAT12 и FAT16 они сразу же следуют за зарезервированными секторами. Как правило, дополнительные копии хранятся в жесткой синхронизации при записи, а при чтениях они используются только тогда, когда в первом жире возникают ошибки. Первые два кластера (кластер 0 и 1 ) на карте содержат специальные значения. |
Таблица распределения файлов № 2 ... (необязательно) | |||
Корневый справочник области | (Количество корневых записей * 32) / (байты на сектор) | Корневой каталог (только FAT12 и FAT16) | Это таблица каталогов , в которой хранится информация о файлах и каталогах, расположенных в корневом каталоге. Он используется только с FAT12 и FAT16 и накладывает в корневой каталог фиксированный максимальный размер, который предварительно выделяется при создании этого объема. FAT32 сохраняет корневой каталог в области данных, а также файлы и другие каталоги, что позволяет ему расти без такого ограничения. Таким образом, для FAT32 область данных начинается здесь. |
Область данных | (количество кластеров) * (секторы на кластер) | Область данных (для файлов и каталогов) ... (до конца разделения или диска) | Здесь хранятся фактические данные файла и каталога и занимают большую часть раздела. FAT32 обычно начинает таблицу корневых каталогов в кластере № 2: первый кластер области данных. |
FAT использует малоэдианский формат для всех записей в заголовке (за исключением явного упоминания, некоторые записи в секторах загрузки Atari St) и жира (ы). [ 5 ] Можно выделить больше жирных секторов, чем необходимо для количества кластеров. Конец последнего сектора каждой жирной копии может быть неиспользованным, если нет соответствующих кластеров. Общее количество секторов (как отмечено в записи загрузки) может быть больше, чем количество секторов, используемых данными (кластеры × сектора на кластер), жиры (количество жиров × сектора на жир), корневой каталог (N/A для FAT32) и скрытых секторов, включая сектор загрузки: это приведет к неиспользованным секторам в конце тома. Если раздел содержит больше секторов, чем общее количество секторов, занятых файловой системой, это также приведет к неиспользованным секторам, в конце раздела, после тома.
Зарезервированная сектора
[ редактировать ]Загрузочный сектор
[ редактировать ]На не участвующих устройствах хранения , таких как дискет , загрузочный сектор ( VBR ) является первым сектором (логический сектор 0 с физическим адресом CHS 0/0/1 или адресом LBA 0). Для разделенных устройств хранения, таких как жесткие диски, загрузочный сектор является первым сектором раздела, как указано в таблице разделов устройства.
Блок параметров BIOS
[ редактировать ]
DOS 3,0 BPB:
Следующие расширения были задокументированы с момента DOS 3.0, однако они уже были поддержаны некоторыми проблемами DOS 2.11. [ 28 ] MS-DOS 3.10 по-прежнему поддерживал формат DOS 2.0, но также мог использовать формат DOS 3.0.
Сектор смещенное | BPB смещение | Длина (байты) | Содержимое |
---|
DOS 3,2 BPB:
Официально, MS-DOS 3.20 по-прежнему использовал формат DOS 3.0, но SYS
и FORMAT
были адаптированы для поддержки 6 байт более длинного формата (из которых не были использованы не все записи).
Сектор смещенное | BPB смещение | Длина (байты) | Содержимое |
---|---|---|---|
0x00b | 0x00 | 19 | DOS 3,0 BPB |
0x01e | 0x13 | 2 | Общие логические сектора, включая скрытые сектора. Эта запись DOS 3.2 несовместима с аналогичной записью при смещении 0x020 в BPBS с момента DOS 3,31.
Он не должен использоваться, если вход логического сектора в смещении 0x013 - ноль. |
DOS 3,31 BPB:
Официально представленные с DOS 3.31 и не использованным DOS 3.2, некоторые коммунальные услуги DOS 3.2 были разработаны, чтобы узнать об этом новом формате. Официальная документация рекомендует доверять этим ценностям, только если запись в логическом секторах в Offset 0x013 - ноль.
Сектор смещенное | BPB смещение | Длина (байты) | Содержимое |
---|
Простая формула переводит заданный номер кластера, который CN
к номеру логического сектора LSN
: [ 24 ] [ 25 ] [ 26 ]
- Определить (один раз)
SSA=RSC+FN×SF+ceil((32×RDE)/SS)
, где считать зарезервированное секторRSC
хранится в смещении 0x00e , количество жировFN
в смещении 0x010 , сектора на жирSF
в смещении 0x016 (FAT12/FAT16) или 0x024 (FAT32), записи корневого каталогаRDE
в смещении 0x011 , размер сектораSS
в смещении 0x00b иceil(x)
округливы до целого числа. - Определять
LSN=SSA+(CN−2)×SC
, где сектора на кластерSC
хранятся в смещении 0x00d .
На невозможных носителях количество скрытых секторов тома равно нулю и, следовательно, LSN
и LBA
Адреса становятся такими же, как и долго, как размер логического сектора тома идентичен размеру физического сектора лежащего в основе среды. В этих условиях также легко перевести между CHS
адреса и LSNs
также:
LSN=SPT×(HN+(NOS×TN))+SN−1
, где секторы на трассу SPT
хранятся в смещении 0x018 и количество сторон NOS
в смещении 0x01a . Номер трека TN
, номер головы HN
и номер сектора SN
соответствует цилиндрическому сектору : формула дает известную CHS для LBA перевода .
Расширенный блок параметров BIOS
[ редактировать ]Дальнейшая структура, используемая FAT12 и FAT16 со времен OS/2 1,0 и DOS 4.0, также известная как расширенный блок параметров BIOS (EBPB) (байты ниже смещения сектора 0x024 такие же, как и для DOS 3.31 BPB):
Сектор смещенное | EBPB смещение | Длина (байты) | Содержимое |
---|
FAT32 расширенный блок параметров BIOS
[ редактировать ]В сущности FAT32 вставляет 28 байтов в EBPB, а затем оставшиеся 26 (или иногда 7) байтов EBPB , как показано выше для FAT12 и FAT16. Операционные системы Microsoft и IBM определяют тип жировой файловой системы, используемой в томе исключительно по количеству кластеров, а не в использованном формате BPB или указанном типе файловой системы, то есть технически возможно использовать «FAT32 EBPB» Также для объемов FAT12 и FAT16, а также EBPB DOS 4.0 для небольших объемов FAT32. Поскольку было обнаружено, что такие объемы созданы операционными системами Windows в некоторых нечетных условиях, [ NB 6 ] Операционные системы должны быть подготовлены, чтобы справиться с этими гибридными формами.
Сектор смещенное | FAT32 EBPB смещение | Длина (байты) | Содержимое |
---|
Исключения
[ редактировать ]Версии DOS до 3.2 полностью или частично полагались на байт дескриптора среды в BPB или байт FAT ID в кластере 0 первого жира, чтобы определить форматы дискетт FAT12, даже если присутствует BPB. В зависимости от обнаруженного идентификатора FAT и обнаруженного типа диска, они по умолчанию используют один из следующих прототипов BPB вместо использования значений, фактически хранящихся в BPB. [ NB 1 ]
Первоначально, идентификатор FAT должен был быть немного флагом со всеми наборами битов, за исключением бита 2, очищенного, чтобы указать формат трека (по сравнению с 40), бит 1 очищен, чтобы указать формат 9 сектора (против 8 сектора), и бит 0 очищен, чтобы указать односторонний (по сравнению с двусторонним) форматом, [ 7 ] Но за этой схемой не последовали все OEM-производители и устарели от введения жестких дисков и форматов высокой плотности. Кроме того, различные 8-дюймовые форматы, поддерживаемые 86-DOS и MS-DOS, не соответствуют этой схеме.
ID FAT (сравните с идентификатором медиа при смещении BPB 0x0a ) [ 22 ] [ 23 ] | 0xff | 0xfe | 0xfd | 0xfc | 0xfb | 0xfa | 0xf9 | 0xf8 | 0xf0 | 0xed | 0xe5 |
---|
Microsoft рекомендует различать два 8-дюймовых формата для ID FAT 0xfe , пытаясь прочитать о адресной знаке с одной плотностью. Если это приводит к ошибке, средняя среда должна быть двумя плотностью. [ 23 ]
В таблице не указано ряд несовместимых 8-дюймовых и 5,25-дюймовых FAT12 Floppy Formats, поддерживаемых 86-DOS , которые различаются либо по размеру записей каталога (16 байтов против 32 байтов) или в размере зарезервированных Область секторов (несколько целых треков против одного логического сектора).
Реализация одностороннего формата FAT12 315 КБ, используемого в MS-DOS для абрикосового ПК и F1E [ 34 ] Имел другой макет загрузочного сектора, чтобы приспособиться к не совместимому с IBM BIOS этого компьютера. Инструкция по прыжкам и имени OEM были опущены, а параметры MS-DOS BPB (смещения 0x00b - 0x017 в стандартном загрузочном секторе) были расположены в смещении 0x050 . Портативный и , F1 , PC Duo XI FD поддерживали нестандартный двухсторонний формат 720 КБ FAT12. [ 34 ] Различия в макете загрузочного сектора и идентификаторами средств массовой информации сделали эти форматы несовместимыми со многими другими операционными системами. Параметры геометрии для этих форматов:
- 315 КБ: байты на логический сектор: 512 байтов, логические сектора на кластер: 1, зарезервированные логические секторы: 1, количество жиров: 2, корневые записи каталога: 128, Общий логический сектора: 630, жир идентификатор: идентификатор: идентификатор жира: 0xfc , логические сектора на жир: 2, физический сектора на трек: 9, количество голов: 1. [ 34 ] [ 35 ]
- 720 КБ: байты на логический сектор: 512 байтов, логические сектора на кластер: 2, зарезервированные логические сектора: 1, количество жиров: 2, корневые записи каталога: 176, Общий логический сектора: 1440, жирный идентификатор: 0xfe , логические сектора на жир: 3, физические сектора на трек: 9, количество голов: 2. [ 34 ]
Более поздние версии абрикоса MS-DOS получили возможность читать и писать диски со стандартным загрузочным сектором в дополнение к абрикосовым. Эти форматы также были поддержаны DOS Plus 2.1e/G для серии Abricot Act.
Адаптация DOS Plus для BBC Master 512 поддерживала два формата FAT12 на 80-трековых двухсторонних дисках с двумя плотностью 5,25 дюйма, которые вообще не использовали обычные секторы загрузки. Единая копия жира. [ 35 ] Первый байт перемещенного жира в логическом секторе 0 был использован для определения способности диска. Способные диски 640 КБ начались с миниатюрной файловой системы ADFS , содержащей загрузочный погрузчик, затем один жир. [ 35 ] [ 36 ] Кроме того, формат 640 КБ различался, используя физические числа секторов CHS, начиная с 0 (не 1, как общее) и увеличивая сектора в секторе-треке-направлении (а не трек сектора, как общее). [ 36 ] Жир начался в начале следующего трека. Эти различия делают эти форматы неузнаваемыми другими операционными системами. Параметры геометрии для этих форматов:
- 800 КБ: байты на логический сектор: 1024 байт, логические сектора на кластер: 1, зарезервированные логические сектора: 0, количество жиров: 1, корневые записи каталога: 192, Общий логический сектора: 800, жир идентификатор: идентификатор: идентификатор жира: 0xfd , логические сектора на жир: 2, физический сектора на трек: 5, количество голов: 2. [ 35 ] [ 36 ]
- 640 КБ: байты на логический сектор: 256 байтов, логические сектора на кластер: 8, зарезервированные логические секторы: 16, количество жиров: 1, корневые записи каталога: 112, Общий логический сектора: 2560, жирный идентификатор: 0xff , логические сектора на жир: 2, физические сектора на трек: 16, количество голов: 2. [ 35 ] [ 36 ]
DOS Plus для Master 512 также может получить доступ к стандартным дискам ПК, отформатированных до 180 КБ или 360 КБ , используя первый байт жира в логическом секторе 1 для определения пропускной способности.
Dec Rainbow 100 (все вариации) поддерживал один формат FAT12 на 80-трековых односторонних дисках 5,25 дюйма с четырехсторонней плотностью. MS-DOS использовал статический BPB в памяти). 0xf3 . Начальная загрузка 8088 была загружена Z80. Трек 1, сторона 0, сектор 2 начинается с байта Media/Fat ID 0xfa . Неформатированные диски используют 0xe5 вместо. Файловая система начинается на трассе 2, сторона 0, сектор 1. В корневом каталоге есть 2 копии жира и 96 записей. Кроме того, существует картирование с физическим и логическим треком, чтобы выполнить промежуточное сектор. Диски были отформатированы с физическими секторами в порядке, пронумерованном от 1 до 10 на каждой дорожке после зарезервированных дорожек, но логические сектора от 1 до 10 хранились в физическом секторах 1, 6, 2, 7, 3, 8, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 , 5, 10. [ 37 ]
FS Информационный сектор
[ редактировать ]«Информационный сектор FS» был введен в FAT32 [ 38 ] для ускорения времени доступа определенных операций (в частности, получение количества свободного пространства). Он расположен на номере логического сектора, указанного в записи загрузки FAT32 EBPB в позиции 0x030 (обычно логический сектор 1, сразу после самой записи загрузки).
Замена смещения | Длина (байты) | Содержимое |
---|---|---|
0x000 | 4 | FS Информационный сектор Подпись ( 0x52 0x52 0x61 0x41 = " RRaA ")
До тех пор, пока информационный сектор FS находится в логическом секторе 1, местоположение, где жир обычно начинается в файловых системах FAT12 и FAT16 (с одним зарезервированным сектором), присутствие этой подписи гарантирует, что ранние версии DOS никогда не будут Попытайтесь установить объем FAT32, так как они ожидают значения в кластере 0 и кластере 1, чтобы следовать определенным схемам битов, которые не соответствуют этой подписи. |
0x004 | 480 | Зарезервированы (значения байтов должны быть установлены на 0x00 во время формата, но не полагается и никогда не меняется позже) |
0x1e4 | 4 | FS Информационный сектор Подпись ( 0x72 0x72 0x41 0x61 = " rrAa ")
|
0x1e8 | 4 | Последнее известное количество бесплатных кластеров данных в томе, или 0xffffffff, если неизвестно. Должен быть настроен на 0xffffffff во время формата и обновляется операционной системой позже. Нельзя абсолютно полагаться, чтобы быть правильным во всех сценариях. Перед использованием этого значения операционная система должна проверить это значение меньше или равным количеству кластеров. |
0x1ec | 4 | Количество самых недавно известных как распределенный кластер данных. Должен быть настроен на 0xffffffff во время формата и обновляется операционной системой позже. С 0xffffffff Система должна начинаться в кластере 0x00000002 . Нельзя абсолютно полагаться, чтобы быть правильным во всех сценариях. Перед использованием этого значения операционная система должна проверить это значение как действительный номер кластера в томе. |
0x1f0 | 12 | Зарезервированы (значения байтов должны быть установлены на 0x00 во время формата, но не полагается и никогда не меняется позже) |
0x1fc | 4 | FS Информационный сектор Подпись ( 0x00 0x00 0x55 0xaa ) [ 4 ] [ NB 2 ] (Все четыре байта должны соответствовать до того, как содержимое этого сектора будет предположить, что он будет в достоверном формате.) |
Данные сектора могут быть устаревшими и не отражать текущее содержимое носителя, потому что не все операционные системы обновляются или используют этот сектор, и даже если они это делают, содержимое недопустимо, когда среда была выброшена без надлежащего неисправности объема или после силовая обстановка. Следовательно, операционные системы должны сначала осмотреть дополнительные битфлаги состояния отключения, находящиеся при входе жира кластера 1 или EBPB FAT32 при смещении 0x041 и игнорируйте данные, хранящиеся в информационном секторе FS, если эти битфлаги указывают на то, что объем не был должным образом не установлен ранее. Это не вызывает никаких проблем, кроме возможного штрафа о скорости для первого запроса на свободное пространство или распределения кластеров данных; Смотрите фрагментацию .
Если этот сектор присутствует на объеме FAT32, минимальный разрешенный размер логического сектора составляет 512 байт, тогда как в противном случае это будет 128 байт. Некоторые реализации FAT32 подтверждают небольшое изменение спецификации Microsoft, делая сектор информации FS необязательным, указав значение 0xffff [ 19 ] (или 0x0000 ) в записи при смещении 0x030 .
Жирный регион
[ редактировать ]Таблица распределения файлов
[ редактировать ]
Кластерная карта
[ редактировать ]Эта статья может чрезмерно использовать или злоупотреблять цветом, что затрудняет понимание цветовых слепого пользователей . |
Область данных тома делится на кластеры одинакового размера - широкие блоки смежного пространства. Размеры кластеров варьируются в зависимости от типа используемой жировой файловой системы и размера диска; Типичные размеры кластеров варьируются от 2 до 32 киб . [ 39 ]
Каждый файл может занимать один или несколько кластеров в зависимости от его размера. Таким образом, файл представлен цепочкой кластеров (называется отдельным списком ). Эти кластеры не обязательно хранятся рядом друг с другом на поверхности диска, но часто вместо этого фрагментируются по всей области данных.
Каждая версия Fat File System использует различный размер для жирных записей. Меньшие числа приводят к меньшему жиру, но отработанное пространство в больших перегородках, необходимая для распределения в больших кластерах.
Файловая система FAT12 использует 12 бит на вход на жир, таким образом, две записи охватывают 3 байта. Это неизменно мало-эндиан : если эти три байта считаются одним из 24-битных числа маленького эндэдиана, 12 наименее значимых битов представляют собой первую запись (например, кластер 0) и 12 наиболее значимых битов во втором (например, кластер 1) Полем Другими словами, в то время как низкие восемь битов первого кластера в ряду хранятся в первом байте, четыре лучших бита хранятся в низкой шкуре второго байта, тогда как низкие четыре бита последующего кластера в ряду хранятся в высоком шкуре второго байта и его более высоких восемь битов в третьем байте.
Компенсировать | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +А | +Б | +C | +D. | +И | +F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+0000 | Пл | Ф | Фф | 03 | 40 | 00 | 05 | 60 | 00 | 07 | 80 | 00 | Фф | Ф | 00 | 14 |
+0010 | C 0 | 00 | 0D | E0 | 00 | 0f | 00 | 01 | 11 | F 0 | Фф | 00 | F 0 | Фф | 15 | 60 |
+0020 | 01 | 19 | 7 0 | Фф | F7 | Ф | 01 | Фф | 0 f | 00 | 00 | 7 0 | Фф | 00 | 00 | 00 |
- Идентификатор жира / маркер эндианности (в зарезервированном кластере № 0 ), с 0xf0, указывающим на объем на необоснованном суперффирном диске (должен быть 0xf8 для разделенных дисков)
- Конец цепочки индикатора / флага обслуживания (в зарезервированном кластере № 1 )
- Вторая цепь (7 кластеров) для нефгментированного файла (здесь: #2, #3, #4, #5, #6, #7, #8)
- Третья цепь (7 кластеров) для фрагментированного, возможно, выращенного файла (здесь: #9, #A, #14, #15, #16, #19, #1A)
- Четвертая цепь (7 кластеров) для нефгментированного, возможно, усеченного файла (здесь: #B, #C, #D, #E, #F, #10, #11)
- Пустые кластеры (здесь: #12, #1B, #1C, #1E, #1F)
- Пятая цепочка (1 кластер) для подчинка (здесь: #13)
- Плохие кластеры (3 кластера) (здесь: #17, #18, #1d)
Файловая система FAT16 использует 16 бит на вход на жир, таким образом , одна запись охватывает два байта в матч-эндэндинском байтовом порядке:
Компенсировать | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +А | +Б | +C | +D. | +И | +F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+0000 | Пл | Фф | Фф | Фф | 03 | 00 | 04 | 00 | 05 | 00 | 06 | 00 | 07 | 00 | 08 | 00 |
+0010 | Фф | Фф | 0A | 00 | 14 | 00 | 0C | 00 | 0D | 00 | 0e | 00 | 0f | 00 | 10 | 00 |
+0020 | 11 | 00 | Фф | Фф | 00 | 00 | Фф | Фф | 15 | 00 | 16 | 00 | 19 | 00 | F7 | Фф |
+0030 | F7 | Фф | 1A | 00 | Фф | Фф | 00 | 00 | 00 | 00 | F7 | Фф | 00 | 00 | 00 | 00 |
Файловая система FAT32 использует 32 бита на вход на жир, таким образом , одна запись охватывает четыре байта в байтовом порядке. Четыре верхних бита каждой записи зарезервированы для других целей; Они очищаются во время форматирования и не должны быть изменены иначе. Они должны быть замаскированы, прежде чем интерпретировать запись как 28-битный адрес кластера.
Компенсировать | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | +8 | +9 | +А | +Б | +C | +D. | +И | +F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+0000 | Пл | Фф | Фф | 0f | Фф | Фф | Фф | 0f | Фф | Фф | Фф | 0f | 04 | 00 | 00 | 00 |
+0010 | 05 | 00 | 00 | 00 | 06 | 00 | 00 | 00 | 07 | 00 | 00 | 00 | 08 | 00 | 00 | 00 |
+0020 | Фф | Фф | Фф | 0f | 0A | 00 | 00 | 00 | 14 | 00 | 00 | 00 | 0C | 00 | 00 | 00 |
+0030 | 0D | 00 | 00 | 00 | 0e | 00 | 00 | 00 | 0f | 00 | 00 | 00 | 10 | 00 | 00 | 00 |
+0040 | 11 | 00 | 00 | 00 | Фф | Фф | Фф | 0f | 00 | 00 | 00 | 00 | Фф | Фф | Фф | 0f |
+0050 | 15 | 00 | 00 | 00 | 16 | 00 | 00 | 00 | 19 | 00 | 00 | 00 | F7 | Фф | Фф | 0f |
+0060 | F7 | Фф | Фф | 0f | 1A | 00 | 00 | 00 | Фф | Фф | Фф | 0f | 00 | 00 | 00 | 00 |
+0070 | 00 | 00 | 00 | 00 | F7 | Фф | Фф | 0f | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
- Первая цепь (1 кластер) для корневого каталога, на которую указана запись в FAT32 BPB (здесь: #2)
- Вторая цепь (6 кластеров) для нефгментированного файла (здесь: #3, #4, #5, #6, #7, #8)
Таблица распределения файлов ( FAT ) представляет собой смежное количество секторов сразу же после области зарезервированных секторов. Он представляет список записей, которые отображают каждый кластер в томе. Каждая запись записывает одну из четырех вещей:
- номер кластера следующего кластера в цепи
- Специальный конец записи кластерной цепь ( EOC ), который указывает на конец цепи
- Специальная запись, чтобы отметить плохой кластер
- ноль, чтобы отметить, что кластер не используется
Для очень ранних версий DOS для распознавания файловой системы система должна была быть загружена из тома, или жир тома должен начинаться со второго сектора тома (логический сектор 1 с физическим адресом CHS 0/0/2 или адресом LBA 1) , то есть сразу после загрузочного сектора. Операционные системы предполагают, что это жесткое местоположение жира, чтобы найти идентификатор жира в записи жирового кластера 0 на DOS 1,0-1.1 Fat Diskettes, где не найдено достоверного BPB.
Специальные записи
[ редактировать ]Первые две записи в жирном магазине Специальные значения:
Первая запись (кластер 0 в жире) содержит идентификатор жира, поскольку MS-DOS 1.20 и PC DOS 1.1 (допустимые значения 0xf0 - 0xff с 0xf1 - 0xf7 зарезервировано) в битах 7-0, которые также скопируются в BPB сектора загрузки, Offset 0x015 , так как DOS 2.0. Оставшиеся 4 бита (если FAT12), 8 битов (если FAT16) или 20 бит (если FAT32, 4 бита MSB равны нулю) от этой записи всегда 1. Эти значения были установлены так, чтобы вход также функционировал как " ловушка All "Маркер конец цепи для всех кластеров данных, содержащих ноль. Кроме того, для идентификаторов жира, кроме как 0xff (и 0x00 ) Можно определить правильный порядок кулачков и байтов (который используется), используемым драйвером файловой системы, однако, Fat-файловая система официально использует только небольшое представление, и нет известных реализаций вариантов с использованием Big-Endian Значения вместо. 86-DOS 0,42 до MS-DOS 1,14 Используемые жесткие профили привода вместо жирового идентификатора, но использовали этот байт для различения среды, отформатированных с 32-байтовыми или 16-байтовыми записями, поскольку они использовались до 86- DOS 0,42.
Вторая запись (кластер 1 в жирном), номинально сохраняющая маркер с конечной классовой цепью, используемый форматором, но обычно всегда удерживает 0xfff / 0xffff / 0x0ffffffff , то есть за исключением битов 31-28 на томах FAT32 Эти биты обычно всегда устанавливаются. Некоторые операционные системы Microsoft, однако, устанавливают эти биты, если объем не является томом, удерживающей работающую операционную систему (то есть использование 0xffffffff вместо 0x0ffffffff здесь). [ 40 ] (В сочетании с альтернативными маркерами конца цепочки самые низкие биты 2-0 могут стать нулевым для самого низкого допускаемого маркера в конце цепочки 0xff8 / 0xfff8 / 0x? Ffffff8 ; Бит 3 должен быть зарезервирован так же, учитывая, что кластеры 0xff0 / 0xfff0 / 0x? Ffffff0 и выше официально зарезервированы. Некоторые операционные системы могут не иметь возможности установить некоторые объемы, если какие-либо из этих битов не установлены, поэтому маркер в конце цепочки по умолчанию не следует изменять.) Для DOS 1 и 2 запись была задокументирована как зарезервировано для будущего использования. Полем
Поскольку DOS 7.1 в двух наиболее значимых битах этой записи кластера могут содержать два дополнительных битфлага, представляющих текущий статус объема на FAT16 и FAT32, но не на объемах FAT12. Эти битфлаги не поддерживаются всеми операционными системами, но операционные системы, поддерживающие эту функцию
Если бит 15 (на FAT16) или бит 27 (на FAT32) [ 41 ] не устанавливается при установке объема, объем не был должным образом отстранен перед отключением или выбросом и, следовательно, находится в неизвестном и, возможно, «грязном» состоянии. [ 27 ] В объемах FAT32 информационный сектор FS может хранить устаревшие данные и, следовательно, не следует использовать. Операционная система обычно запускает Scandisk или CHKDSK при следующем стартапе [ NB 9 ] [ 41 ] (но не при введении съемных носителей), чтобы обеспечить и, возможно, восстановить целостность тома.
Если бит 14 (на FAT16) или бит 26 (на FAT32) [ 41 ] очищено, операционная система столкнулась с ошибками ввода -вывода диска при запуске, [ 41 ] Возможное указание для плохих секторов. Операционные системы, осведомленные об этом расширении, будут интерпретировать это как рекомендацию по проведению поверхностного сканирования ( скандиск ) на следующей загрузке. [ 27 ] [ 41 ] (Аналогичный набор битфлагов существует в EBPB FAT12/FAT16 при смещении 0x1a или FAT32 EBPB при смещении 0x36 . В то время как запись кластера 1 может быть доступна драйверами файловых систем после того, как они установили громкость, запись EBPB доступна, даже когда объем не установлен и, следовательно, легче использовать драйверами устройства дискового блока или инструментами разделения.)
Если количество жиров в BPB не установлено на 2, вторая запись кластера в первом жире (кластер 1) также может отражать состояние объема TFAT для операционных систем AWAR. Если запись кластера 1 в этом жире содержит значение 0, это может указывать на то, что второй жир представляет собой последнее известное действительное состояние транзакции и должен быть скопирован по первым жирам, тогда как первый жир должен быть скопирован над вторым жиром, если все биты установлены.
Некоторые нестандартные реализации FAT12/FAT16 используют запись кластера 1 для хранения стартового кластера корневого каталога размером с переменного размера (обычно 2 [ 33 ] ) Это может произойти, когда количество записей корневых каталогов в BPB содержит значение 0, а EBPB не найдена FAT32 (нет подписи 0x29 или 0x28 при смещении 0x042 ). [ 20 ] Это расширение, однако, не поддерживается основными операционными системами, [ 20 ] как это противоречит другим возможным использованию записи кластера 1. Большинство конфликтов можно исключить, если это расширение разрешено только для FAT12 с меньшим количеством, чем 0xFEF и FAT16 Объемы с меньшим количеством, чем 0x3FEF кластеры и 2 жира.
Поскольку эти первые две жирные записи хранят специальные значения, нет кластеров данных 0 или 1. Первым кластером данных (после корневого каталога, если FAT12/FAT16) является кластер 2, [ 33 ] Маркировка начала области данных.
Значения кластера
[ редактировать ]Значения входа жира:
FAT12 | FAT16 | FAT32 | Описание |
---|---|---|---|
0x000 | 0x0000 | 0x? | Бесплатный кластер; Также используется DOS для обозначения начального кластера родительского каталога в «..». Записи подкаталогов корневого каталога на томах FAT12/FAT16. [ 42 ] [ 6 ]
В противном случае, если это значение происходит в кластерных цепях (например, в записях каталогов нулевой длины или удаленных файлов), реализации файловой системы должны рассматривать это как маркер в конце цепочки. [ 7 ] |
0x001 | 0x0001 | 0x? | Зарезервировано для внутренних целей; MS-DOS/PC DOS Используйте это значение кластера в качестве временного не свободного индикатора кластера при конструировании кластерных цепей во время распределения файлов (только на диске, только если в середине этого процесса наблюдается сбой или сбой питания). [ 42 ] [ 6 ]
Если это значение происходит в сети кластеров в дисках, реализации файловой системы должны рассматривать это как маркер в конце цепочки. |
0x002 - 0xfef | 0x0002 - 0xffef (0x0002 - 0x7fff) | 0x? 0000002 - 0x? Fffffef | Используется в качестве кластеров данных; Значение указывает на следующий кластер. MS-DOS/PC DOS принимает значения до 0xfef / 0xffef / 0x0ffffffef (иногда больше; см. Ниже), тогда как для Atari Gemdos значения только до 0x7fff допускаются на томах FAT16. |
0xff0 [ NB 10 ] - 0xff5 (0xff1 - 0xff5) | 0xfff0 - 0xfff5 | 0x? Ffffff0 - 0x? Ffffff5 | Зарезервировано в некоторых контекстах, [ 43 ] или также используется [ 24 ] [ 25 ] [ 26 ] [ 4 ] [ 44 ] в качестве кластеров данных в некоторых нестандартных системах. Размеры объема, которые будут использовать эти значения в качестве кластеров данных, следует избегать, но если эти значения происходят в существующих объемах, файловая система должна рассматривать их как нормальные кластеры данных в кластерных цепи (в идеале применять дополнительные проверки здравомыслия), аналогично тому, что MS- DOS, ПК DOS и DR-DOS DO, [ 6 ] и следует избегать выделения их на файлы иначе.
MS-DOS/PC DOS 3.3 и более высокие обработки значения 0xff0 [ NB 10 ] [ 6 ] на объемах FAT12 (но не на FAT16 или FAT32) в качестве дополнительного маркера в конце цепочки, аналогично 0xff8 - 0xfff . [ 6 ] Для совместимости с MS-DOS/PC DOS файловые системы должны избегать использования кластера данных 0xff0 в кластерных цепях на объемах FAT12 (то есть рассматривать его как зарезервированный кластер, похожий на 0xff7 ). (Nb. Переписка низкого байта номера кластера с идентификатором FAT и значениями дескриптора среды является причиной, почему эти значения кластера зарезервированы.) |
0xff6 | 0xfff6 | 0x? Ffffff6 | Сдержанный; Не используйте. [ 24 ] [ 25 ] [ 26 ] [ 4 ] [ 21 ] [ 44 ] (Nb. Соответствует значению заполнителя формата по умолчанию 0xf6 на IBM-совместимых машинах.) Не следует создавать объемы, которые использовали бы это значение в качестве кластера данных, но если это значение происходит в существующих томах, файловая система должна рассматривать его как нормальный кластер данных в кластерах (в идеале применять дополнительные проверки санита ) и следует избегать распределения его для файлов иначе. [ 7 ] |
0xff7 | 0xfff7 | 0x? Ffffff7 | Плохой сектор в кластере или зарезервированном кластере (с момента DOS 2.0).
Значения сокращения для максимального количества кластеров для файловых систем FAT12 и FAT16 определяются как таковые, что максимально возможные значения кластера данных ( 0xff5 и 0xfff5 , [ 6 ] соответственно) всегда будет меньше этого значения. [ 6 ] Следовательно, это значение обычно не может происходить в кластерных цепи, но если оно это происходит, оно может рассматриваться как нормальный кластер данных, поскольку 0xff7 мог быть нестандартным кластером данных на томах FAT12 до введения маркера Bad Cluster с DOS 2.0 или введением FAT16 с DOS 3.0, [ 7 ] и 0xfff7 мог бы быть нестандартным кластером данных на объемах FAT16 до введения FAT32 с DOS 7.10. Теоретически, 0x0ffffff7 может быть частью действительной кластерной цепи на объемах FAT32, но дисковые утилиты должны избегать создания объемов FAT32, где это условие может возникнуть. Файловая система должна избежать выделения этого кластера для файлов. [ 7 ] Дисковые утилиты не должны пытаться восстановить «потерянные кластеры», удерживая это значение в жире, но считают их плохими кластерами. |
0xff8 - 0xfff (и необязательно 0xff0; [ NB 10 ] см. примечание) | 0xfff8 - 0xffff | 0x? Ffffff8 - 0x? Fffffff | Последний кластер в файле (EOC). Реализации файловой системы должны рассматривать все эти значения как маркер в конце цепь одновременно. [ 7 ] Большинство реализаций файловой системы (включая 86-DOS, MS-DOS, PC DOS и DR-DOS) 0xfff [ 7 ] / 0xffff [ 7 ] / 0x0fffffffff как маркер окончания файла при распределении файлов, но версии Linux до 2.5.40 0xff8 / 0xfff8 / 0x0ffffff8 . [ 45 ] Версии mkdosfs ( dosfstools до 3,0.26) продолжают использовать 0x0fffffff8 для корневого каталога на объемах FAT32, тогда как некоторые инструменты для восстановления и дефрагментации дисков используют другие значения в наборе (например, скандиск может использовать 0xff8 / 0xfff8 / 0x0ffffff8 вместо этого). В то время как в оригинальной 8-битной реализации FAT Microsoft в отдельных дисках базовые маркеры различных конечных маркеров ( 0xc0 .. 0xcd ) использовались для указания количества секторов (от 0 до 13), используемых в последнем кластере, занятом файлом, различные конечные маркеры были перепрофилированы в DOS, чтобы указать различные типы среды, [ 7 ] Однако с использованным в настоящее время конечным маркером, указанным в записи кластера 1 , однако, эта концепция, по -видимому, не была широко использована на практике, и в той степени, в которой в некоторых сценариях объемы не могут быть распознаны некоторыми операционными системами, если некоторые из Биты низкого порядка значения, хранящегося в кластере 1, не установлены. Кроме того, некоторые неправильные реализации файловой системы только принимают 0xfff / 0xffff / 0x? Fffffff как действительный маркер в конце цепочки.
Реализации файловой системы должны проверять значения кластеров в кластерных цепях по сравнению с максимально разрешенным значением кластера, рассчитанным по фактическому размеру объема и обрабатывают более высокие значения, как если бы они были также маркерами в конце цепи. (Низкий байт числа кластера концептуально соответствует значениям идентификатора Fat и дескрипторов среды ; [ 7 ] См. Примечание выше для MS-DOS/PC DOS Специальное использование 0xff0 [ NB 10 ] на томах FAT12. [ 6 ] ) |
FAT32 использует 28 бит для номеров кластеров. Оставшиеся 4 бита в 32-битном входе жира обычно имеют равные, но зарезервированы и должны оставаться нетронутыми. Стандартный драйвер файловой системы FAT32 или инструмент технического обслуживания не должен полагаться на то, что верхние 4 бита будут равны нулю, и он должен снять их перед оценкой номера кластера, чтобы справиться с возможными будущими расширениями, где эти биты могут использоваться для других целей. Они не должны быть очищены драйвером файловой системы при распределении новых кластеров, но должны быть очищены во время переформата.
Корневый справочник области
[ редактировать ]Таблица корневых каталогов в файловых системах FAT12 и FAT16 занимает местоположение в области корневой области каталогов .
Область данных
[ редактировать ]Помимо таблицы корневых каталогов в файловых системах FAT12 и FAT16, которая занимает местоположение региона корневых каталогов , все таблицы каталогов хранятся в области данных. Фактическое количество записей в каталоге, хранящихся в области данных, может расти, добавив еще один кластер в цепь в жире.
Таблица каталогов
[ редактировать ]Таблица каталогов - это специальный тип файла, который представляет каталог (также известный как папка). С 86 до 0,42 , [ 46 ] Каждый файл или (так как MS-DOS 1.40 и PC DOS 2.0), хранящийся внутри него, представлен 32-байтовой записью в таблице. Каждая запись записывает имя, расширение, атрибуты ( архив , каталог, скрытый, только для чтения, система и том), адрес первого кластера данных файла/каталога, размер файла/каталога и даты [ 46 ] и (поскольку ПК DOS 1.1) также время последней модификации. Более ранние версии 86-дос использовали только 16-байтовые записи каталога, поддерживая отсутствие файлов, более 16 МБ и отсутствие времени последней модификации. [ 46 ]
Сама файловая система FAT не вкладывает никаких ограничений на глубину подкатарийного дерева до тех пор, пока существуют бесплатные кластеры, доступные для распределения подкаталогов, однако внутренняя структура каталога тока (CDS) под MS-DOS/PC DOS ограничивает Абсолютный путь каталога до 66 символов (включая букву диска, но за исключением разделителя байта NUL), [ 24 ] [ 25 ] [ 26 ] тем самым ограничивая максимальную поддерживаемую глубину подкаталогов до 32, что бы ни произошло раньше. Параллельные DOS, многопользовательские DOS и DR DOS с 3,31 до 6.0 (до включения обновлений 1992-11) не хранят абсолютные пути к рабочим каталогам внутри и, следовательно, не показывают это ограничение. [ 47 ] То же самое относится и к Atari Gemdos, но настольный компьютер Atari не поддерживает более 8 уровней подчинка. Большинство приложений осведомлены об этих путях поддержки расширения, по крайней мере, до 127 байтов. Flexos, 4680 OS и 4690 OS также поддерживают длину до 127 байтов, что позволяет глубины до 60 уровней. [ 48 ] Palmdos, DR DOS 6.0 (с BDOS 7.1) и выше, Novell DOS и Opendos имеют CD-CD-совместимые с MS-DOS и, следовательно, имеют такие же ограничения длины, как MS-DOS/PC DOS.
Каждой записи могут предшествовать «поддельные записи», чтобы поддержать длинное имя файла VFAT (LFN); Смотрите далее ниже.
Юридические персонажи для коротких имен файлов DOS включают следующее:
- Верхние буквы
A
–Z
- Числа
0
–9
- Пространство (хотя пространства для зацепленных пространств либо в базовом имени, либо в расширении считаются прокладками, а не частью имени файла; также имена файлов с пространством в них не могут быть легко использованы в командной строке DOS до Windows 95 из -за Отсутствие подходящей системы бега ). Еще одним исключением являются внутренние команды
MKDIR
/MD
иRMDIR
/RD
в соответствии с DR-DOS, которые принимают отдельные аргументы и, следовательно, позволяют ввести пространства. ! # $ % & ' ( ) - @ ^ _ ` { } ~
- Персонажи 128–228
- Персонажи 230–255
Это исключает следующие символы ASCII :
" * / : < > ? \ |
Windows/MS-DOS не имеет символа выхода из оболочки+ , . ; = [ ]
Разрешен только в длинных именах файлов- Нижние буквы
a
–z
Хранится какA
–Z
; разрешен в длинных именах файлов - Управляющие символы 0–31
- Символ 127 (DEL)
Персонаж 229 ( 0xe5 ) не был разрешен в качестве первого символа в имени файла в DOS 1 и 2 из -за его использования в качестве маркера бесплатного входа. Был добавлен специальный случай, чтобы обойти это ограничение с помощью DOS 3.0 и выше.
Следующие дополнительные символы допускаются на Gemdos от Atari, но следует избегать совместимости с MS-DOS/PC DOS:
" + , ; < = > [ ] |
Полуколон ( ;
) следует избегать в именах файлов в рамках DR DOS 3.31 и выше, Palmdos, Novell DOS, Opendos, одновременной DOS, Multiuser DOS, System Manager и Real/32, потому что он может противоречить синтаксису, чтобы указать пароли файлов и каталогов: " ...\DIRSPEC.EXT;DIRPWD\FILESPEC.EXT;FILEPWD
". Операционная система будет снять один [ 47 ] (а также два-с точки зрения DR-DOS 7.02) полуколоны и ожидающие пароли от имен файлов, прежде чем хранить их на диске. (Командный процессор 4DOS использует полуколоны для включения списков и требует, чтобы полуколон был удвоен для файлов, защищенных паролем, с любыми командами, поддерживающими подстановочные знаки. [ 47 ] )
Персонаж At-Sign ( @
) используется для FileLists многими DR-DOS, Palmdos, Novell DOS, Opendos и Multiuser DOS, системным менеджером и реальными/32 командами, а также 4DO и, следовательно, иногда могут быть трудно использовать в именах файлов. [ 47 ]
При многопользовательской DOS и Real/32 восклицательный знак (!) Не является допустимым символом файла, поскольку он используется для разделения нескольких команд в одной командной строке. [ 47 ]
Под ОС IBM 4680 и 4690 ОС, следующие символы не допускаются в именах файлов:
? * : . ; , [ ] ! + = < > " - / \ |
Кроме того, следующие специальные символы не допускаются в первом, четвертом, пятом и восьмом символе имени файла, поскольку они вступают в конфликт с командным процессором хоста (HCP) и таблицы входных последовательностей.
@ # ( ) { } $ &
Имена файлов DOS находятся в текущем наборе символов OEM : это может иметь удивительные эффекты, если символы, обрабатываемые одним способом для данной кодовой страницы, интерпретируются по -разному для другой кодовой страницы (команда DOS CHCP
) в отношении нижнего и верхнего регистра, сортировка или достоверность в качестве символа имени файла.
Запись в каталоге
[ редактировать ]Перед тем, как Microsoft добавила поддержку для длинных имен файлов и марков времени создания/доступа, байтов 0x0c - 0x15 записи каталога использовалась другими операционными системами для хранения дополнительных метаданных, в частности, операционными системами хранимых паролей для семейства цифровых исследований, прав доступа, идентификаторов владельца и данных удаления файлов. Хотя новые расширения Microsoft не полностью совместимы с этими расширениями по умолчанию, большинство из них могут сосуществовать в реализации сторонних жиров (по крайней мере, на объемах FAT12 и FAT16).
32-байтовые записи каталога, как в области корневого каталога, так и в подкаталогах, имеют следующее формат (см. Также 8.3 имени файла ):
Замена смещения | Длина (байты) | Содержимое |
---|
ОС FLEXOS ОС на основе IBM 4680 OS и IBM 4690 ОС поддерживают уникальные атрибуты распределения, хранящиеся в некоторых битах ранее зарезервированных областей в записях каталога: [ 62 ]
- Локальный: не распространяйте файл, но продолжайте только локальный контроллер. [ NB 14 ]
- Зеркальный файл в обновлении: распространите файл на сервер только при обновлении файла.
- Зеркальный файл на закрытии: распределить файл на сервер только при закрытии файла.
- Составной файл в обновлении: распределить файл для всех контроллеров при обновлении файла.
- Составной файл на закрытии: распределить файл для всех контроллеров, когда файл закрыт. [ 63 ]
Некоторые несовместимые расширения, обнаруженные в некоторых операционных системах, включают в себя:
Замена смещения | Длина (байты) | Система | Описание |
---|
Пределы размера
[ редактировать ]Варианты FAT12, FAT16, FAT16B и FAT32 в FAT -файловых системах имеют четкие ограничения на основе количества кластеров и количества секторов на кластер (1, 2, 4, ..., 128). Для типичного значения 512 байтов на сектор:
FAT12 Требования: 3 сектора на каждой копии жира на каждые 1024 кластера
FAT16 Требования: 1 сектор на каждой копии жира на каждые 256 кластеров
FAT32 Требования: 1 сектор на каждой копии жира на каждые 128 кластеров
Диапазон FAT12: от 1 до 4084 кластеров: от 1 до 12 секторов на копию жира
Диапазон FAT16: от 4085 до 65 524 кластеров: от 16 до 256 секторов на копию жира
Диапазон FAT32: от 65 525 до 268 435 444 кластеров: от 512 до 2 097 152 секторов на копию жира
FAT12 Минимум: 1 сектор на кластер × 1 кластеры = 512 байт (0,5 года)
FAT16 Минимум: 1 сектор на кластер × 4,085 кластеров = 2 091 520 байт (2 042,5 КБ)
FAT32 Минимум: 1 сектор на кластер × 65 525 кластеров = 33 548 800 байт (32 762,5 КБ)
FAT12 Максимум: 64 сектора на кластер × 4,084 кластеры = 133 824 512 байтов (≈ 127 МБ)
[FAT12 Максимум: 128 секторов на кластер × 4,084 кластера = 267 694 024 байт (≈ 255 МБ)]]
FAT16 Максимум: 64 сектора на кластер × 65 524 кластеры = 2147 090 432 байта (≈2,047 МБ)
[FAT16 Максимум: 128 секторов на кластер × 65 524 кластеры = 4 294,180 864 байт (≈4,095 МБ)]]
FAT32 Максимум: 8 секторов на кластер × 268 435 444 кластера = 1 099 511 578 624 байтов (≈1,024 ГБ)
FAT32 Максимум: 16 секторов на кластер × 268 173 557 кластеров = 2196 877,778 944 байт (≈2 046 ГБ)
[FAT32 Максимум: 32 сектора на кластер × 134,152,181 кластеры = 2197 949,333,504 байт (≈2 047 ГБ)]]
[FAT32 Максимум: 64 сектора на кластер × 67 092 469 кластеров = 2198 486 024,192 байт (≈2 047 ГБ)]]
[FAT32 Максимум: 128 секторов на кластер × 33 550 325 кластеров = 2198 754,099 200 байт (≈2 047 ГБ)]]
- Легенда: 268435444+3 IS 0x0FFFFFF7 , потому что FAT32 Версия 0 использует только 28 бит в 32-битных номерах кластеров, номера кластеров 0x0ffffff7 до 0x0fffffffff Flag Bad Clasters или конец файла, номер кластера 0 флаги Free Cluster, а кластер номер 1 не используется. [ 33 ] Аналогично 65524+3 IS 0xfff7 для FAT16 и 4084+3 0xff7 для FAT12. Количество секторов на кластер является мощностью 2 подгонки за один байт, наименьшее значение - 1 ( 0x01 ), самое большое значение - 128 ( 0x80 ). Линии в квадратных кронштейнах указывают необычный размер кластера 128, а для FAT32 больше, чем необходимые размеры кластеров 32 или 64. [ 64 ]
Поскольку каждая запись FAT32 занимает 32 бита (4 байта), максимальное количество кластеров (268435444) требует 2097152 жирных секторов для размера сектора 512 байт. 2097152 IS 0x200000 , и хранение этого значения требует более двух байтов. Следовательно, FAT32 ввел новое 32-разрядное значение в секторе загрузки FAT32 сразу после 32-битного значения для общего количества секторов, представленных в варианте FAT16B.
Расширения записей загрузки, представленные с DOS 4.0, начинаются с Magic 40 ( 0x28 ) или 41 ( 0x29 ). Как правило, толстые драйверы смотрят только на количество кластеров, чтобы различать FAT12, FAT16 и FAT32: Человеческие читаемые струны, идентифицирующие жирный вариант в загрузке, игнорируются, поскольку они существуют только для среды, отформатированных с DOS 4.0 или более поздней версии.
Определение количества записей каталогов на кластер является простым. Каждая запись занимает 32 байта; Это приводит к 16 записям на сектор для размера сектора 512 байтов. DOS 5 RMDIR
/ RD
Команда удаляет начальную " .
"(Этот каталог) и" ..
"(родительский каталог) Записи в подкатализациях непосредственно, поэтому размер 32 сектора на оперативном диске возможен для FAT12, но требуется 2 или более секторов на кластер. Сектор Bat12 без расширения DOS 4 нуждается в 29 байт до первого ненужного жира16B 32 -bit Количество скрытых секторов, это оставляет три байта для (на невыполнном код загрузки (на оперативном диске) и магии 0x55 0xaa в конце всех секторов загрузки. В Windows NT наименьший размер поддерживаемого сектора составляет 128.
В Windows NT операционных системах FORMAT
Параметры команды /A:128K
и /A:256K
соответствуют максимальному размеру кластера 0x80
(128) с размером сектора 1024 и 2048, соответственно. Для общего сектора размером 512 /A:64K
Выход 128 секторов на кластер.
Оба издания каждого ECMA-107 [ 24 ] и ISO/IEC 9293 [ 25 ] [ 26 ] Укажите максимальный номер кластера MAX
определяется формулой MAX=1+trunc((TS-SSA)/SC)
и резервные номера кластеров MAX+1
до 4086 ( 0xff6 , fat12), а затем 65526 ( 0xfff6 , fat16) для будущей стандартизации.
Спецификация Microsoft EFI FAT32 [ 4 ] утверждает, что любая жира -файловая система с менее чем 4085 кластерами является FAT12, в противном случае любая жира -файловая система с менее чем 65 525 кластерами является FAT16, а в противном случае это FAT32. Запись для кластера 0 в начале жира должна быть идентична байту дескриптора среды, обнаруженного в BPB, тогда как запись для кластера 1 отражает значение конец цепочки, используемое форматером для кластерных цепей ( 0xfff , 0xffff или 0x0ffffffff ). Записи для кластерных номеров 0 и 1 заканчиваются на границе байта даже для FAT12, например, 0xf9ffff для дескриптора медиа 0xf9 .
Первый кластер данных - 2, [ 33 ] и, следовательно, последний кластер MAX
получает номер MAX+1
Полем Это приводит к номерам кластеров данных 2 ... 4085 ( 0xff5 ) для FAT12, 2 ... 65525 ( 0xfff5 ) для FAT16 и 2 ... 268435445 ( 0x0ffffff5 ) для FAT32.
Следовательно, единственные доступные значения, зарезервированные для будущей стандартизации 0xff6 (FAT12) и 0xfff6 (FAT16). Как отмечено ниже «Менее 4085» также используется для реализаций Linux, [ 44 ] Или, как Microsoft : выражается спецификация жира [ 4 ]
... когда это говорит <, это не означает <=. Обратите внимание также, что цифры верны. Первый номер для FAT12 составляет 4085; Второе число для FAT16 составляет 65525. Эти цифры и «<» знаки не ошибаются ».
Фрагментация
[ редактировать ]
Файловая система FAT не содержит встроенных механизмов, которые предотвращают разбросаны вновь написанные файлы по всему разделу. [ 65 ] В объемах, где файлы часто создаются и удаляются или их длины часто меняются, среда со временем становится все более фрагментированной.
В то время как проектирование жировой файловой системы не вызывает каких -либо организационных накладных расходов в структурах дисков или уменьшает количество свободного хранилища с увеличением количества фрагментации , как это происходит с внешней фрагментацией , время, необходимое для чтения и записи фрагментированных файлов Операционная система должна будет следовать по цепям кластеров в жире (с частями нужно загружать в память, в частности, в больших объемах) и прочитать соответствующие данные, физически рассеянные по всей среде, снижая шансы для драйвера устройства блока низкого уровня. Чтобы выполнить многосекторный диск ввода/вывода или инициировать более крупные передачи DMA, тем самым эффективно увеличивая накладные расходы протокола ввода-вывода, а также движение руки и время рассеяния головы внутри диска. Кроме того, файловые операции станут медленнее с растущей фрагментацией, поскольку операционной системе требуется все больше времени для поиска файлов или бесплатных кластеров.
Другие файловые системы, например, HPFS или EXFAT , используют растровые карты свободного пространства , которые указывают используемые и доступные кластеры, которые затем можно быстро посмотреть, чтобы найти свободные смежные области. Другое решение - это связь всех бесплатных кластеров в один или несколько списков (как это делается в файловых системах Unix ). Вместо этого жир должен быть отсканирован как массив, чтобы найти бесплатные кластеры, что может привести к штрафам на производительность с большими дисками.
Фактически, поиск файлов в больших подкаталогах или вычисление свободного дискового пространства на объемах жира является одной из наиболее ресурсоемких операций, поскольку он требует чтения таблиц каталогов или даже всего линейного жира. Поскольку общее количество кластеров и размер их записей в жире все еще были небольшими на объемах FAT12 и FAT16, это все еще можно переносить на томах FAT12 и FAT16 большую часть времени, учитывая, что введение более сложных дисковых структур будет иметь Также увеличило сложность и следы памяти операционных систем реального режима с их минимальными общими требованиями к памяти 128 КБ или менее (например, с DOS), для которых жир был разработан и оптимизирован первоначально.
С введением FAT32 Long Seek и Scan Times стали более очевидными, особенно на очень больших объемах. от Microsoft Возможное оправдание, предложенное Raymond Chen для ограничения максимального размера размер FAT32, созданных в Windows, было время, необходимое для выполнения ». DIR
«Операция, которая всегда отображает свободное дисковое пространство в качестве последней строки. [ 66 ] Отображение этой линии заняло больше времени и дольше, так как количество кластеров увеличилось. Поэтому FAT32 представил информационный сектор специальной файловой системы, в котором ранее вычисленное количество свободного пространства сохраняется в течение циклов питания, поэтому счетчик свободного пространства необходимо пересматривать только тогда, когда съемный форматированный FAT32 среду выброшены без сначала его. выключается без должного выключения операционной системы, проблема, в основном видимая с помощью ПК-стилей Pre- ATX , на простых системах DOS и некоторых потребительских продуктах с батарейным батарейным батарейным батарейным батарейным батарейным батарейным батарейным батарейным батарейным батарейным батарейным батарейным управлением.
С огромными размерами кластеров (16 КБ, 32 КБ, 64 КБ), принудившимися к большим разделам жира, внутренняя фрагментация в форме отходов в пространстве дискового пространства путем ослабления файлов из -за кластера (так как файлы редко точные размеры кластера) начинаются Также проблема, особенно когда есть много небольших файлов.
Были разработаны различные оптимизации и настройки для реализации драйверов FAT-файловой системы, драйверов устройств и дисковых инструментов, чтобы преодолеть большинство узких мест производительности в неотъемлемой конструкции файловой системы без необходимости изменения макета структур на диск. [ 67 ] [ 68 ] Их можно разделить на онлайн-и автономные методы и работать, пытаясь избежать фрагментации в файловой системе, в первую очередь, развертывая методы, чтобы лучше справляться с существующей фрагментацией, а также переупорядочить и оптимизировать структуры на диск. С оптимизацией, производительность на объемах жира часто может достигать эффективности более сложных файловых систем в практических сценариях, в то же время сохраняя преимущество в том, что он доступен даже в очень маленьких или старых системах.
DOS 3.0 и выше не будут немедленно повторно использовать дисковое пространство удаленных файлов для новых распределений, а вместо этого будут стремиться к ранее неиспользуемому пространству, прежде чем начать использовать дисковое пространство из ранее удаленных файлов. Это не только помогает поддерживать целостность удаленных файлов как можно дольше, но также ускоряет распределение файлов и избегает фрагментации, поскольку никогда до того, как выделенное дисковое пространство всегда не подвергается нефрагментации. DOS выполняет это, сохраняя указатель на последнее выделенное кластер на каждом установленном томе в памяти и начинает искать свободное место в этом месте вверх, а не в начале жира, так как это все еще делалось DOS 2.x. [ 13 ] Если достигнут конец жира, он обертится, чтобы продолжить поиск в начале жира до тех пор, пока не будет найдено свободное пространство, либо исходное положение не будет достигнуто снова, не обнаружив свободного пространства. [ 13 ] Эти указатели инициализируются, чтобы указывать на начало жиров после загрузки, [ 13 ] Но на томах FAT32 DOS 7.1 и выше попытаются получить последнюю позицию из информационного сектора FS . Этот механизм побежден, однако, если приложение часто удаляет и воссоздает временные файлы, поскольку операционная система будет затем пытаться поддерживать целостность пустого данных, эффективно вызывая большую фрагментацию в конце. [ 13 ] В некоторых версиях DOS использование специальной функции API для создания временных файлов может использоваться, чтобы избежать этой проблемы.
Кроме того, записи каталогов удаленных файлов будут помечены 0xe5 с двух 3,0. [ 42 ] DOS 5.0 и выше начнут повторно использовать эти записи только тогда, когда в таблице были использованы ранее неиспользованные записи каталога, и в противном случае система должна была бы расширить саму таблицу. [ 6 ]
Поскольку DOS 3.3 Операционная система предоставляет средства для повышения производительности файловых операций с FASTOPEN
Следив за позицией недавно открытых файлов или каталогов в различных формах списков (MS-DOS/PC DOS) или хэш-таблиц (DR-DOS), которые могут значительно сократить время поиска и открытия файлов. Перед тем, как DOS 5.0 должна быть осторожна при использовании таких механизмов в сочетании с программным обеспечением для дефрагментации диска, обходящим файловую систему или драйверы диска.
Windows NT будет распределять пространство диска на файлы на FAT заранее, выбирая большие смежные области, но в случае сбоя файлы, которые добавлялись, будут выглядеть больше, чем они когда -либо были записаны, с большим количеством случайных данных в конце.
Другие механизмы высокого уровня могут читать и обрабатывать более крупные детали или полный жир при запуске или по требованию, когда это необходимо, и динамически создавать представления дерева в память о файловых структурах тома, отличных от структур на диск. [ 67 ] [ 68 ] Это может, в объемах со многими свободными кластерами занять еще меньше памяти, чем изображение самого жира. В частности, на сильно фрагментированных или заполненных объемах, ищут, ищущие становятся намного быстрее, чем с линейными сканированием по фактическому жиру, даже если изображение жира будет храниться в памяти. Кроме того, работая на логически высоком уровне файлов и кластерных цепи, а не на секторе или уровне трека становится возможным избежать некоторой степени фрагментации файлов в первую очередь или выполнить локальную дефрагментацию и переупорядочение каталога на основе на основе на основе на основе на основе на основе на основе на основе на основе на основе на основе на основе на основе на основе на основе записей каталога в зависимости их имена или шаблоны доступа в фоновом режиме.
Некоторые из воспринимаемых проблем с фрагментацией жирных файловых систем также являются результатом ограничений производительности базовых драйверов блока устройств , что становится более заметным. Меньшая память доступна для сектора буферизации и блокировки/деблокирования трассы:
В то время как одноподавляющие DOS имели положения для многосекционных считываний и блокировки/деблокирования трека, операционная система и традиционная архитектура жестких дисков ПК ( только один непогашенный запрос на ввод/вывод за раз и никаких передачи DMA ) изначально не содержали механизмов что может облегчить фрагментацию путем асинхронного предварительного получения следующих данных, когда приложение обрабатывала предыдущие куски. Такие функции стали доступны позже. Более поздние версии DOS также оказали встроенную поддержку буферизации сектора в съемках и поставлялись с динамически нагруженными программами кэширования дисков, работающих на уровне физического или логического сектора, часто используя память EMS или XMS , а иногда и обеспечивая адаптивные стратегии кэширования или даже проходить в режиме защищенном DPMS или маскировки для повышения производительности путем получения прямого доступа к кэшированным данным в линейной памяти, а не через обычные API DOS.
Кэширование с надписью часто не было включено по умолчанию с программным обеспечением Microsoft (если присутствует), учитывая проблему потери данных в случае сбоя питания или сбоя, что упрощено из-за отсутствия защиты от аппаратного обеспечения между приложениями и системой.
Длинные имена файлов VFAT
[ редактировать ]

Длинные имена файлов VFAT (LFNS) хранятся в жирной файловой системе с использованием трюка: добавление дополнительных записей в каталог перед обычной записью файла. Дополнительные записи отмечены меткой объемом, системой, скрытыми и чтением только атрибутов (давая 0x0f ), которая является комбинацией, которая не ожидается в среде MS-DOS и, следовательно, игнорируется программами MS-DOS и сторонними утилитами. Примечательно, что каталог, содержащий только метки объема, считается пустым и разрешено удалять; Такая ситуация появляется, если файлы, созданные с длинными именами, удалены из простых DOS. Этот метод очень похож на метод Delwatch для использования атрибута тома, чтобы скрыть ожидающие удаленные файлы для возможного будущего недолетости со времен DR DOS 6.0 (1991) и выше. Он также похож на метод, публично обсуждаемый для хранения длинных имен файлов на Ataris и Under Linux в 1992 году. [ 69 ] [ 70 ]
Поскольку более старые версии DOS могут принять имена LFN в корневом каталоге для метки тома, VFAT был разработан для создания пустой метки тома в корневом каталоге перед добавлением каких -либо записей имен LFN (если метка тома уже не существует). [ NB 13 ]
Каждая фальшивая запись может содержать до 13 символов UCS-2 (26 байтов), используя поля в записи, которые содержат размер файла или марки времени (но не в поле начального кластера, для совместимости с утилитами дисков, полю стартового кластера установлен на Значение 0. См. 8.3 имя файла для дополнительных объяснений). До 20 из этих 13-характерных записей могут быть прикованы, поддерживая максимальную длину 255 символов UCS-2. [ 55 ]
Если положение последнего персонажа LFN не находится на границе записи каталога (13, 26, 39, ...), то Терминатор 0x0000 добавляется в следующую позицию символа. Затем, если этот терминатор также не на границе, оставшиеся позиции символов заполнены 0xffff . Никакой записи каталога, содержащего одинокий терминатор.
Записи LFN Используйте следующий формат:
Замена смещения | Длина (байты) | Описание |
---|---|---|
0x00 | 1 | Номер последовательности (бит 6: Последняя логическая, первая физическая запись LFN, бит 5: 0; биты 4-0: число 0x01 .. 0x14 ( 0x1f ), удаленная запись: 0xe5 ) |
0x01 | 10 | Имя символы (пять UCS-2 символов ) |
0x0b | 1 | Атрибуты (всегда 0x0f ) |
0x0c | 1 | Тип (всегда 0x00 для VFAT LFN, другие значения, зарезервированные для будущего использования; Для особого использования битов 4 и 3 в SFN видите дальше) |
0x0d | 1 | Контрольная сумма имени файла DOS |
0x0e | 12 | Имя символы (шесть UCS-2 символов ) |
0x1a | 2 | Первый кластер (всегда 0x0000 ) |
0x1c | 4 | Имя символы (два UCS-2 символа ) |
Если есть несколько записей LFN, необходимого для представления имени файла, в первую очередь появляется запись, представляющая конец имени файла. Номер последовательности этой записи имеет бит 6 ( 0x40 ) установлено, чтобы представить, что это последняя логическая запись LFN, и имеет самый высокий номер последовательности. Номер последовательности уменьшается в следующих записях. Запись, представляющая начало имени файла, имеет последовательность № 1. Значение 0xe5 используется для указания, что запись удалена.
На объемах FAT12 и FAT16, тестирование на значения при 0x1a быть нулевым и в 0x1c , чтобы быть ненулевым, может использоваться для различения LFN VFAT и ожидающих удаления файлов в Delwatch.
Например, имя файла, подобное «файлу с очень длинным файлом», будет отформатировано как это:
Номер последовательности | Данные ввода |
---|---|
0x03 | "Me.ext" |
0x02 | "y long filena" |
0x01 | "Файл с VER" |
??? | Нормальный 8.3 запись |
Контрольная сумма также позволяет проверить, соответствует ли длинное имя файла с именем 8.3; Такое несоответствие может произойти, если файл был удален и воссоздан с использованием DOS в той же позиции каталога. Контрольная сумма рассчитывается с использованием алгоритма ниже. (PFCBNAME - это указатель на имя, так как оно отображается в обычной записи каталога, то есть первые восемь символов являются именем файла, а последние три - расширение. Точка неявна. Любое неиспользованное пространство в имени файла пробивается с пространственными символами. (ASCII 0x20 ). Например, «readme.txt» будет » README␠␠TXT
".)
unsigned char lfn_checksum(const unsigned char *pFCBName)
{
int i;
unsigned char sum = 0;
for (i = 11; i; i--)
sum = ((sum & 1) << 7) + (sum >> 1) + *pFCBName++;
return sum;
}
Если имя файла содержит только строчные буквы или представляет собой комбинацию нижнего региона базового имени с проникновением или наоборот; и не имеет особых символов и подходит в пределах 8.3, запись VFAT не создается в Windows NT и более поздних версиях Windows, таких как XP. Вместо этого два бита в байте 0x0c ввода каталога используется, чтобы указать, что имя файла следует рассматривать как полностью или частично строчное. В частности, бит 4 означает расширение строк и бит 3 строчных базовых базовых , что позволяет составлять такие комбинации, как » example.TXT
" или " HELLO.txt
"Но не" Mixed.txt
". Немногие другие операционные системы поддерживают его. Это создает проблему с обратной совместимостью с более старыми версиями Windows (Windows 95 /98 /98 SE / ME), которые видят имена файлов All-UpperCase, если это расширение было использовано, и поэтому может изменить имя файла, когда он транспортируется между операционными системами, например, на USB -флэш -накопителе. /fs/fat/dir.c
и fs/vfat/namei.c
); опция крепления shortname
Определяет, используется ли эта функция при написании. [ 71 ]
Смотрите также
[ редактировать ]- Сравнение файловых систем
- Назначение письма
- exfat
- Расширенная запись загрузки (EBR)
- Fat -файловая система и Linux
- Список файловых систем
- Master Boot Record (MBR)
- Тип раздела
- Временная шкала операционных систем DOS
- Жирная файловая система, безопасная для транзакций
- Турбо -жир
- Запись загрузки громкости (VBR)
Примечания
[ редактировать ]- ^ Jump up to: а беременный в Для максимальной совместимости с MS-DOS/PC DOS и DR-DOS, операционные системы, пытающиеся определить формат дискет-диска, должны проверить все упомянутые последовательности OpCode при смещении сектора 0x000 в дополнение к поиску действительного байта дескриптора среды при смещении сектора 0x015, прежде чем предположить наличие BPB . Несмотря на то, что на ПК DOS 1.0 диски не содержат BPB, они начинаются с 0xeb также, но не показывайте 0x90 при смещении 0x002 . ПК DOS 1.10 Диск 0xeb 0x ?? 0x90 , хотя они все еще не имеют BPB. В обоих случаях тест на действительный дескриптор носителя при смещении 0x015 потерпит неудачу (значение 0x00 вместо действительных дескрипторов мультимедиа 0xf0 и выше). Если эти тесты терпят неудачу, DOS проверяет наличие байта дескриптора среды в первом байте первого жира в секторе после загрузочного сектора (логический сектор 1 на флопах FAT12/FAT16).
- ^ Jump up to: а беременный в дюймовый и Подпись в смещении 0x1fe в секторах загрузки 0x55 0xaa , то есть 0x55 при смещении 0x1fe и 0xaa в смещении 0x1ff . Поскольку репрезентация маленького эндэдиана должно быть принято в контексте совместимых с IBM PC машин, это может быть написано как 16-битное слово 0xaa55 в программах для процессоров x86 (обратите внимание на порядок замены), тогда как он должен быть написан как 0x55AA in programs for other CPU architectures using a big-endian representation. Поскольку это было много раз в книгах и даже в оригинальных справочных документах Microsoft, в этой статье используется основанное на смещении представление о диске, чтобы избежать какого-либо возможного неверного толкования.
- ^ Jump up to: а беременный в Запись контрольной суммы в секторах загрузки Atari содержит значение выравнивания, а не само магическое значение . Магическая ценность 0x1234 нигде не хранится на диске. В отличие от процессоров Intel X86 , процессоры Motorola 680x0 , используемые на машинах Atari, используют представление памяти с большим эндэдианом , и поэтому при расчете контрольной суммы необходимо предположить представление о большем эндэндине. Как следствие этого, для кода проверки контрольной суммы, работающего на машинах x86, пары байтов должны быть заменены до 16-битного добавления.
- ^ DR-DOS способен загружать FAT12/FAT16 Логический секторов с логическими размерами сектора до 1024 байт.
- ^ Jump up to: а беременный Следующие функции DOS возвращают эти значения регистра: Int 21h/ah = 2ah "Получить систему даты" Возвращенные значения: cx = год ( 1980 .. 2099 ), dh = месяц (1..12), dl = день (1..31). Int 21h/ah = 2ch "Получить системное время" Возвращенные значения: ch = час (0..23), cl = минута (0..59), dh = второе (0..59), dl = 1/100 секунд (0..99).
- ^ Windows XP, как было отмечено, создает такие гибридные диски при переформатировании форматированных дисков Zip-100 FAT16B в формат FAT32. Полученные объемы были FAT32 по формату, но все еще использовали EBPB FAT16B. (Неясно, как Windows определяет местоположение корневого каталога на томах FAT32, если использовался только EBPB FAT16.)
- ^ Jump up to: а беременный Одна утилита, предоставляющая опцию для указания желаемого значения заполнителя формата для жестких дисков,-это DR-DOS FDISK R2.31 с его необязательным параметром Wipe
/W:246
Полем В отличие от других утилит FDISK , DR-DOS FDISK является не только инструментом разделения, но также может отформатировать свежеприготовленные разделы в виде FAT12 , FAT16 или FAT32 . Это снижает риск случайного форматирования неправильных объемов. - ^ Чтобы поддержать сосуществование DR-DOS с DOS ПК и несколько параллельных установок DR-DOS, расширение по умолчанию »
IBMBIO␠␠COM
"Имя файла загрузки можно изменить, используяSYS /DR:ext
Опция, где EXT представляет новое расширение. Другие потенциальные имена файлов загрузки DR-DOS, которые следует ожидать в специальных сценариях,-это «DRBIOS␠␠SYS
","DRDOS␠␠␠SYS
","IO␠␠␠␠␠␠SYS
","JO␠␠␠␠␠␠SYS
". - ^ Если флаг грязного отключения тома все еще очищается при запуске, объем не был должным образом не установлен. Это, например, приведет к тому, что Windows 98 Win.com запустит Scandisk , чтобы проверить и восстановить потенциальные ошибки логической файловой системы. Если флаг плохого сектора будет очищен, он также заставит выполнять поверхностное сканирование. Это может быть отключено, установив AutoScan = 0 в разделе [Options] в файле msdos.sys .
- ^ Jump up to: а беременный в дюймовый См. Другие ссылки для особых мер предосторожности в отношении вхождения кластера значения 0xff0 на объемах FAT12 под MS-DOS/PC DOS 3.3 и выше.
- ^ Jump up to: а беременный Некоторые версии формата , так как MS-DOS 1.25 и PC DOS 2.0 поддерживали опцию
/O
(для старого первый байт всех записей каталога ), чтобы заполнить 0xe5 вместо использования конечного маркера 0x00 . Тем самым. Объем оставался доступным в соответствии с PC DOS 1.0 - 1.1 , в то время как форматирование заняло несколько дольше, и новые версии DOS не могли воспользоваться значительным ускорением, вызванным использованием конечного маркера 0x00 . - ^ Это причина, почему 0xe5 имел особое значение в записях каталогов.
- ^ Jump up to: а беременный Чтобы избежать потенциального неверного толкования метки объема каталогов с помощью записей VFAT LFN с помощью операционных систем без VFAT, инструменты FDISK и формат DR-DOS 7.07 явно пишут фиктивные
NO␠NAME␠␠␠␠
"Метки объема каталогов, если пользователь пропустят, вводясь на метку тома. Операционная система внутренне по умолчанию будет возвращать ту же строку, если не может быть найдена метка объема каталогов, но без реальной метки тома, хранящейся как первая запись (После записей каталога) старые операционные системы могли бы ошибочно забрать записи VFAT LFN вместо этого. - ^ Этот тип атрибута распределения ОС IBM 4680 и 4690 ОС должен иметь значение бита в диск 0, поскольку файлы возвращаются к этому типу, когда атрибуты теряются случайно.
Ссылки
[ редактировать ]- ^ «Файловые системы» . Microsoft Technet . 2001. Архивировано из оригинала 2011-08-12 . Получено 2011-07-31 .
- ^ Jump up to: а беременный Microsoft (2006-11-15). Windows 95 CD-ROM config.txt Файл Архивированный 2013-01-28 на Archive.today Статья 135481, пересмотр: 1.1, получено 2011-12-22: «Для каждого жесткого диска указывает, следует ли записывать дату, в которой файлы доступны И даты последнего доступа отключены для всех дисков, когда ваш компьютер запускается в безопасном режиме и не поддерживается для дискету.
ACCDATE=drive1+|- [drive2+|-]...
" - ^ Бхат, Вашингтон (2010). «Обзор структуры данных FAT32 файловой системы FAT32». S2CID 58178285 .
{{cite web}}
: Отсутствует или пусто|url=
( помощь ) - ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а «Microsoft Расширяемая инициатива прошивки FAT32 Спецификация файловой системы, FAT: Общий обзор формата диска» . Microsoft . 2000-12-06. Архивировано из оригинала 2021-07-23 . Получено 2011-07-03 .
- ^ Jump up to: а беременный в дюймовый Хааф, Уилфрид; Миддель, Фрэнк (ноябрь 1987). «Данные на дисках- структурах файлов и дискет в рамках CP/M, MSDOS и TOS: управление файлами под TOS». C't - Журнал для компьютерных технологий . c't file (на немецком языке). Vol . С. ISSN 0724-8679 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а п Чаппелл, Джефф (январь 1994 г.). Шульман, Эндрю; Педерсен, Аморетт (ред.). DOS Internals . Серия программирования Эндрю Шульмана (1 -я печать, 1 -е изд.). Аддисон Уэсли издательская компания . ISBN 978-0-201-60835-9 Полем (xxvi+738+IV страницы, 3,5 "-floppy [1] [2] ) ошибки: [3] [4] [5]
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а п Q. ведущий с Т в v В Microsoft MS-DOS 3.1 Руководство по программированию на английском языке [ Microsoft MS-DOS 3.1 Справочное руководство по английскому языку ]. Мюнхен: Markt & Technik Verlag (опубликовано 1986). 1984. ISBN 3-89090-368-1 Полем 8411-310-02, 036-014-012.
Что касается инструкции по прыжкам в начале загрузочного сектора: «Определите, является ли первый байт сектора загрузки E9H или EBIT (первый байт 3-байтового ближнего или 2-байтового короткого прыжка) или EBH ( Первый байт 2-байтового прыжка, сопровождаемый NOP).
(Nb. Эта книга содержит много ошибок.) - ^ Jump up to: а беременный Даниэль Б. Седория. Сектор загрузки персонального компьютера IBM версии 1.00 (1981) . 2005-08-02 ( [6] Архив 2014-05-21 на машине Wayback ).
- ^ Jump up to: а беременный Даниэль Б. Седория. Сектор загрузки персонального компьютера IBM версии 1.10 (1982) . 2005-07-29 ( [7] Архивировал 2014-05-21 на машине Wayback ).
- ^ Jump up to: а беременный Кальдера (1997). Caldera Opendos Machine читаемый исходный комплект 7.01 . Файл диск. 0x69 тоже.
- ^ Пол, Матиас Р. (2002-02-20). «Нужна DOS 6.22 (не OEM)» . Группа новостей : alt.msdos.programmer . Архивировано с оригинала 2017-09-09 . Получено 2006-10-14 .
- ^ Басс, Уолли (1994-02-14). «Размер кластера» . Группа новостей : comp.os.msdos.programmer . Архивировано с оригинала 2017-09-09 . Получено 2006-10-14 .
- ^ Jump up to: а беременный в дюймовый и фон глин час Дэйв Уильямс (1992). Техническая ссылка программиста для MSDOS и IBM PC . Dosref, Spareware версия 01/12/1992. ISBN 1-878830-02-3 . ( [8] Архивировано 2014-05-20 на машине Wayback , доступ к 2012-01-08). Комментарий: автор упоминает, что DOS 4.0 проверяет этикетку OEM, но отрицает, что DOS 3.2 также проверяет его (хотя это и делает).
- ^ Пол, Матиас Р. (2004-08-25). "Novoltrk.reg" . www.drdos.org . Архивировано с оригинала 2016-03-04 . Получено 2011-12-17 . [9]
- ^ Jump up to: а беременный «Устранение неполадок дисков и файловых систем» . Microsoft Technet . 2005-11-05. Архивировано с оригинала 2014-06-07 . Получено 2014-06-15 .
- ^ IBM (1983). Справочник по техническому справочнику IBM PC . Комментарий: включает в себя полный список исходного кода ROM BIOS оригинального IBM PC.
- ^ Jump up to: а беременный в дюймовый Ганс-Диретер Янковски, Дитмар Рабич, Джулиан Ф. Ресшке (1992). Atari Professional Book ST-INT-TT . Sybex, 4 -е издание, 12 -я партия. ISBN 3-88745-888-5 , ISBN 978-3-88745-888-1 .
- ^ Seagate Technologies, «Переход к продвинутому формату 4K Сектор жесткие диски (архивировано по wayback machine @archive.org)», 2010 ( [10] ).
- ^ Jump up to: а беременный в дюймовый Brown, Ralf D. (2002-12-29). "The x86 Interrupt List". Archived from the original on 2016-06-16. Retrieved 2011-10-14.
- ^ Jump up to: а беременный в дюймовый Де Бойн Поллард, Джонатан (2010) [2006]. «Все о блоках параметров BIOS» . Часто даны ответы . Архивировано с оригинала 2016-08-26 . Получено 2014-06-02 .
- ^ Jump up to: а беременный в Microsoft MS-DOS Ссылка программиста: Версия 5.0 . Microsoft Press. 1991. ISBN 1-55615-329-5 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k «Стандартные форматы дисководов, поддерживаемые MS-DOS» . Microsoft Help and Support. 2003-05-12. Архивировано с оригинала 2015-01-09 . Получено 2012-09-11 .
- ^ Jump up to: а беременный в Microsoft (1987-07). MS-DOS 3.3 Ссылка программиста.
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж "Volume and File Structure of Disk Cartridges for Information Interchange". Standard ECMA-107 (2nd ed., June 1995). ECMA. 1995. Archived from the original on 2018-10-07. Retrieved 2011-07-30.
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж «Информационные технологии - объем и структура файлов картриджей диска для обмена информацией» . ISO/IEC 9293: 1994 . Каталог ISO . 1994. Архивировано из оригинала 2012-01-17 . Получено 2012-01-06 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж «Обработка информации - объем и структура файлов гибких дисковых картриджей для обмена информацией» . ISO 9293: 1987 . Каталог ISO . 1987. Архивировано из оригинала 2012-01-17 . Получено 2012-01-06 .
- ^ Jump up to: а беременный в Андрис Брауэр (2002-09-20). «Жирная файловая система» . Архивировано из оригинала 2011-10-06 . Получено 2011-10-16 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а п Q. ведущий Патерсон, Тим ; Microsoft (2013-12-19) [1983]. "Microsoft DOS V1.1 и v2.0: /msdos/v20source/skelio.txt, /msdos/v20source/hrddrv.asm" . CHM . Музей компьютерной истории , Microsoft . Архивировано из оригинала 2019-08-14 . Получено 2014-03-25 . (NB. Хотя издатели утверждают, что это будет MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и смесь Altos MS-DOS 2.11 и Televideo PC DOS 2.11 .)
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж Збиковски, Марк ; Аллен, Пол ; Ballmer, Стив ; Борман, Рувим; Борман, Роб; Батлер, Джон; Кэрролл, Чак; Чемберлен, Марк; Челл, Дэвид; Коли, Майк; Кортни, Майк; Dryfoos, Майк; Дункан, Рэйчел; Экхардт, Курт; Эванс, Эрик; Фермер, Рик; Гейтс, Билл ; Гири, Майкл; Гриффин, Боб; Хогарт, Даг; Джонсон, Джеймс У.; Кермаани, Каамель; Король, Адриан; Кох, Рид; Ландовски, Джеймс; Ларсон, Крис; Леннон, Томас; Липки, Дэн; Макдональд, Марк ; МакКинни, Брюс; Мартин, Паскаль; Мазерс, Эстель; Мэтьюз, Боб; Мелин, Дэвид; Mergentime, Чарльз; Невин, Рэнди; Ньюэлл, Дэн; Ньюэлл, Тани; Норрис, Дэвид; О'Лири, Майк; О'Рир, Боб ; Олссон, Майк; Остерман, Ларри; Остлинг, Ридж; Пай, Сунил; Патерсон, Тим ; Перес, Гэри; Петерс, Крис; Петзольд, Чарльз ; Поллок, Джон; Рейнольдс, Аарон ; Рубин, Дэррил; Райан, Ральф; Schulmeisters, Карл; Шах, Раджен; Шоу, Барри; Короткий, Энтони; Slivka, Ben; Смирл, Джон; Стиллмейкер, Бетти; Стоддард, Джон; Тиллман, Деннис; Уиттен, Грег; Юнг, Натали; Zeck, Steve (1988). «Технические консультанты». Энциклопедия MS-DOS: версии с 1,0 до 3.2 . Дункан, Рэй; Бостек, Стив; Бургойн, Кит; Байерс, Роберт А.; Хоган, Том; Кайл, Джим; Лютвин, Гордон ; Петзольд, Чарльз ; Рабиновиц, Чип; Томлин, Джим; Уилтон, Ричард; Вулвертон, Ван; Вонг, Уильям; Вудкок, Джоанн (полностью переработал изд.). Редмонд, Вашингтон, США: Microsoft Press . ISBN 1-55615-049-0 Полем LCCN 87-21452 . OCLC 16581341 . (xix+1570 страниц; 26 см) (nb. Это издание было опубликовано в 1988 году после обширного переработки первого издания снятого 1986 года другой команды авторов. [11] Архивировано 2018-10-14 на машине Wayback )
- ^ Jump up to: а беременный «Подробное объяснение сектора Bat Boot» . База знаний Microsoft . 2003-12-06. Архивировано из оригинала 2011-11-28 . Получено 2011-10-16 .
- ^ Jump up to: а беременный в Лай, Роберт С.; Waite Group (1987). Написание драйверов устройств MS-DOS (2-е изд.). Аддисон Уэсли. ISBN 0-201-60837-5 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а п Q. ведущий с Т Патерсон, Тим ; Microsoft (2013-12-19) [1983]. "Microsoft DOS v1.1 и v2.0: /msdos/v20source/devdriv.txt" . Музей компьютерной истории , Microsoft . Архивировано из оригинала 2019-08-14 . Получено 2014-03-25 . (NB. Хотя издатели утверждают, что это будет MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и смесь Altos MS-DOS 2.11 и Televideo PC DOS 2.11 .)
- ^ Jump up to: а беременный в дюймовый и Тим Патерсон (1983). «Внутренний взгляд на MS-DOS» . Байт Архивировано с оригинала 2011-07-20 . Получено 2011-07-18 .
Нумерация начинается с 2; Первые два числа, 0 и 1, зарезервированы.
- ^ Jump up to: а беременный в дюймовый Port -DOS - Руководство пользователя для абрикосового портативного . Пользовательские руководства, Великобритания ( [12] Архив 2013-05-22 на машине Wayback ).
- ^ Jump up to: а беременный в дюймовый и Джон С. Эллиотт (1998). Форматы диска Dosplus . ( [13] Архивировано 2013-06-07 на машине Wayback ).
- ^ Jump up to: а беременный в дюймовый BBC Master 512 . Компьютерные страницы BBC Yellow Pig ( [14] Archived 2014-05-21 на машине Wayback ).
- ^ Цифровое оборудование корпорация. Rainbow 100 MS-DOS 2.01 Техническая документация Том 1 (QV025-GZ), список операционной системы Microsoft MS-DOS (AA-X432A-TV), универсальный драйвер диска, стр. 1-17. 1983.
- ^ «Подробное объяснение сектора Bat Boot» . Dew Associates Corporation. 2002. Архивировано из оригинала 2011-09-26 . Получено 2011-10-16 .
- ^ Tyagi, Tarun (2004-10-31). «Размер кластеров в файловых системах FAT и NTFS». Восстановление данных с программированием и без него . Нью -Дели, Индия: Gardners Books. п. 4. ISBN 978-81-7656-922-4 Полем Архивировано из оригинала 2021-12-03 . Получено 2021-12-03 .
- ^ Даниэль Б. Седория. Подробные заметки о «грязном флаге выключения» под MS-Windows . 2001-12-04. ( [15] Архивировано 2014-05-21 на машине Wayback ).
- ^ Jump up to: а беременный в дюймовый и «Набор ресурсов Windows 98 - Глава 10 - диски и файловые системы» . Microsoft Technet . 1998. Архивировано из оригинала 2012-05-01 . Получено 2012-07-16 .
- ^ Jump up to: а беременный в дюймовый Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Michels, Raymond J.; Кайл, Джим (1994) [ноябрь 1993]. Недокументированные DOS: Руководство программиста по зарезервированным функциям MS-DOS и структурам данных-расширено, чтобы включить MS-DOS 6, Novell DOS и Windows 3.1 (2 Ed.). Чтение, Массачусетс: Аддисон Уэсли . п. 11 ISBN 0-201-63287-х Полем (xviii+856+vi страницы, 3,5 "-floppy) Ошибки: [16] [17]
- ^ Питер Нортон (1986). Внутри ПК IBM, пересмотренный и расширенный , Брэди. ISBN 0-89303-583-1 , P. 157
- ^ Jump up to: а беременный в Андрис Брауэр . «Жир под Linux» . Архивировано из оригинала 2014-07-01 . Получено 2014-05-20 .
- ^ Андрис Брауэр (2002-09-20). "ТОЛСТЫЙ" . Архивировано из оригинала 2017-12-17 . Получено 2012-01-11 .
- ^ Jump up to: а беременный в Сиэтл компьютерные продукты (1981). "SCP 86-DOS 1.0 Приложение" (PDF) . Архивировано (PDF) из оригинала 2012-10-03 . Получено 2013-03-10 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а п Q. ведущий с Т в v В х и С аа Аб и объявление Но из в нравиться это к и Пол, Матиас Р. (1997-07-30) [1994-05-01]. NWDOS-TIPS-Советы и хитрости Rund Um Novell Dos 7, Mit Blick auf undokumentierte Детали, ошибки и обходные пути . MpDostip (на немецком языке) (3 изд.). Архивировано с оригинала 2016-11-05 . Получено 2012-01-11 . (Nb. Nwdostip.txt - это всеобъемлющая работа по Novell Dos 7 и Opendos 7.01 , включая описание многих незарегистрированных функций и внутренних групп. Она является частью коллекции MpDostip.zip автора. время .
- ^ IBM. 4690 Руководство пользователя ОС Версия 5.2 , IBM Document SC30-4134-01, 2008-01-10 ( [19] ).
- ^ Jump up to: а беременный Патерсон, Тим ; Microsoft (2013-12-19) [1983]. "Microsoft DOS v1.1 и v2.0: /msdos/v20source/format.txt" . Музей компьютерной истории , Microsoft . Архивировано из оригинала 2019-08-14 . Получено 2014-03-25 . (NB. Хотя издатели утверждают, что это будет MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1.25 и смесь Altos MS-DOS 2.11 и Televideo PC DOS 2.11 .)
- ^ Jump up to: а беременный Шустек, Лен (2014-03-24). «Microsoft MS-DOS Ранний исходный код» . Программные драгоценные камни: музей компьютерных исторических исторических серий исходного кода. Архивировано с оригинала 2019-08-10 . Получено 2014-03-29 . (NB. Хотя автор утверждает, что это будет MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1,25 и смесь Altos MS-DOS 2.11 и Televideo PC DOS 2.11 .)
- ^ Jump up to: а беременный Левин, Рой (2014-03-25). «Microsoft производит исходный код для MS-DOS и Word для Windows, доступных для общественности» . Официальный блог Microsoft . Архивировано из оригинала 2014-03-28 . Получено 2014-03-29 . (NB. Хотя автор утверждает, что это будет MS-DOS 1.1 и 2.0, на самом деле это SCP MS-DOS 1,25 и смесь Altos MS-DOS 2.11 и Televideo PC DOS 2.11 .)
- ^ Jeida/Jeita/Cipa (2010). «Стандарт Ассоциации продуктов камеры и визуализации, CIPA DC-009-Translation-2010, Правило проектирования для файловой системы камеры: DCF версия 2.0 (издание 2010)» (PDF) . Архивировано из оригинала (PDF) 2013-09-30 . Получено 2011-04-13 .
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не а п Q. Кальдера (1997). Caldera Opendos Machine читаемый исходный комплект 7.01 . Файл fdos.equ в считываемом исходном комплекте машины приравнивается к соответствующим записям каталога.
- ^ Джон С. Эллиотт (1998). CP/M 4.1 Форматы диска . ( [20] Архивировано 2014-08-26 на машине Wayback ): «CP/M 4.1 (DOS Plus [1.2]) позволяет использовать две файловые системы-CP/M и DOS. Версия [...] Поставляется С помощью AMSTRAD PC1512 не может обрабатывать большее количество флопов, чем 360K (CP / M) / 1,2 МБ (DOS), или большие перегородки жесткого диска, чем 32 МБ. Как и в PCDOS 2.11, за исключением: Byte 0CH записи каталога [...] хранят четыре «пользовательские атрибуты» F1'-F4 '[...] пароли в стиле DRDOS не поддерживаются ».
- ^ Jump up to: а беременный Vindaci (1998-01-06). "Длинная спецификация файла" . Архивировано из оригинала в 2001-04-20 . Получено 2007-03-13 .
- ^ Хенк Келдер. FAT32.txt для FAT32.ifs версия 0.74 . ( "@Macarlo, Inc" . Архивировано с оригинала 2012-03-30 . Получено 2012-01-14 . ) Комментарий: эта старая версия файла Readme по -прежнему обсуждает старый 0xea и 0xec Magic значения.
- ^ Henk Kelder (2003). FAT32.txt для FAT32.ifs версии 0.9.13. »( [21] Архивировано 2022-01-25 на машине Wayback ):« Этот байт [...] не изменяется во время работы Windows 95 и « Скандиск или дефраг Полем [...] Если другая программа устанавливает значение на 0x00 для файла, в котором есть EAS, эти EAS больше не будет найдено с использованием только Dosfindfirst/Next Calls. Другая ОС/2 требует получения EAS (Dosquerypathinfo, Dosqueryfileinfo и Dosenumattribute) не полагаются на этот байт. Также обратное могло [...] произойти. [...] В этой ситуации только эффективность сканирования каталогов будет снижена. Обе ситуации [...] корректируются с помощью chkdsk ».
- ^ Netlabs. FAT32.fs Wiki и источники . ( [22] Архивировано 2013-05-11 на машине Wayback ).
- ^ Jump up to: а беременный IBM. 4690 Руководство по программированию ОС Версия 5.2 , документ IBM SC30-4137-01, 2007-12-06 ( [23] ).
- ^ Jump up to: а беременный в дюймовый и фон глин час я Дж k л м не Справочная серия разработчиков Opendos - Руководство по системе и программиста - Руководство программиста . Caldera, Inc. август 1997 г. Кальдера Часть № 200-DODG-003. Архивировано из оригинала 2017-10-07 . Получено 2014-05-20 . (Отпечатано в Великобритании.)
- ^ Боб Эйгер, Tavi Systems (2000-10-28). Внедрение расширенных атрибутов в FAT -файловой системе . ( [24] Архивировано 2006-06-13 на машине Wayback ).
- ^ IBM (2003). Информация о 4690 Уникальных атрибутах распределения файлов , IBM Document R1001487, 2003-07-30. ( «IBM Информация о 4690 ОС уникальных атрибутов распределения файлов - Соединенные Штаты» . Архивировано из оригинала 2014-05-21 . Получено 2014-05-20 . ): «[...] Типы файлов хранятся в части« зарезервированных битов »структуры каталога файлов PC-DOS [...] Только 4690 уважает и сохраняет эти атрибуты. Различные операционные системы не 4690 предпринимают разные действия, если Эти биты включаются [...] при копировании из дискеты, созданной в системе 4690. .] 1.2 [...] откажется от копирования файла. Если. .] Когда [...] Скопируйте [...] вернуться в систему 4690, [...] файл скопирует как локальный файл ».
- ^ IBM. 4690 Сохранить и восстановить атрибуты распределения файлов . IBM Document R1000622, 2010-08-31 ( «IBM 4690 Сохранить и восстановить атрибуты распределения файлов - Соединенные Штаты» . Архивировано из оригинала 2014-05-21 . Получено 2014-05-20 . )
- ^ «Ограничения файловой системы FAT32» . База знаний Microsoft . 2007-03-26. Архивировано из оригинала 2011-08-15 . Получено 2011-08-21 .
Кластеры не могут быть 64 килобит или больше
- ^ Дункан, Рэй (1989). «Цели проектирования и реализация новой высокопроизводительной файловой системы» . Microsoft Systems Journal. Архивировано из оригинала 2011-07-16 . Получено 2014-05-20 . [Nb. Этот конкретный текстовый файл имеет несколько ошибок OCR; Например, «Рэй» - это правильное имя автора; Не «Рой», как показывает текст.]
- ^ Чен, Раймонд (июль 2006 г.). «Microsoft Technet: краткая и неполная история FAT32» . Microsoft Technet Magazine. Архивировано из оригинала 2008-11-18 . Получено 2014-05-20 .
- ^ Jump up to: а беременный Les Bell; Associates Pty Ltd (1996-09-02) [1990]. «ОС/2 высокопроизводительная файловая система» . Консультант по поддержке ПК . Архивировано из оригинала 2014-03-01 . Получено 2014-06-24 .
- ^ Jump up to: а беременный Бриджес, Дэн (февраль 1996 г.). «Внутри высокопроизводительной файловой системы - часть 2/6: введение» . Значительные биты, Brisbug PC User Group Inc. Архивировано из оригинала 2015-09-23 . Получено 2014-06-24 .
- ^ Natuerlich! (1992-03-24). «Получение более длинных имен файлов от Gemdos» . comp.sys.atari.st.tech. Архивировано из оригинала 2014-04-24 . Получено 2014-05-05 .
- ^ Torvalds, Linus (1992-12-23). "Длинные имена файлов" . Comp.os.minix. Архивировано из оригинала 2014-04-23 . Получено 2014-05-05 .
- ^ «Монтирование (8): установка файловой системы» . Linux Man Page . Архивировано с оригинала 2014-05-05 . Получено 2014-05-20 .
Внешние ссылки
[ редактировать ]- ECMA-107 Том и структура файлов дисковых картриджей для обмена информацией , идентичная ISO/IEC 9293.
- Microsoft расширяемая инициатива прошивки FAT32 Спецификация файловой системы, FAT: Общий обзор формата на диске
- Понимание файловых систем FAT32 (объяснено для разработчиков встроенных прошивок)
- Понимание жира, включая много информации о LFN
- Подробное объяснение сектора загрузки жира : база знаний Microsoft Статья 140418
- Описание файловой системы FAT32 : База знаний Microsoft Статья 154997
- Внедрение файловой системы FAT12/FAT16/FAT32 для *NIX : включает библиотеки Libfat и Fusefat, драйвер файловой системы предохранителей
- MS-DOS: каталог и ограничения подкаталога : база знаний Microsoft Статья 39927
- Обзор файловых систем FAT, HPFS и NTFS : Microsoft Base Base Article 100108
- Ограничения объема и размера файлов жирных файловых систем : Microsoft Technet, копия, сделанная интернет -архивом Wayback Machine
- Microsoft Technet: краткая и неполная история FAT32 от Raymond Chen
- FAT32 Форматер Архивировал 2009-07-21 на машине Wayback : позволяет форматировать объемы более 32 ГБ с FAT32 под Windows 2000 , Windows XP и Windows Vista
- FDISK не распознает полноразмерные жесткие диски, более 64 ГБ : Microsoft Base Base Article 263044, копия, сделанная в интернет -архивном Archive Wayback Machine . Объясняет неспособность работать с чрезвычайно большими объемами под Windows 95/98.
- Microsoft Windows XP: файловая система FAT32 . Копия, сделанная интернет -архивом Wayback Machine статьи с кратким изложением ограничений в FAT32, которая больше не доступна на веб -сайте Microsoft.
- Визуальная планировка диска Fat16