Операционные системы Лаб.работа №2(Файловые системы ОС Windows) (1069353), страница 3
Текст из файла (страница 3)
д. Смежные выделенные блоки образуютсерию.Длина серии - это количество блоков в серии. .Каждая сериязаписывается в записи MFT в виде пары (дисковый адрес начала серии,количество блоков). Число таких серий зависит от того, насколько удачнопроцедура предоставления дискового пространства сумела найти место дляхранения файла при его создании. Для файла, состоящего из n блоков,количество серий может быть любым от 1 до п.Для каждой пары требуется два 64-разрядных числа, что составляет 16байтнапару,Однакооднапараможетуказыватьнамиллионпоследовательных блоков.
Например, 20-мегабайтный файл, состоящий из 20сегментов по 1 млн. килобайтных блоков каждый, легко может быть описанвсего одной записью MFT.Если файл окажется настолько велик, или настолько фрагментированодисковое пространство, что информация о блоках не поместится в однузапись MFT , используются две или более записей MFT.запись содержит адреса записей расширенияТогда базоваяОперационные системы Лаб.работа №2(Файловые системы ОС Windows)13Если потребуется так много записей MFT, что в базовой записи непоместятся все индексы записей расширений, то список записей MFTделается нерезидентным (то есть хранится отдельно, в зоне для размещенияфайлов и каталогов а не в базовой записи MFT).
В этом случае его размеруже ничем не ограничен.Поиск файла в каталоге по имени состоит в последовательном переборевсех имен файлов. Для больших каталогов используется другой формат.Вместо того чтобы линейно перечислять файлы, используется дерево В+,обеспечивающее поиск в алфавитном порядке и упрощающее добавление вкаталог новых имен в соответствующие места.2.3.7 Сжатие файловФайловая система NTFS поддерживает прозрачное сжатие файлов.Файл может быть создан в сжатом режиме. Это означает, что файловаясистема NTFS будет автоматически пытаться сжать блоки этого файла призаписи их на диск и автоматически распаковывать их при чтении. Процессы,читающие этот файл или пишущие в него, не будут знать о том, что при этомпроисходит компрессия или декомпрессия данных.Сжатие данных файла происходит следующим образом. Когдафайловая система NTFS записывает на диск файл, помеченный для сжатия,она анализирует первые 16 блоков файла(необязательно смежных).Затем кэтим блокам применяется алгоритм сжатия.
Если полученные на выходеблоки могут поместиться в 15 или менее блоков, то сжатые данныезаписываются на диск, предпочтительно в виде одной серии. Если получитьвыигрыш хотя бы в один блок не удается, то данные 16 блоков так изаписываются в несжатом виде.
Затем весь алгоритм повторяется дляследующих 16 блоков и т. д.2.3.8 Шифрование файловВ операционных системах Windows проблемы несанкционированногодоступа к данным решаются при помощи возможности шифрования файлов.Чтобы использовать шифрование в операционной системе Windowsнужно пометить каталог как зашифрованный, в результате чего будутОперационные системы Лаб.работа №2(Файловые системы ОС Windows)14зашифрованы все файлы в этом каталоге, а все новые файлы, перемещенныев этот каталог или созданные в нем, также будут зашифрованы.Само шифрование и дешифрование выполняется не файловой системойNTFS, а специальным драйвером EFS (Encrypting File System — шифрующаяфайловая система), размещающимся между NTFS и пользовательскимпроцессом.
Таким образом, прикладная программа не знает о шифровании, асама файловая система NTFS только частично вовлечена в этот процесс.Когда пользователь сообщает системе, что хочет зашифроватьопределенный файл, формируется случайный 128-разрядный ключ.Ключ используется для поблочного шифрования файла с помощьюсимметричного алгоритма, параметром в котором используется этот ключ.Каждый новый шифруемый файл получает новый случайный 128разрядный ключ, так что никакие два файла не используют один и тот жеключ шифрования, что увеличивает защиту данных в случае, если какойлибо из ключей окажется скомпрометированным.Применяемыйвнастоящиймоменталгоритмшифрованияпредставляет собой вариант стандартного алгоритма DES (Data EncryptionStandard—стандартшифрованияданных),ноархитектураEFSподдерживает добавление новых алгоритмов в будущем. Независимоешифрование каждого блока файла необходимо для сохранения возможностипроизвольного доступа к блокам файла.Чтобы файл мог быть впоследствии расшифрован, ключ файла долженгде-то храниться.
Ключи файлов сами должны храниться на диске взашифрованном виде. Для этого используется шифрование с открытымключом.После того как файл зашифрован, система с помощью информации всистемном реестре ищет расположение открытого ключа пользователя.Открытый ключ можно без каких-либо опасений хранить прямо в реестре,так как по открытому ключу невозможно определить закрытый ключ,необходимый для расшифровки файлов. Затем случайный 128-разрядныйОперационные системы Лаб.работа №2(Файловые системы ОС Windows)15ключ файла шифруется открытым ключом, а результат сохраняется на дискевместе с файлом.Чтобы расшифровать файл, с диска считывается зашифрованныйслучайный 128-разрядный ключ файла.
Однако для его расшифровкинеобходим закрытый ключ. Когда пользователь в первый раз зашифровываетфайл с помощью системы EFS, операционная система Windows формируетпару ключей (закрытый ключ, открытый ключ) и сохраняет закрытый ключ,зашифрованный при помощи симметричного алгоритма шифрования, надиске. Ключ для этого симметричного алгоритма формируется либо изпароля пользователя для регистрации в системе, либо из ключа, хранящегосяна смарт-карте, если регистрация при помощи смарт-карты разрешена.Таким образом, система EFS может расшифровать закрытый ключ вовремя регистрации пользователя в системе и хранить его в своемвиртуальном адресном пространстве во время работы, чтобы иметьвозможностьрасшифровывать128-разрядныеключифайловбездополнительного обращения к диску.
Когда компьютер выключается,закрытый ключ стирается из виртуального адресного пространства системыEFS.Сложностивозникаюттогда,когданесколькимпользователямтребуется доступ к одному и тому же зашифрованному файлу. В настоящиймомент совместное использование зашифрованных файлов несколькимипользователями не поддерживается. Однако в будущем архитектура EFSможет поддержать совместное использование, если ключ шифрования файлабудетзашифровыватьсянесколькораз,отдельнодлякаждогоавторизованного пользователя, его закрытым ключом. Все зашифрованныеверсии ключа могут добавляться к файлу.Потенциальнаяпотребностьвсовместномиспользованиизашифрованных файлов является одной из причин, по которой применяетсятакая двухуровневая система ключей.
Если бы все файлы зашифровывалисьключами владельцев файлов, то совместное использование зашифрованныхОперационные системы Лаб.работа №2(Файловые системы ОС Windows)16файлов было бы невозможным. Эта проблема может быть решена, если длязашифровки каждого файла использовать отдельный ключ.Схема с использованием случайных ключей для шифрования файлов,но с шифрованием самих ключей при помощи симметричного алгоритмашифрования не будет работать.
Проблема в том, что наличие симметричногоключа, хранящегося на диске в открытом виде, разрушит всю системузащиты — сформировать ключ дешифрации по ключу шифрования слишкомлегко. Таким образом, медленное шифрование с открытым ключом требуетсядля шифрования ключей файлов.Поскольку ключи шифрования все равно являются открытыми,хранение их в открытом виде не представляет опасности.Вторая причина использования двухуровневой системы ключейзаключаетсявпроизводительности.Использованиекриптографиисоткрытым ключом для шифрования файлов было бы слишком медленным.Дляповышенияэффективностишифрованиесоткрытымключомприменяется лишь для зашифровки коротких 128-разрядных ключей файлов,тогда как для шифрования самих файлов используется симметричныйалгоритм.2.3.9 Квотирование дисков.Администраторможетиспользуемоедляхраненияограничитьфайлов,дисковоепринадлежащихпространство,некоторомупользователю и расположенных на некотором томе.
Существует три уровняквотирования:Off (выключено),Tracking (слежение за использованием дискового пространства)Enforced (ограничение в случае превышения квоты).Используя этот механизм, можно следить за тем, как пользователисистемы используют дисковое пространство. Кроме того, можно ограничитьдисковое пространство, используемое тем или иным пользователем. В случаепревышения пользователем порога предупреждения или выделенной квоты вОперационные системы Лаб.работа №2(Файловые системы ОС Windows)17файл журнала автоматически вносится сообщение об этом. Включив системуквотирования, администратор получает возможность установить значениядвух параметров:Предельная квота (Quota limit).
Максимальный допустимый объемдисковогопространства,которыйразрешаетсяиспользоватьпользователю.Порог предупреждений (Quota warning threshold). Если суммарныйразмер файлов, принадлежащих пользователю, превысит данноезначение, пользователь получит предупреждение об этом.Администратор может блокировать дальнейшее выделение дисковогопространства пользователям, которые превысили выделенную им квоту. Еслисоответствующий флажок установлен, израсходовав дисковое пространство врамках выделенной ему квоты, пользователь не сможет записать на томновые данные.
В этом случае для того, чтобы получить возможность записиданных на том, пользователь должен либо удалить часть принадлежащих емуфайлов, либо переместить какие-либо принадлежащие ему файлы на другойтом.Механизмквотированиядисковнадежениэффективен.Привычислении объема дискового пространства, занятого файлами пользователя,учитываются особенности функционирования таких систем, как RemoteStorage (Внешние хранилища) и разряженные файлы (sparse files). Такимобразом, можно эффективно использовать квотирование дисков длякорректного контроля за использованием свободного пространства дисковWindows.Этот механизм обладает некоторыми недостатками. Прежде всего,следует учитывать, что квотирование выполняется в отношении данныхконкретного пользователя, расположенных на конкретном томе, такимобразом, нельзя установить глобальную квоту на использование дисковогопространства всех дисков компьютера.Операционные системы Лаб.работа №2(Файловые системы ОС Windows)18Windows позволяет устанавливать квоты для каждого тома вотдельности.