Транзакционная NTFS

Транзакционная NTFS

Транзакционная NTFS (TxF) — технология в Windows Vista и последующих операционных системах, позволяющая производить файловые операции на разделе с файловой системой NTFS при помощи транзакций, обеспечивая поддержку семантики атомарности, согласованности, изолированности и надёжности (ACID). Технология позволяет производить атомарные операции над файлом, над несколькими файлами и над несколькими источникам данных, такими как реестр и базы данных. Технология призвана повышать надёжность создаваемых приложений, способствуя поддержанию целостности данных, и упрощать их разработку, благодаря значительному уменьшению количества кода обработки ошибок.

Менеджер транзакций

Менеджер транзакций ядра (KTM) реализует транзакционную NTFS и транзакционный реестр (TxR). Для разработки приложений, выполняющих транзакции с иными ресурсами, необходимо разработать сервис поддержки транзакций, также называемый менеджером ресурсов. Приложения COM+ должны использовать свой нативный менеджер транзакций.

Менеджер транзакций ядра может работать непосредственно с координатором распределённых транзакций (DTC), что даёт возможность приложениям, работающим с DTC, объединять транзакционные файловые операции с операциями других транзакционных технологий в одну транзакцию.

Программный интерфейс

Типичное использование транзакционной NTFS состоит из следующих шагов:

  • создание транзакции;
  • получение дескриптора файла (все операции с использованием данного дескриптора будут транзакционными);
  • внесение изменений в файл или файлы;
  • закрытие всех файловых дескрипторов;
  • подтверждение или откат транзакции.

Для операций, работающих с дескрипторами используются обычные файловые функции Win32 API (например, WriteFile). Для операций, использующих имена файлов, имеются явные транзакционные функции.

Некоторые транзакционные функции
Транзакционная функция Нетранзакционный аналог Описание
CreateTransaction Создание транзакции
CreateFileTransacted CreateFile Создание (открытие) файла
CopyFileTransacted CopyFileEx Копирование файла
MoveFileTransacted MoveFileWithProgress Перемещение файла или каталога
DeleteFileTransacted DeleteFile Удаление файла
CreateDirectoryTransacted CreateDirectoryEx Создание каталога
RemoveDirectoryTransacted RemoveDirectory Удаление каталога
RollbackTransaction Откат транзакции
CommitTransaction Фиксация транзакции

Другим способом является использование TxF через DTC. Для этого необходимо:

  • открыть менеджер транзакций (DTC), создать транзакцию;
  • из интерфейса DTC ITransaction получить интерфейс IKernelTransaction;
  • получить дескриптор транзакции KTM и использовать его в последующих транзакционных файловых операциях;
  • подтвердить или откатить транзакцию DTC.

Однако, Microsoft настоятельно не рекомендует разработчикам использовать TxF в приложениях и предупреждает, что технология может быть недоступна в будущих версиях Microsoft Windows.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Транзакционная NTFS" в других словарях:

  • Список файловых систем — Это список файловых систем (ФС) и сетевых протоколов, эмулирующих работу файловой системы, с небольшим описанием. Чтобы узнать более, вы можете пройти по соответствующей ссылке. Некоторые старые системы поддерживали только одну файловую систему,… …   Википедия

  • Сравнение файловых систем — Пожалуйста, улучшите и дополните этот раздел. Замечания о том, что нужно у …   Википедия

  • Снимок файловой системы — или снапшот (от англ. SnapShot, [мгновенный снимок])  моментальный снимок, копия файлов и директорий файловой системы на определённый момент времени. Содержание 1 Описание 2 Реализация …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»