Since the early days, academic work has focused largely on esoteric issues of extensions to the flat transaction model. Little of this has found practical use. Background Transactions are concepts that allow a system to guarantee certain semantic properties. These guarantees must be rigorously defined so that people can build correct systems above them. We'll see this again when we talk about high availability.
Theory meets practice here in a very significant way.
It is the responsibility of higher level actions to check on these if they want to be sure. Programmer needn't worry about partial states persisting. We want to allow multiple transactions to operate concurrently. 2 schedules are conflict equivalent if they have the same actions, and each pair of conflicting actions is ordered the same way. A schedule is conflict serializable if and only if its serializability graph is acyclic.