- •«Сетевые операционные системы»
- •Назначение и основные функции ос
- •Реальный режим работы процессора
- •Защищенный режим работы процессора
- •Система прерываний в реальном режиме
- •Сегментная и страничная адресация оперативной памяти
- •Назначение оболочки (shell) ос
- •Организация ввода-вывода в ос
- •Типы файловых систем
- •Назначение и структура Master Boot Record на жестком диске
- •Основной и дополнительный разделы на жестком диске
- •Первичный раздел обязательно должен быть на физическом диске. Этот раздел всегда содержит только одну файловую систему. На физическом диске может быть до четырёх первичных разделов.
- •Структура файловой системы fat
- •Назначение и структура Boot Record
- •Понятие кластера. Связь секторов и кластеров
- •Структура таблицы fat-12:-16:-32
- •Описатель файла (каталога) в fat
- •Структура файловой системы ntfs
- •Отличия ntfs-4 и ntfs-5
- •Структура Master File Table в ntfs
- •Система прерываний в защищенном режиме
Понятие кластера. Связь секторов и кластеров
Кластер — это минимальная адресуемая единица дисковой памяти, выделяемая файлу (или некорневому каталогу). Размер кластера может составлять 1,2,4,8,16 секторов. Каждый файл занимает целое число кластеров.
Структура таблицы fat-12:-16:-32
Таблица FAT состоит из записей, количество которых равно количеству кластеров в области данных, а размер одной записи может быть равен 12, 16 или 32 битам. Соответственно говорят о разновидностях файловой системы FAT-12, FAT-16 или FAT-32. Размер записи должен быть таким, чтобы в ней можно было записать максимальный номер кластера. Например, для стандартной трехдюймовой дискеты емкостью 1.44 Мб достаточно использовать FAT-12, поскольку это позволяет иметь 212 = 4096 кластеров (на самом деле, чуть меньше), и даже при кластерах размером в 1 сектор (512 байт) этого более чем достаточно: 4096 512 = 2 Мб.
Записи FAT «по историческим причинам» нумеруются, начиная с 2 и кончая максимальным номером кластера, каждая запись FAT описывает соответствующий кластер с тем же номером. Запись может принимать следующие значения:
OOOOh - Свободный кластер
fff0h-fff6h - Зарезервированный кластер
fff7h - Плохой кластер
fff8h-ffffh - Последний кластер в цепочке
0002h-ffefh - Номер следующего кластера в цепочке
Теперь мы знаем, каким образом в системе FAT хранится информация о размещении сегментированного файла. Номер первого кластера файла хранится в записи каталога, а остальные кластеры можно последовательно определить по записям таблицы FAT.
Описатель файла (каталога) в fat
Корневой каталог описывает файлы и другие каталоги. Элементом каталога является дескриптор (описатель) файла.
Дескриптор каждого файла и каталога включает его
имя (8 байт)
расширение (3)
дату создания или последней модификации (2)
время создания или последней модификации (2)
атрибуты (1) (архивный, атрибут каталога, атрибут тома, системный, скрытый, только для чтения)
длину файла (для каталога - 0 ) (4)
зарезервированное поле, которое не используется (10)
номер первого кластера в цепочке кластеров, отведенных файлу или каталогу; получив этот номер, операционная система, обращаясь к таблице FAT, узнает и все остальные номера кластеров файла (2 байта).
Структура файловой системы ntfs
NTFS –встроенная файловая система Windows 2000. NTFS использует
64-разрядные индексы кластеров. Это позволяет ей адресовать тома размером
до 16 миллиардов Гб. Однако Windows 2000 ограничивает размеры томов NTFS до
значений, при которых возможна адресация 32-разрядными кластерами, т.е. до
128 Тб (с использованием кластеров по 64 Кб).
Структура NTFS начинается с тома. Том соответствует логическому разделу на диске и создается при форматировании диска или его части под NTFS. На диске может быть один или несколько томов. NTFS обрабатывает каждый том независимо от других. Том состоит из набора файлов и свободного пространства, оставшегося в данном разделе диска. В томе NTFS все данные файловой системы вроде битовых карт, каталогов и начального загрузочного кода хранятся как обычные файлы.
Размер кластера на томе NTFS, или кластерный множитель, устанавливается при форматировании тома командой format. Размер кластера по умолчанию определяется размером тома, но всегда содержит целое число физических секторов с дискретностью N2. Кластерный множитель выражается числом байт в кластере, например 512 байт, 1Кб или 2Кб.
Внутренне NTFS работает только с кластерами. Однако NTFS инициирует низкоуровневые операции ввода-вывода на томе, выравнивая передаваемые данные по размеру сектора и подгоняя их объем под значение, кратное размеру секторов. NTFS использует кластер как единицу выделения пространства для поддержания независимости от размера физического сектора. Это позволяет NTFS эффективно работать с очень большими дисками, используя кластеры большего размера, и поддерживать нестандартные диски с размером секторов отличным от 512 байт. Применение больших кластеров на больших томах уменьшает фрагментацию и ускоряет выделение свободного пространства за счет небольшого проигрыша в эффективности использования дискового пространства.