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