Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
18.08.2022
Размер:
763.26 Кб
Скачать

Файловая система

Файловая система NTFS

Система NTFS (New Technology File System – файловая система новой технологии) представляет собой новую сложную файловую систему, разработанную специально для Windows NT и перенесенную в Windows 2000. Эта файловая система не является попыткой улучшить старую файловую систему MS-DOS.

Длина имени файла в системе NTFS ограничена 255 символами, полная длина пути ограничивается 32 767 символами. Файл в системе NTFS – это не просто линейная последовательность байтов, как файлы в системах FAT-32 и UNIX. Вместо этого файл состоит из множества атрибутов, каждый из которых представляется в виде потока байтов. Большинство файлов имеет несколько коротких потоков, таких как имя файла и его 64-битовый идентификатор, плюс один длинный (неименованный) поток с данными. Однако у файла может быть и несколько длинных потоков данных. У каждого потока своя длина. Каждый поток может блокироваться независимо от остальных потоков. Максимальная длина потока составляет 16 экзабайт (2 в степени 64 байт). Для отслеживания местонахождения процесса в каждом потоке используются 64-разрядные файловые указатели

Что такое журналирование

NTFS - отказоустойчивая система, которая вполне может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком понятии, как транзакция - действие, совершаемое целиком и корректно или не совершаемое вообще. У NTFS просто не бывает промежуточных (ошибочных или некорректных) состояний - квант изменения данных не может быть поделен на до и после сбоя - он либо совершен, либо отменен.

  • Пример 1: осуществляется запись данных на диск. В том месте, куда выполняется записи данных физическое повреждение поверхности. Поведение NTFS: транзакция записи откатывается целиком - система осознает, что запись не произведена. Место помечается как сбойное, а данные записываются в другое место - начинается новая транзакция.

  • Пример 2: отключение питания в момент записи файла. На какой фазе остановилась запись, где есть данные, а где нет? Решение принимается на основании журнала транзакций. В метафайле $LogFile система отмечает намерение произвести запись. При перезагрузке этот файл изучается на предмет наличия незавершенных транзакций, которые были прерваны аварией и результат которых непредсказуем - все эти транзакции отменяются: место, в которое осуществлялась запись, помечается снова как свободное, индексы и элементы MFT приводятся в с состояние, в котором они были до сбоя, и система в целом остается стабильна.

Журналирование - лишь средство существенно сократить число ошибок и сбоев системы. Система восстановления NTFS гарантирует корректность файловой системы, а не данных.

Операции, которые журналируются системой - это операции со структурами самой системы, то есть с файлами и каталогами: добавление файлов, переименование, перенос, создание и удаление. Журналируются также и операции дефрагментации - то есть перемещения фрагментов файлов.

Файловая система ReiserFS

ReiserFS — журналируемая файловая система, разработанная специально для Linux компанией Namesys под руководством Ганса Райзера; этим наименованием обозначают третью версию семейства файловых систем Рейзера (тогда как четвёртую называют Reiser4).

Поддерживается только под Linux. Стала первой журналируемой файловой системой, включённой в ядро Linux (в версии 2.4.1); является основной файловой системой в дистрибутивах Elive, Xandros, Linspire, GoboLinux, Yoper Linux, ранее была основной в SuSE (Enterprise, до октября 2006), Ubuntu, Gentoo, Archlinux, Slackware, также рекомендуется в Calculate Linux. Версии ReiserFS, включённые в ядро Linux старых версий (младше версии 2.4.10), признаны нестабильными компанией Namesys и не рекомендованы для промышленного использования, особенно в связке с NFS.

Для создания структур файловой системы используется команда mkreiserfs.

Система поддерживает конфигурируемое блочное перераспределение — возможность упаковки нескольких небольших файлов в один блок во избежание фрагментации и потери дискового пространства. Из-за сильной потери производительности Namesys рекомендует отключить эту возможность на чувствительных к ресурсам машинах. Также реализовано несколько режимов журналирования (можно подвергать журналированию только метаданные, либо все данные — аналогично Ext3). Важной особенностью системы является возможность изменения размера файловой системы «на лету», без размонтирования тома.

Системные операции для работы с файловой системой

Рис 9 –– Функции для работы с файловой системой и их связь с другими алгоритмами

