Operating System Transactions
نویسندگان
چکیده
Applications must be able to synchronize accesses to operating system resources in order to ensure correctness in the face of concurrency and system failures. System transactions allow the programmer to specify updates to heterogeneous system resources with the OS guaranteeing atomicity, consistency, isolation, and durability (ACID). System transactions efficiently and cleanly solve persistent concurrency problems that are difficult to address with other techniques. For example, system transactions eliminate security vulnerabilities in the file system that are caused by time-of-checkto-time-of-use (TOCTTOU) race conditions. System transactions enable an unsuccessful software installation to roll back without disturbing concurrent, independent updates to the file system. This paper describes TxOS, a variant of Linux 2.6.22 that implements system transactions. TxOS uses new implementation techniques to provide fast, serializable transactions with strong isolation and fairness between system transactions and non-transactional activity. The prototype demonstrates that a mature OS running on commodity hardware can provide system transactions at a reasonable performance cost. For instance, a transactional installation of OpenSSH incurs only 10% overhead, and a non-transactional compilation of Linux incurs negligible overhead on TxOS. By making transactions a central OS abstraction, TxOS enables new transactional services. For example, one developer prototyped a transactional ext3 file system in less than one month.
منابع مشابه
Solving Difficult HTM Problems Without Difficult Hardware
There are several classes of operations, including I/O and memory allocation, that are considered difficult to perform as part of a transaction. To allow such operations inside of transactions, previous hardware transactional memory systems have proposed additional mechanisms such as opennested transactions that use hardware management of software handlers. Open-nested transactions are not nece...
متن کاملTransmission loss allocation using combined game theory and artificial neural network
An artificial neural network based method is suggested for allocation of transmission loss in a deregulated power system involving bilateral contract based power transactions between power suppliers and the distribution companies. The proposed method allocates transmission losses to operating transactions on the basis of Shapley value game theoretic approach. For this, bilateral transactions fo...
متن کاملImplementing a Distributed Real-Time Database Manager
Conventional database systems are typically not used in time-critical applications due to poor performance and lack of predictability. Compared with uaditional databases, database systems for such applications have the distinct feature that they must satisfy timing constraints associated with transactions. Transactions in real-time database systems should be scheduled considering both data cons...
متن کاملCharacterization of Bus Transactions for Specweb96 Benchmark
In this Chapter, we have characterized the bus traffic generated by the SPECweb96 benchmark in a four-processor SMP system with NT/4 operating system. We observe that the benchmark is very network intensive, in terms of computation and bandwidth consumption. The study shows that the transactions across the four processors are well balanced and do not have any long-range dependencies. There is a...
متن کاملThe Design and the Implementation of a Dostp - a Distributed Object Oriented System Based on Transactions Processing
This paper presents an experimental object oriented system that provides operating system level support for distributed transactions that operate on share objects. Transactions are a common construct that distributed programming environments provide in order to maintain the consistency of distributed information in the presence of partial failure and concurrency. The goal of constructing a tran...
متن کامل