logo
622221s_i_622231 версия 2 / 622231 / очн 622231 / СИСТООХИПИ 622231 / МУ_ПЗ_СИСТООХИПИ_защ

Размещение информации на дисках

Дорожки диска разбиты на секторы. В одном секторе дорожки обычно размещается 512 байт данных. Обмен данными между НМД и ОП осуществляется последовательно кластерами, содержащими целое число секторов.Кластер- это минимальная единица размещения информации на диске, состоящая из двух или большего числа смежных секторов дорожки (кластеры называют также единицами выделения памяти - allocation unit). Поэтому, если необходимо разместить на диске маленький файл, например размером 20 байт, он все равно займет дисковое пространство размером в кластер (минимум 2 × 512 = 1024 байт).

Количество секторов в кластере должно быть равно целой степени 2. Таблица FAT16 в 16 битах отображает значение максимального номера кластера, количество кластеров на диске (или в разделе диска) не больше, чем 216= 65 525. По причине выхода за пределы 16-битной адресации внутри кластера его максимальный размер должен быть меньше 64 Кбайт. В FAT 16 размер кластера (и количество кластеров) можно определить, разделив объем памяти диска на 64 Кбайт (65525) и округлив результат до ближайшего большего числа, кратного степени двойки. Так, для диска емкостью 1, 2 Гбайт размер кластера составит: 1258291, 2/65, 5 = 19, 2 Кбайт, после округления получим 32 Кбайт; для дисков емкостью 2 Гбайт размер кластера составит 64 Кбайт, а для 2, 5-гигабайтных дисков - более 64 Кбайт, что недопустимо. Иными словами, FAT16 практически может работать только с дисками емкостью не более 2 Гбайт.

Поэтому была разработана более мощная 32-разрядная файловая система FAT32. В этой системе количество секторов и количество кластеров могут быть одинаковыми и не превышать 232 единицы. Хотя размер кластера с целью экономии дискового, пространства можно было бы сделать равным одному сегменту, это не сделано по причине большого размера файла FAT - таблицы размещения файлов (по имени этой таблицы называют и всю файловую систему целиком), который для диска, например, емкостью 10 Гбайт в этом случае будет иметь размер 80 Мбайт (а таких файлов на диске должно быть два, и один из них при наличии кэш-памяти для диска загружается в ОП!). Поэтому размеры кластеров в FAT32 приняты следующими (табл. 6. 3).

Таблица 6. 3. Размеры кластеров в FAT32

Емкость диска, Гбайт

Размер кластера, Кбайт

До 8

4

До 16

8

До 32

15

Более 32

32

ПРИМЕЧАНИЕ: На диске емкостью 20 Гбайт 10-байтовый файл будет занимать 16 Кбайт памяти (поскольку файл должен занимать целое число кластеров). Высвободить свободное пространство в кластерах для использования другими файлами позволяют программы сжатия диска, в частности DriveSpace. Но надежность работы файловой системы при этом снижается.

Кластеры, выделяемые одному файлу, могут находиться в любом свободном месте дисковой памяти и не обязательно являются смежными. Файлы, хранящиеся в разбросанных по диску кластерах, называются фрагментированными.