LHS Feature Of The Week #4 - Kernel Transaction Manager

Hello everyone, and welcome back to the “Feature Of The Week” newsletter. As mentioned last week, this week we will look at the component that enables new technologies like Transactional NTFS and the Transactional Registry in Vista and Longhorn Server: the Kernel Transaction Manager.

What is the Kernel Transaction Manager? The Kernel Transaction Manager (KTM) is a transaction management service. It makes transactions available as kernel objects and provides transaction management services to system components such as Transactional NTFS (TxF).

KTM is scalable; it will work on both large-scale applications and small-scale applications. KTM provides isolation across all types of operations, allowing a consistent view of data. You can use the transaction scope to “bracket” the sections of your application, providing atomicity for some operations and not others. KTM helps with concurrency problems. It does not affect performance, and it is available everywhere. KTM can be used to provide transactions for file management scripts and backups. During backups, KTM can provide a consistent snapshot between the registry, file system, and databases.

What scenarios does this enable? The Kernel Transaction Manager enables the development of applications that use transactions. The transaction engine itself is within the kernel, but transactions can be developed for kernel- or user-mode transactions, and within a single host or among distributed hosts. Transaction-aware applications have complete flexibility in the granularity with which they use transactions. For example, it is possible for an application to access some files under transactional control and access others using operations that are not part of a transaction.

Resources