Транзакционная NTFS (сокращенно TxF [1] ) — компонент, представленный в Windows Vista и присутствующий в более поздних версиях операционной системы Microsoft Windows , который привносит концепцию атомарных транзакций в файловую систему NTFS , позволяя разработчикам приложений Windows писать процедуры вывода файлов, которые гарантированно либо полностью завершатся успешно, либо полностью потерпят неудачу. [2] Основные компоненты операционной системы, включая System Restore , Task Scheduler и Windows Update , полагаются на TxF для обеспечения стабильности. [1] Во время разработки Windows Vista WinFS также полагалась на TxF для хранения файлов. [3]
Из-за сложности и различных нюансов, которые разработчикам необходимо учитывать при разработке приложений, Microsoft объявила TxF устаревшим и заявила, что он может быть удален в будущей версии Windows. [4] Microsoft настоятельно рекомендовала разработчикам изучить возможность использования альтернативных вариантов вместо принятия платформы API транзакций NTFS, которая может быть недоступна в будущих версиях Windows. [2]
Транзакционная NTFS позволяет атомарно создавать, изменять, переименовывать и удалять файлы и каталоги. Использование транзакций обеспечивает корректность работы; в серии файловых операций (выполняемых как транзакция) операция будет зафиксирована, если все операции выполнены успешно. В случае любого сбоя вся операция будет откачена и завершится неудачей.
Транзакционная NTFS реализована поверх Kernel Transaction Manager , компонента ядра Windows, представленного в Windows Vista, который обеспечивает транзакции объектов в ядре. [1] Файловая система NTFS уже поддерживает ведение журнала низкоуровневых операций, таких как запись блока данных. Транзакционная NTFS расширяет эту возможность, включая:
За исключением операций чтения, использование транзакционной NTFS для транзакций с файлами шифрованной файловой системы не поддерживается в Windows Vista до выхода пакета обновления 1 и Windows Server 2008. [ 5]
настоятельно рекомендует разработчикам использовать альтернативные средства для достижения потребностей вашего приложения. Многие сценарии, для которых был разработан TxF, могут быть достигнуты с помощью более простых и доступных методов. Кроме того, TxF может быть недоступен в будущих версиях Microsoft Windows.