Providing Recoverability in a Transaction Oriented Distributed Operating System