ОС / 3. ОС - Управление данными
.pdf
31
Направления развития файловых систем UNIX/Linux
Дисковый том разбивается на несколько групп цилиндров. Каждая группа содержит:
копию общего суперблока;
отдельный массив дескрипторов;
блоки данных;
количество и местонахождение свободных блоков данных.
Для хранения данных о свободных блоках используется битовая карта.
Все файлы одного каталога, а также их дескрипторы, по возможности размещаются в пределах одной группы цилиндров.
Подкаталоги по возможности НЕ размещаются в той же группе цилиндров, что родительский каталог.
Операционные системы. Управление данными
32
Файловая система NTFS (Windows)
Основные черты:
высокая производительность, быстрый поиск файлов;
развитые средства многопользовательской защиты данных ;
обеспечение целостности данных при сбоях (механизм транзакций);
сжатие данных на уровне отдельных файлов;
возможность хранения файлов в зашифрованном виде;
точки повторного анализа (reparse points);
возможность протоколирования всех изменений в файловой системе (аудит);
расширяемость системы, возможность добавления новых атрибутов файлов.
Операционные системы. Управление данными
33
Структура тома NTFS
BOOT – загрузочный сектор;
MFT – главная таблица файлов (содержит записи обо всех файлах и каталогах);
Резерв – сохраняется (если возможно) для будущего роста MFT без сегментации;
Область данных – кластеры для размещения файлов и каталогов.
Операционные системы. Управление данными
34
Два принципа NTFS
На диске нет ничего, кроме файлов.
В файле нет ничего, кроме атрибутов.
Операционные системы. Управление данными
35
Файлы метаданных
(всегда присутствуют на диске)
|
$MFT |
Сама MFT как файл. |
|
$MFTMirr |
Копия первых 16 записей MFT. |
|
$LogFile |
Журнал протоколирования |
|
|
транзакций. |
|
$Volume |
Информация о томе: имя, серийный |
|
|
номер, дата форматирования и т.п. |
|
$AttrDef |
Список всех атрибутов, используемых |
|
$. |
для описания файлов на данном томе. |
|
Корневой каталог |
|
|
$Bitmap |
Битовая карта занятости кластеров |
|
$Boot |
BOOT-сектор как файл |
|
$BadClus |
Файл всех дефектных кластеров |
Операционные системы. Управление данными
36
Файлы метаданных (продолжение)
|
$Secure |
Все различные дескрипторы защиты, |
|
|
встречающиеся на данном томе. |
|
$UpCase |
Пары заглавных/строчных букв для |
|
|
всех языков. |
|
$Extend |
Каталог, содержащий следующие 4 |
|
|
файла: |
|
$ObjId |
GUID для файлов, на которые есть |
|
|
ярлык или COM-связь; |
|
$Quota |
квоты дискового пространства для |
|
|
пользователей; |
|
$Reparse точки повторного анализа; |
|
|
$UsnJrnl |
журнал изменений в файловой |
|
|
системе. |
Операционные системы. Управление данными
37
Структура записи MFT
Заголовок атрибута:
тип атрибута;
имя атрибута (необязательное поле);
длина атрибута;
указатель на значение атрибута.
Значение атрибута:
хранится резидентно (внутри записи MFT) или нерезидентно (в кластерах области данных).
Операционные системы. Управление данными
38
Некоторые типы атрибутов в NTFS
|
$FILE_NAME |
Имя файла (или каталога). Допускается несколько |
|
|
атрибутов этого типа (т.е. несколько имен у одного |
|
|
файла). |
|
$STANDARD_ |
Размер файла, дата/время создания, изменения и |
|
INFORMATION |
доступа, флаги READONLY, SYSTEM, HIDDEN, ARCHIVE. |
|
|
|
|
$SECURITY_ |
Права доступа к файлу для различных пользователей и |
|
DESCRIPTOR |
групп. |
|
|
|
|
$DATA |
Данные файла. Есть возможность задать несколько |
|
|
атрибутов этого типа (несколько потоков данных в одном |
|
|
файле): основной – безымянный, остальные с именами. |
|
$INDEX_ROOT |
Начальная часть каталога (резидентная в MFT). |
|
|
|
|
$INDEX_ALLO |
Расширение большого каталога (размещается в |
|
CATION |
кластерах области данных). |
|
|
|
|
$VOLUME_ |
Имя дискового тома. |
|
NAME |
|
|
|
|
|
|
|
Операционные системы. Управление данными
39
Функция CreateFile
Используется как для создания файла, так и для открытия ранее созданного файла.
Параметры:
Имя файла (включая путь, если не в текущем каталоге);
Режимы доступа и разделения;
Атрибуты защиты;
Режим создания (что делать, если файл уже существует, и что – если не существует);
Битовые атрибуты и флаги:
скрытый, системный, архивный, для чтения (как в MS-DOS);
сжатый;
временный (запись на диск нежелательна, лучше держать в кэше);
флаги использования кэша (при чтении и записи, только при чтении или вообще не использовать);
флаг буферизации для последовательного или произвольного доступа;
флаг открытия для асинхронных операций;
флаг удаления при закрытии.
Возвращает хэндл открытого файла.
Операционные системы. Управление данными
40
Защита данных в Windows
Идентификация пользователя:
логин и пароль;
биометрические устройства.
Маркер доступа (access token):
создается при входе в систему;
содержит:
идентификатор пользователя (SID),
идентификаторы всех групп, куда он входит,
привилегии пользователя;
Дескриптор защиты:
хранится для каждого файла, каталога и других защищаемых объектов;
содержит:
SID владельца объекта,
пользовательский список управления доступом (DACL),
системный список управления доступом (SACL).
Операционные системы. Управление данными
