Лекция 12 Файловые системы NTFS - продолжение
ТТХ
Потери Кластер - минимальный объем дискового пространства, который может быть выделен для хранения файла Если размер файла не кратен размеру кластера, для его хранения необходимо использовать дополнительное пространство (кратное размеру кластера) Потери = {размер кластера}/2*{количество файлов}
MFT подробности Первые 12% - MFT-зона Копия – логическая середина диска Если файл занимает менее 1500 байт – он целиком размещается в MFT Иначе помещается только резидентная часть.
MFT Состоит из записей фиксированного размера. (мин. 1Кб макс. 4Кб и определяется во время форматирования) Каждая запись соответствует какому либо файлу Если для информации не хватает одной записи MFT, то используется несколько записей. Если файл имеет не очень большой размер, то данные хранятся прямо в MFT.
Файлы Идентифицируется файловой ссылкой (File Reference) – 64 разрядное число Номер файла, соответствующий записи в MFT Номер последовательности. Увеличивается всякий раз, когда данный номер в MFT используется повторно, позволяет файловой системе выполнять проверку целостности Представлены виде потоков (streams), т.е. данные – поток, атрибуты – поток.
Атрибуты
Каталоги Специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже представляет полную информацию об элементе каталога. Внутренняя структура – бинарное дерево. Поиск осуществляется с помощью получения двухзначных ответов на вопросы о положении файла. В какой группе относительно данного элемента находится искомое имя – выше или ниже? Поиск начинается с среднего элемента Сравнение начальных букв
Бинарный поиск
Вывод FAT – поиск одного файла среди 1000 – в среднем 500 сравнений (наиболее вероятно в середине поиска) Дерево - ~12 (2^10 = 1024).
Журналирование Отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Транзакция - действие, совершаемое целиком и корректно или не совершаемое вообще. Пример 1: осуществляется запись данных на диск. физическое повреждение поверхности. Транзакция записи откатывается целиком - система осознает, что запись не произведена. Место помечается как сбойное, а данные записываются в другое место - начинается новая транзакция.
Пример 2 Идет запись данных на диск. Отключается питание и система перезагружается. Используется журнал транзакций Пометка желания записать данные в $LogFile При перезагрузке $LogFile проверяется на наличие незавершенных транзакций. Все транзакции отменяются, а место помечается свободным. Элементы MFT приводятся в состояние «до сбоя». Ошибка произошла при записи в журнал!!! Транзакция либо еще не началась (намерение ее произвести) Либо завершена и надо записать результат. Система проверит, записано ли корректно, и не обратит внимания на «незаконченную» транзакцию.
Сжатие Файлы имеют атрибут – «сжатый» Совершенно прозрачно для приложений. Очень высокая скорость сжатия – огромная виртуальная фрагментация сжатых файлов. Осуществляется блоками по 16 кластеров, используя «виртуальные кластеры» (половина файла может быть сжата, а половина нет)
Сжатие Обычное положение: кластеры файла с 1 по 43-й хранятся в кластерах диска начиная с 400-го кластеры файла с 44 по 52-й хранятся в кластерах диска начиная с 8530-го... Физическая раскладка типичного сжатого файла: кластеры файла с 1 по 9-й хранятся в кластерах диска начиная с 400-го кластеры файла с 10 по 16-й нигде не хранятся кластеры файла с 17 по 18-й хранятся в кластерах диска начиная с 409-го кластеры файла с 19 по 36-й нигде не хранятся
Задание на семинар Access Control List (ACL) в NTFS – Определение, принцип работы, примеры, скриншоты. Дефрагментация в NTFS, определение, принцип работы, пример.