Кто-то снова скажет - это прошлый век! И будет прав. Но я всё равно время от времени возвращаюсь к разговорам об устаревших технологиях. По следующим причинам:
- Мне нравится изучать, как развивались информационные технологии. Я люблю историю, и считаю, что без понимания прошлого нет будущего (не я, кстати, сказал).
- Понять современные технологии проще, если знаешь, как всё это начиналось. Ведь и читать мы учимся не сразу - сначала изучаем буквы, то есть то, что проще. А потом уже переходим к словам, предложениям…
- Всё новое - это хорошо забытое старое. Нередко бывает проще, дешевле и быстрее применить старые технологии, чем мучится с новыми.
Так что сегодня расскажу о том, что такое FAT. Ведь кто-то уже забыл, а кто-то и не знал )))
FAT - это File Allocation Table - таблица размещения файлов.
В этой таблице хранятся ссылки на секторы диска, в которых последовательно находятся очередные части файлов (ну да, файлы обычно хранятся не одним куском, а разбросаны частями по разным местам диска, это, кстати, и называется фрагментацией).
Как известно, структура дискового пространства состоит из (имеются в виду “классические” диски, а не SSD и не флешки):
- Диск (или пакет дисков). Физическое устройство (не логический диск).
- Рабочая поверхность диска.
- Магнитная дорожка диска. Это одна из многих дорожек, которые расположены на диске в виде окружностей.
- Сектор. Каждая дорожка разделена на секторы. Сектор - это наименьшая единица дискового пространства.
В файловой системе FAT смежные секторы диска объединяются в единицы, которые называются кластерами.
Первая структура тома FAT расположена в нулевом секторе. Это зарезервированная область, недоступная для хранения пользовательских данных. Это так называемый загрузочный сектор, в котором хранятся тип файловой системы и характеристики носителя (диска).
Всего существует четыре системы FAT:
- FAT12. Эта система использовалась на дискетах.
- FAT16. Использовалась для небольших дисков в первых версиях DOS.
- FAT32. Эта система уже позволяла использовать относительно большие диски, и применялась в DOS и Windows вплоть до Windows Millenium.
- exFAT (FAT64).
Эти системы отличаются разрядностью записей в дисковой структуре, то есть количеством бит, отведённых для хранения номера кластера. Соответственно, чем меньше разрядность, тем меньший номер кластера можно хранить. И, следовательно, тем с меньшим объёмом диска может работать система.
Если нужно обратиться к какому-то файлу, то операционная система получает начальный кластер файла и считывает в память. Если файл не помещается в одном кластере, то система находит в таблице размещения файлов номер следующего кластера и считывает новую порцию файла. И так до тех пор, пока не будет получен признак последнего кластера. В FAT16, например, это число FFF0h.
Любое изменение файла приводит к тому, что данные сохраняются не только в кластеры, где расположен файл, но и в FAT.
В начальных секторах диска обычно содержится две копии FAT на случай повреждения. При проверке диска предназначенными для этого программами выполняется сравнение двух копий. Если они отличаются, то по особым алгоритмам определяется, какая из них правильная, и затем они обе делаются одинаковыми.
На этом всё. Подписывайтесь на канал или подключайтесь к Телеграм-каналу, чтобы ничего не пропустить.