Логическая организация файла

Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом организованных логических записей. Логическая запись - это наименьший элемент данных, которым может оперировать программист при обмене с внешним устройством. Даже если физический обмен с устройством осуществляется большими единицами, операционная система обеспечивает программисту доступ к отдельной логической записи. Записи могут быть фиксированной длины или переменной длины. Записи могут быть расположены в файле последовательно (последовательная организация) или в более сложном порядке, с использованием так называемых индексных таблиц, позволяющих обеспечить быстрый доступ к отдельной логической записи (индексно-последовательная организация). Для идентификации записи может быть использовано специальное поле записи, называемое ключом. В файловых системах ОС UNIX и MS-DOS файл имеет простейшую логическую структуру - последовательность однобайтовых записей

Оптимизация ФС

CacheSet от Winternals является мини-программой (applet), которая позволяет администраторам сбалансировать использование физической памяти с помощью виртуальной памяти, хранящейся в виде страниц памяти в файловой системе, на гораздо более детальном уровне, чем собственные средства.

Виртуальная файловая система (VFS)

Виртуальная файловая система или виртуальный коммутатор файловой системы — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем. VFS может быть использована для доступа к локальным устройствам и файлам (fat32, ext4, ntfs), сетевым устройствам и файлам на них (nfs), а также к устройствам, не предназначенным для хранения данных (procfs). VFS декларирует программный интерфейс между ядром и драйвером конкретной файловой системой, таким образом, для добавления поддержки новой файловой системы не требуется вносить изменений в ядро операционной системы.

Функция упреждающего чтения

Упреждающее чтение (read ahead) – это стратегия организации ввода-вывода в операционной системе или СУБД, при которой запросы на чтение блоков, расположенных за текущей областью чтения выдаются одновременно с запросами на чтение блоков внутри текущей области чтения.

Контроллер ввода-вывода выполняет поиск и чтение блоков данных асинхронно относительно центрального процессора и генерирует прерывания по завершении операции. Если известно, что блоки, расположенные за текущей областью чтения будут впоследствии прочитаны с большой вероятностью, то запросы на их чтение могут быть выданы одновременно с запросами на чтение блоков, располеженных в текущей области чтения.

По завершении упреждающего чтения данные блока помещаются в буфер сверхопертивной памяти (кэш) и сразу же становятся доступны читающему процессу (процессам).

Понятие «логический диск»

Логический диск или том — часть долговременной памяти компьютера, рассматриваемая как единое целое для удобства работы. Термин «логический диск» используется в противоположность «физическому диску», под которым рассматривается память одного конкретного дискового носителя.

Шифрующая файловая система (Encrypting File System, EFS)

EFS использует архитектуру Windows CryptoAPI. В ее основе лежит технология шифрования с открытым ключом. Для шифрования каждого файла случайным образом генерируется ключ шифрования файла. При этом для шифрования файла может применяться любой симметричный алгоритм шифрования. В настоящее же время в EFS используется один алгоритм, это DESX, являющийся специальной модификацией широко распространенного стандарта DES.

Ключи шифрования EFS хранятся в резидентном пуле памяти (сама EFS расположена в ядре Windows 2000), что исключает несанкционированный доступ к ним через файл подкачки.

Процесс шифрования происходит так: Незашифрованный файл пользователя шифруется при помощи случайно сгенерированного ключа FEK. Этот ключ записывается вместе с файлом, файл дешифруется при помощи общего ключа пользователя (записанного в DDF), а также при помощи общего ключа агента восстановления (записанного в DRF).

Процесс дешифрования происходит так: Сначала используется личный ключ пользователя для дешифрации FEK — для этого используется зашифрованная версия FEK, которая хранится в DDF. Расшифрованный FEK используется для поблочного дешифрования файла. Если в большом файле блоки считываются не последовательно, то дешифруются только считываемые блоки. Файл при этом остается зашифрованным.

Распределенная файловая система

Это список файловых систем и сетевых протоколов, эмулирующих работу файловой системы, с небольшим описанием. Чтобы узнать более, вы можете пройти по соответствующей ссылке.

Некоторые старые системы поддерживали только одну файловую систему, которая была включена в состав операционной системы и не имела какого-то определенного названия. Такие файловые системы могут отсутствовать в данном списке.

Соседние файлы в папке ОС Богомолов