Слайд 1Файловые системы
Файловая система NTFS
Слайд 2Файловая система NTFS
Защита целостности данных
Слайд 3Защита целостности данных
NTFS является восстанавливаемой ФС и поддерживает следующие технологии
защиты целостности данных:
Тома с аппаратной или программное поддержкой RAID 0,
RAID 4, RAID 5 и пр.
Горячая фиксация - позволяет файловой системе при возникновении ошибки из-за плохого кластера записать информацию в другой кластер и отметить сбойный в качестве плохого.
Механизм транзакций - каждая операция ввода-вывода, которая изменяет файл на разделе NTFS, рассматривается файловой системой как транзакция и может выполняться только как неделимый блок.
Система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных.
Слайд 4Целостность данных и кэширование
NTFS осуществляет доступ к кэшированным файлам, отображая
последние в виртуальную память выполняя чтение и запись.
Диспетчер кэша оптимизирует
дисковый ввод-вывод при помощи средства отложенной записи (lazy writer) - набора системных потоков управления, вызывающих диспетчер виртуальной памяти для сброса содержимого кэша на диск в фоновом режиме (асинхронная запись на диск).
В связи с применением механизма отложенной записи данные записанные в кэш-память могут быть потеряны с случае сбоя электропитания.
Система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных.
Слайд 5Горячая фиксация
а) MFT-запись файла с плохим кластером;
б) исправленная MFT-запись файла;
Слайд 6Механизм транзакций
Восстанавливаемость файловой системы в NTFS обеспечивается при помощи техники
обработки транзакций, называемой протоколированием (logging).
В процессе протоколирования, прежде чем
выполнить над содержимым диска какую-либо подоперацию транзакции, изменяющей важные структуры файловой системы, NTFS записывает ее в файл журнала транзакций.
Слайд 7Механизм транзакций
В состав средств протоколирования NTFS входят следующие компоненты:
журнал транзакций
(log file) – это системный файл, создаваемый командой Format.
сервис
журнала операций (log file service, LFS) – набор системных процедур, которые NTFS использует для доступа к журналу транзакций. (log file).
диспетчер кэша (cache manager) – это системный компонент Windows, поддерживающий кэширование для NTFS и драйверов других файловых систем (FAT32).
Слайд 8Примеры транзакций NTFS
создание файла
удаление файла
расширение файла
урезание файла
установка файловой информации
переименование файла
изменение
прав доступа к файлу
Слайд 9Файл журнала
Файл журнала состоит из двух частей:
область рестарта (restart area)
– в этой области NTFS хранит информацию о том, откуда
начинать чтение области протоколирования при восстановлении после сбоя системы. На тот случай, что область рестарта будет разрушена или станет по каким-либо причинам недоступной, LFS создает ее копию.
область протоколирования (logging area)– в которой находятся записи транзакций, обеспечивающие NTFS восстановление после сбоя. LFS создает иллюзию бесконечности журнала транзакций путем ее циклического повторного использования с использованием механизма разреженных файлов. Для идентификации записей, помещенный журнал, LFS использует номера логической последовательности (logical sequence number, LSN).
Слайд 10Записи в файле журнала
записи модификации
записи подтверждения транзакции
записи контрольной точки
Слайд 11Записи модификации
Большинство записей в журнале транзакций – записи модификации.
Слайд 12Структура записи модификации
Информация для повтора (redo info)
как вновь
применить к тóму одну подоперацию полностью запротоколированной транзакции, если сбой
системы произошел до того, как транзакция была переписана из кэша на диск.
Информация для отмены (undo info)
как устранить изменения, вызванные одной подоперацией транзакции, которая в момент сбоя была запротоколирована лишь частично. Каждая запись отмены содержит LSN предыдущей записи модификации этой же транзакции!
Слайд 13Записи подтверждения транзакции
После протоколирования транзакции NTFS выполняет ее подоперации
непосредственно над томом – в кэше.
По окончании обновления кэша
NTFS помещает в журнал еще одну запись – подтверждение транзакции (committing a transaction). После того как транзакция подтверждена, NTFS гарантирует, что все вызванные ею модификации будут отражены на томе, даже если после подтверждения произойдет сбой системы.
Слайд 14Запись контрольной точки
Периодически (5 сек.) NTFS помещает в журнал транзакций
записи контрольной точки:
Запись контрольной точки помогает NTFS определить, какая обработка
необходима для восстановления тома, если сбой произошел “сразу” после помещения этой записи в журнал.
LSN контрольной точки записывается в область рестарта.
Слайд 15Таблицы восстановления
Контрольная точка содержит две таблицы восстановления:
Таблица транзакций (transaction table)
предназначена для отслеживания транзакций, которые были начаты, но еще не
подтверждены. Их надо удалить в процессе восстановления.
В таблицу измененных страниц (dirty page table) записывается информация о том, какие изменения структуры файловой системы еще не записанные на диск. Эти данные в процессе восстановления должны быть сброшены на диск.
Слайд 16Взаимодействие NTFS со связанными компонентами
1. Протоколирование транзакции
5. Вызов диспетчера ВП
для доступа к спроецированному файлу
3. Сброс журнала транзакций на диск
?
4. Чт/Зп/Сброс на диск журнала транзакций
2. Запись обновлений тома
Слайд 17Взаимодействие NTFS со связанными компонентами
Протоколирование транзакции
Вызов диспетчера ВП для доступа
к спроецированному файлу
Сброс журнала транзакций на диск
Запись в кэш
Загрузка данных
с диска в память
Чт/Зп обновлений тома
Слайд 18Взаимодействие NTFS со связанными компонентами
NTFS никогда не выполняет чтение-запись транзакций
в журнал напрямую. LSN обеспечивает сервисы, которые NTFS вызывают для
открытия файла журнала, помещения в журнал записей, считывания записей журнала в прямом и в обратном порядке, сброса записей журнала и т.д.
Система обеспечивает восстановление тома следующим образом:
1. Сначала NTFS вызывает LFS для записи в (кэшированный) файл журнала любых транзакций, модифицирующих структуру тома.
2. NTFS модифицирует том (также в кэше).
3. Диспетчер кэша вызывает LFS для уведомления о необходимости сбросить журнал транзакций на диск (этот сброс реализуется LFS при помощи обратного вызова диспетчера кэша с указанием страниц памяти, подлежащих выводу на диск).
4-5. Сбросив на диск журнал транзакций, диспетчер кэша записывает на диск изменения тома (сами транзакции).
Слайд 19Процесс восстановления
При восстановлении тома NTFS загружает журнал транзакций в оперативную
память и выполняет три прохода:
анализ;
повтор транзакций;
отмена транзакций.
Слайд 20Фаза анализа
При проходе анализа осуществляется поиск до конца журнала и
таблицы последней контрольной точки приводятся в актуальное состояние.
Если запись
модификации – это запись подтверждения транзакции, то информация о соответствующей транзакции должна быть удалена из таблицы транзакций.
Если запись модификации – это запись обновления страницы, то есть запись, которая изменяет структуру файловой системы, то следует внести поправку в таблицу измененных страниц.
Затем NTFS просматривает обе таблицы для того, чтобы найти номер LSN самой старой записи модификации, регистрирующая операцию, которая не была выполнена над диском.
Слайд 21Фаза повтора транзакции
сканирование журнала транзакций в прямом направлении, начиная с
LSN самой старой записи, которая была обнаружена на проходе анализа;
поиск
записей "обновление страницы", содержащие модификации тома, которые были запротоколированы до сбоя системы, но не сброшены из кэша на диск;
повторение найденных обновлений в кэш.
Слайд 22Фаза отмены транзакции
откат всех транзакций, не подтвержденных к моменту сбоя
системы, с протоколированием в журнале транзакций;
поскольку отмена транзакций изменяет структуру
ФС на томе, NTFS должна протоколировать операцию отмены в журнале транзакций;
сброс на диск изменений кэша;
запись пустой области рестарта.
Слайд 23Файловые системы
Безопасность в NTFS
Слайд 24Безопасность в NTFS
Защита файлов NTFS на объектном уровне определяет, имеет
ли пользователь необходимые права для вызова какого-либо из этих методов.
Шифрование
файлов с помощью специального драйвера EFS (Encrypting File System).
Слайд 25Стандартные разрешения для файлов и папок
Full Control (Полный доступ)
Modify (Изменить)
Read
& Execute (Чтение и выполнение)
Read (Чтение)
Write (Запись)
Слайд 26Специальные разрешения для файлов и папок
Traverse Folder/Execute File (Обзор папок/
Выполнение файлов)
List Folder/Read Data (Содержание папок/ Чтение данных)
Read Attributes
(Чтение атрибутов)
Read Extended Attributes (Чтение дополнительных атрибутов)
Create Files/Write Data (Создание файлов/Запись данных)
Create Folders/Append Data (Создание папок/ Дозапись данных)
Write Attributes (Запись атрибутов)
Write Extended Attributes (Запись дополнительных атрибутов)
Delete (Удаление)
Read Permissions (Чтение разрешений)
Change Permissions (Смена разрешений)
Take Ownership (Смена владельца)
Слайд 27Специальные разрешения для файлов и каталогов
Слайд 28Специальные разрешения для файлов и каталогов
Слайд 29Область действия разрешений
This folder only (Только для этой папки);
This
folder, subfolders and files (Для этой папки, ее подпапок и
файлов);
This folder and subfolders (Для этой папки и ее подпапок);
This folder and files (Для этой папки и ее файлов);
Subfolders and files only (Только для подпапок и файлов);
Subfolders only (Только для подпапок);
Files only (Только для файлов).
Слайд 30Шифрующая файловая система
Применяется для защиты файлов, хранящихся в томах NTFS:
надежный
и простой доступ пользователя к зашифрованным файлам;
на физическом уровне исключение
возможности несанкционированного доступа к файлам от посторонних лиц;
особенно выгодна мобильным пользователям, которые сталкиваются с повышенным риском кражи и потери компьютера.
Слайд 31Архитектура EFS
EFS располагается в ядре Windows 2000-2003
Драйвер EFS
Библиотека реального времени
EFS
Служба EFS
Набор CryptoAPI для Win32
Слайд 32Архитектура EFS
Драйвер EFS. Драйвер EFS является надстройкой над файловой системой
NTFS. Он обменивается данными со службой EFS — запрашивает ключи
шифрования, наборы DDF (Data Decryption Field) и DRF (Data Recovery Field), — а также с другими службами управления ключами. Полученную информацию драйвер EFS передает библиотеке реального времени файловой системы EFS (File System Run Time Library, FSRTL), которая прозрачно для операционной системы выполняет различные операции, характерные для файловой системы (чтение, запись, открытие файла, присоединение информации).
Библиотека реального времени файловой системы EFS. FSRTL — это модуль, находящийся внутри драйвера EFS, реализующий вызовы NTFS, выполняющие такие операции, как чтение, запись и открытие зашифрованных файлов и каталогов, а также операции, связанные с шифрованием, дешифрованием и восстановлением файлов при их чтении или записи на диск. Хотя драйверы EFS и FSRTL реализованы в виде одного компонента, они никогда не обмениваются данными напрямую. Для передачи сообщений друг другу они используют механизм вызовов (callouts) NTFS, предназначенный для управления файлами. Это гарантирует, что вся работа с файлами происходит при непосредственном участии NTFS. С помощью механизма управления файлами операции записи значений атрибутов EFS (DDF и DRF) реализованы как обычная модификация атрибутов файла. Кроме того, передача ключа шифрования файла РЕК (см. ниже), полученного службой EFS, в FSRTL выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем контекст файла используется для автоматического выполнения операций шифрования и дешифрования при записи и чтении информации файла.
Служба EFS. Служба EFS (EFS Service) является частью системы безопасности операционной системы. Для обмена данными с драйвером EFS она использует порт связи LPC, существующий между локальным администратором безопасности (Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор API для Win32.
Набор API для Win32. Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного дешифрования). Эти API поддерживаются стандартным системным модулем DLL — advapi32.dll.
Слайд 33Технологии шифрования EFS
EFS использует различные симметричные алгоритмы шифрования, зависящие
от версии Windows (см. таблицу).
Для повышения защиты EFS использует комбинацию
симметричного и асимметричного шифрования.
EFS не шифрует файлы, передаваемые по сети, поэтому для защиты передаваемых данных необходимо использовать другие протоколы защиты данных (IPSec или WebDAV).
Слайд 34Сравнение симметричных и асимметричных алгоритмов шифрования
В асимметричных системах необходимо применять
длинные ключи (512 битов и больше). Длинный ключ резко увеличивает
время шифрования. Кроме того, генерация ключей весьма длительна. Зато распределять ключи можно по незащищенным каналам.
В симметричных алгоритмах используют более короткие ключи, т. е. шифрование происходит быстрее, поэтому их назначение – групповое шифрование больших объемов данных. Но в таких системах сложно распределение ключей.
Слайд 35Общая схема симметричного шифрования
Шифрование и дешифрование выполняется с использованием
одного и того же секретного ключа.
Примеры симметричных алгоритмов – DESX,
AES, TripleDES.
Слайд 36Общая схема асимметричного шифрования
Шифрование и дешифрование выполняется с использованием разных
ключей.
Примеры асимметричных алгоритмов – RSA.
Слайд 37Шифрование и дешифрование
Для шифрования каждого файла используется случайно-сгенерированный ключ, называемый
File Encryption Key (FEK), выбор симметричного шифрования на данном этапе
объясняется его скоростью и большей надёжностью по отношению к асимметричному шифрованию.
FEK (случайный для каждого файла ключ симметричного шифрования) защищается путём асимметричного шифрования использующим открытый ключ пользователя шифрующего файл и алгоритм RSA (теоретически возможно использование других алгоритмов асимметричного шифрования). Зашифрованный таким образом ключ FEK сохраняется в альтернативном потоке $EFS файловой системы NTFS.
Для расшифрования данных драйвер шифрованной файловой системы прозрачно для пользователя расшифровывает FEK используя закрытый ключ пользователя (RSA 1024), а затем и необходимый файл с помощью расшифрованного файлового ключа.
Закрытый ключ пользователя записан в реестре в зашифрованном виде. Ключ к расшифровке - пароль пользователя.
Слайд 40Способы шифрования в NTFS
шифрование файлов и папок с использованием Проводника
(установка специального атрибута папки/файла)
шифрование файлов и папок с использованием CryptoAPI
шифрование
файлов и папок с использованием cipher
копирование файлов и папок в папку, поддерживающую шифрование
Слайд 42Шифрование файлов и папок
cipher [/Е | D] [t/S:каталог] [/A] [/I]
[/F] [/Q] [/Н] [/К] [путь [...]]
Слайд 43Шифрование файлов и папок
При необходимости зашифровать файл/папку необходимо использовать синтаксис:
cipher
/E , при необходимости расшифровать файл синтаксис
cipher /D
<путь к папке>.
Слайд 44CryptoAPI
EncryptFile
DecryptFile
FileEncryptionStatus
AddUsersToEncryptedFile
RemoveUsersFromEncryptedFile
EncryptionDisable
…
Слайд 45Ограничения EFS
Могут быть зашифрованы только файлы и папки, находящиеся на
томах NTFS.
Сжатые файлы и папки не могут быть зашифрованы. Если
шифрование выполняется для сжатого файла или папки, файл или папка преобразуются к состоянию без сжатия.
Зашифрованные файлы могут стать расшифрованными, если файл копируется или перемещается на том, не являющийся томом NTFS.
При перемещении незашифрованных файлов в зашифрованную папку они автоматически шифруются в новой папке. Однако обратная операция не приведет к автоматической расшифровке файлов. Файлы необходимо явно расшифровать.
Не могут быть зашифрованы файлы с атрибутом «Системный» и файлы в структуре папок системный корневой каталог.
Шифрование папки или файла не защищает их от удаления. Любой пользователь, имеющий права на удаление, может удалить зашифрованные папки или файлы. По этой причине рекомендуется использование EFS в комбинации с разрешениями системы NTFS.
Могут быть зашифрованы или расшифрованы файлы и папки на удаленном компьютере, для которого разрешено удаленное шифрование. Однако если зашифрованный файл открывается по сети, передаваемые при этом по сети данные не будут зашифрованы.
Слайд 46Политика восстановления данных
Система EFS предоставляет установить политику восстановления данных таким
образом, что зашифрованные данные могут быть восстановлены при помощи EFS,
если это потребуется.
Политика восстановления данных встроена в общую политику безопасности Windows. Контроль за соблюдением политики восстановления может быть делегирован уполномоченным на это лицам. Для каждого подразделения организации может быть сконфигурирована своя политика восстановления данных.
Слайд 48Шифрование диска с помощью BitLocker
Программа шифрования BitLocker тесно встроена
в операционные системы Windows Vista и Windows Server 2008:
BitLocker шифрует все
пользовательские и системные файлы на томе ОС, включая файлы подкачки и гибернации. Также возможно шифрование томов данных.
Алгоритм, применяемый для шифрования – AES с длиной ключа 128 или 256 бит.
На компьютерах с доверенным платформенным модулем (TPM) версии 1.2 программа BitLocker использует улучшенные возможности обеспечения безопасности доверенного платформенного модуля. Это дает гарантию, что данные доступны только при неизмененных компонентах загрузки компьютера и нахождении зашифрованного диска в исходном компьютере.
http://technet.microsoft.com/ru-ru/library/cc732725(WS.10).aspx
Слайд 49Файловая система NTFS
Дополнительные возможности
Слайд 50Дополнительные возможности NTFS
Hard Link – несколько имен для одного
файла
Точки подсоединения
NTFS (junction point)
Слайд 51Создание Hard Link
fsutil hardlink create
Пример: fsutil
hardlink create c:\foo.txt c:\bar.txt
Слайд 52Точки подсоединения
Другим новшеством в Windows 2000 стало монтирование устройств. Утилита
Disk Administrator Windows NT позволяла назначить тому букву латинского алфавита.
Этот довольно простой метод дает возможность обратиться к любому дисковому устройству из стандартного меню открытия файла. Естественным ограничением на количество локальных и подключенных сетевых устройств было число 26, соответствующее числу букв латинского алфавита.
Подмонтирование возможно только к пустым папкам на NTFS-томах, а точки монтирования вы можете создать или из оснастки «Управление дисками», или из командной строки при помощи команды mountvol. Для того, чтобы отличить подмонтированные накопители от обычных папок, Explorer показывает их иконками соответствующих устройств. Для чего это может понадобиться? Во-первых, можно таким образом преодолеть ограничение на количество доступных логических дисков (ранее их не могло быть больше 26 - по числу букв латинского алфавита), повысить ёмкость существующих томов не используя динамические и… создавать отказоустойчивые папки на обычных томах.
Например, при монтировании нового основного раздела к папке D:\My Work Stuff все последующие обращения к этой папке будут автоматически переадресованы на соответствующий новый основной раздел, даже если он расположен на другом физическом диске, чем устройство D:. Если новый том является отказоустойчивым, то и папка D:\My Work Stuff считается отказоустойчивой, даже если само устройство D: этим качеством не обладает.
Слайд 53Утилита Mountvol
С помощью утилиты mountvol.exe можно:
Отобразить корневую папку локального тома
в некоторую папку NTFS 5.0 (другими словами, подключить том). Вывести
на экран информацию о целевой папке точки соединения NTFS, использованной при подключении тома. Просмотреть список доступных для использования томов файловой системы. Уничтожить точки подключения томов, созданных с помощью mountvol.
Применяя утилиту mountvol, можно избежать использования большого количества имен устройств, поскольку обращение к необходимому тому происходит через корневую папку. Утилита mountvol создает неизменные связи с корневыми папками локального тома файловой системы. Она применяет в работе новую технологию, гарантирующую, что при изменениях в параметрах оборудования целевая папка не изменяется.
Синтаксис вызова утилиты mountvol;
mountvol [устройство:]путь Имя_тома
где:
[устройство:]путь — определяет существующую папку NTFS 5.0, являющуюся точкой подключения тома; имя_тома — определяет имя подключаемого тома.
Параметры утилиты mountvol:
/о — уничтожение существующей точки подключения у указанной папки.
/l — отображение списка томов, подключенных к данной папке.
Слайд 54Фрагментация файлов в NTFS
NTFS полностью не предотвращает фрагментацию
NTFS снижает возможность
возникновения фрагментации (например, в многозадачном режиме)
NTFS снижает отрицательное влияние фрагментации
на быстродействие
Слайд 55Дефрагментация NTFS
defrag [-a] [-f] [-v] [-?]
том Буква диска,
или точка подключения (например, d: или d:\vol\mpoint)
-a Только
анализ
-f Дефрагментация даже при ограниченном месте на диске
-v Подробные результаты
-? Вывод справки
Слайд 56Развитие NTFS
Версия NTFS, поставляемая с Windows NT, ограничивает число
разделов 26-ю (диски от A до Z). Кроме того, изменение
раздела всегда требует перезагрузки. К тому же, информация о томах NTFS хранится в реестре, что усложняет использование диска с другой системой.
Проблема была решена в Windows 2000 с помощью Logical Disk Manager (LDM), который больше не требует присвоения букв дискам. Эта система NTFS способна также сохранять информацию о системе на жёстком диске, что решает проблему замены дисков.
Слайд 57Получение справочной информации об NTFS
fsutil fsinfo
---- Поддерживаемые команды FSINFO----
drives
Отображение всех устройств
drivetype Отображение
типа привода для устройств
volumeinfo Отображение информации о томе
ntfsinfo Отображение информации о NTFS
statistics Отображение статистики файловой системы
Слайд 58Оптимизация NTFS
fsutil behavior query {disable8dot3|allowextchar|disablelastaccess|quotanotify|mftzone}
fsutil behavior set [{disable8dot3 {1|0}|allowextchar {1|0}|disablelastaccess
{1|0}|quotanotify частота|mftzone значение}]
Слайд 59Оптимизация NTFS
Отключите обновление сведений о последнем доступе к файлу
fsutil behavior set disablelastaccess 1
Зарезервируйте необходимое пространство для MFT
fsutil
behavior set mftzone <значение>
Отключите создание коротких имен файлов 8.3
fsutil behavior set disable8dot3 1
Слайд 60Полезные советы по спасению данных
Переместите $MFT подальше от начала раздела.
Первые секторы раздела, как показывает практика, самое небезопасное место. Во-первых,
сюда стремятся вирусы (миф о невозможности прямого доступа к диску под NT всего лишь миф - читайте описание функции CreateFile и инструкцию на ASPI32-драйвер), во-вторых, некоторые утилиты (и, в частности, Ahead Nero) при некоторых обстоятельствах путают жесткий диск с оптическим накопителем, записывая образ не "туда", а, значит, в первых ~700 Мбайтах физического диска (не логического тома!) не должно быть ничего ценного, в-третьих, если вы вдруг запустите WipeDisk или любую другую затирающую утилиту, первым погибнет именно $MFT, без которого весь дисковый том - просто груда мусора, в четвертых... да много разных причин можно найти. Просто переместите $MFT. Достаточно взять любой дефрагментатор, распространяющийся в исходных текстах (http://sourceforge.net/projects/opendefrag/).
Не допускайте фрагментации $MFT-файла! Не создавайте на диске огромного количества мелких файлов и не заполняйте его более чем на 90%. Стандартный дефрагментатор, входящий в комплект штатной поставки Windows 2000/XP, не позволяет дефрагментировать $MFT и приходится прибегать к сторонним средствам, одним лучшим из которых является O&O Defrag Pro от одноименной компании (www.oo-software.com).
Периодически создавайте резервную копию файловой записи $MFT - для этого достаточно сохранить один-единственный (!) сектор - первый сектор MFT, номер которого содержится в boot, только не забывайте его периодически обновлять, ведь при добавлении новых файлов/каталогов MFT планомерно расширяется и старые списки отрезков становятся все менее и менее актуальны.
Источник - http://www.insidepro.com/kk/033/033r.shtml
Слайд 62Дополнительная инф-ция
Проект Linux-NTFS. Включает модуль ядра, а также набор утилит
для различных операций с файловыми системами NTFS (проверка целостности, восстановление
удалённых файлов, изменение размера и др.). Именной этот драйвер включается в ядро Linux ещё с версии 2.2 (с тех пор он был практически полностью переписан). Модулем ядра поддерживается практически только чтение (запись — лишь в существующие файлы без изменения их размера), но недавно в рамках проекта утилита ntfsmount, использующая FUSE и позволяющая монтировать NTFS-разделы на запись. Это первый полностью свободный продукт, имеющий такую возможность.
http://www.linux-ntfs.orhttp://www.linux-ntfs.org
Слайд 63Файловая система NTFS
NTFS vs. FAT
Слайд 64Поиск данных файла
NTFS способна обеспечить быстрый поиск фрагментов, поскольку вся
информация хранится в нескольких компактных записях. Если файл очень сильно
фрагментирован – NTFS придется использовать много записей, которые могут храниться в разных местах.
FAT32, из-за большой области самой таблицы размещения будет испытывать огромные трудности, если фрагменты файла разбросаны по всему диску. Для доступа к фрагменту файла в системе FAT16 и FAT32 приходится обращаться к соответствующей ячейке таблицы FAT.
В системе FAT16, где максимальный размер области FAT составляет 128 Кбайт, это не составит проблемы – вся область FAT просто хранится в памяти, или же считывается с диска целиком за один проход и буферизируется. FAT32 же, напротив, имеет типичный размер области FAT порядка сотен килобайт, а на больших дисках – даже несколько мегабайт.
Слайд 65Поиск свободного места
Для определения того, свободен ли данный кластер или
нет, системы на основе FAT должны просмотреть одну запись FAT,
соответствующую этому кластеру. Для поиска свободного места на диске может потребоваться просмотреть почти всего FAT – это 128 Кбайт (максимум) для FAT16 и до нескольких мегабайт (!) – в FAT32. Для того, чтобы не превращать поиск свободного места в катастрофу (для FAT32), ОС приходится идти на различные ухищрения.
NTFS имеет битовую карту свободного места, одному кластеру соответствует 1 бит. Для поиска свободного места на диске приходится оценивать объемы в десятки раз меньшие, чем в системах FAT и FAT32.
Слайд 66Работа с каталогами и файлами
FAT16 и FAT32 имеют очень компактные
каталоги, размер каждой записи которых предельно мал. Работа с каталогами
FAT производится достаточно быстро, так как в подавляющем числе случаев каталог не фрагментирован и находится на диске в одном месте. Единственная проблема – высокая трудоемкость поиска файлов в больших каталогах. Система хранения данных – линейный массив – не позволяет организовать эффективный поиск файлов в таком каталоге.
NTFS использует гораздо более эффективный способ адресации – бинарное дерево. Сам каталог NTFS представляет собой гораздо менее компактную структуру, чем каталог FAT – это связано с гораздо большим (в несколько раз) размером одной записи каталога. Это обстоятельство приводит к тому, что каталоги на томе NTFS могут быть сильно фрагментированы. Размер типичного каталога в FAT укладывается в один кластер, тогда как сотня файлов (и даже меньше) в каталоге на NTFS уже приводит к размеру файла каталога, превышающему типичный размер одного кластера. Это, в свою очередь, может привести к фрагментации файла каталога, и уменьшить положительный эффект от более эффективной организации самих данных.
Слайд 68Итоги
Тома FAT32 могут теоретически быть больше 2 ТБ, но операционные
системы Windows Server 2003, Windows 2000 и Windows XP могут
форматировать диски объемом только до 32 ГБ. (Windows Server 2003, Windows 2000 и Windows XP Professional могут читать и записывать на большие по объему тома FAT32, отформатированные другими операционными системами).
Тома NTFS могут теоретически быть объемом до 16 эксабайт (ЭБ), но практический предел составляет 2 ТБ.
Пользователь может определить размер кластера при форматировании тома NTFS. Однако NTFS-сжатие не поддерживается для кластеров, размер которых больше 4 КБ.