Файловая система FAT обрабатывает большие файлы, разбитые на кластеры, организуя их в цепочку. frolov-lib.ru il.tpu.ru
При создании нового файла или увеличении существующего система ищет самый первый свободный кластер в таблице размещения файлов. www.bibliofond.ru Если кластеры, содержащие данные файла, расположены не подряд, то файл оказывается фрагментированным. www.bibliofond.ru
Чтобы прочитать файл, операционная система выполняет следующие шаги: www.bibliofond.ru
- Находит по имени файла запись в папке и читает номер первого кластера файла. www.bibliofond.ru
- Читает соответствующий первому кластеру файла элемент FAT. www.bibliofond.ru
- Если элемент содержит метку «последний в цепочке», то дальше ничего искать не нужно: весь файл умещается в одном кластере. www.bibliofond.ru
- Если кластер не последний, то элемент таблицы содержит номер следующего кластера. www.bibliofond.ru
- Содержимое следующего кластера читается вслед за первым. www.bibliofond.ru
- Когда находится последний кластер в цепочке, то, если файл не занимает весь кластер целиком, необходимо отсечь лишние байты кластера. www.bibliofond.ru
Чтобы записать файл, операционная система выполняет следующую последовательность действий: www.bibliofond.ru
- В свободном элементе папки создаётся описание файла. www.bibliofond.ru
- Ищется свободный элемент FAT, и ссылка на него размещается в записи папки. www.bibliofond.ru
- Занимается первый кластер, описываемый найденным элементом FAT. www.bibliofond.ru
- В этот элемент FAT помещается номер следующего кластера или признак последнего кластера в цепочке. www.bibliofond.ru
Обращение к последовательно расположенным кластерам происходит значительно быстрее, чем к кластерам, случайным образом разбросанным по диску. www.bibliofond.ru